这题倒是在树形dp的基础上添加了一些操作,但是做好预处理之后跟模板就差不多了

#include<cstdio>
#include<cstring>
#define neko 100010
#define chkmin(a,b) ((a)<(b)?(a):(b))
#define f(i,a,b) for(register int i=(a);i<=(b);i=-(~(i)))
int n,a[neko],b[neko],c[neko],dfn[neko],son[neko][2];
long long dp[110][50][50];
void dfs(int u,int now,int rd,int tr)
{dfn[u]=now;if(u>=n)//countries are leaves{//  memset(dp[dfn[u]],0,sizeof(dp[dfn[u]]));f(i,0,rd)f(j,0,tr)dp[dfn[u]][i][j]=1ll*c[u]*1ll*(a[u]+i)*1ll*(b[u]+j);return;}dfs(son[u][0],now+1,rd+1,tr),dfs(son[u][1],now+2,rd,tr+1);f(i,0,rd)f(j,0,tr)dp[dfn[u]][i][j]=chkmin(dp[dfn[son[u][0]]][i][j]+dp[dfn[son[u][1]]][i][j+1],dp[dfn[son[u][0]]][i+1][j]+dp[dfn[son[u][1]]][i][j]);
}
int main()
{int x,y;scanf("%d",&n);f(i,1,n-1){scanf("%d%d",&x,&y),x=(x<0)?(-x+n-1):x,y=(y<0)?(-y+n-1):y;son[i][0]=x,son[i][1]=y;}f(i,0,n-1)scanf("%d%d%d",&a[i+n],&b[i+n],&c[i+n]);dfs(1,1,0,0),printf("%lld\n",dp[dfn[1]][0][0]);return 0;
}

  

转载于:https://www.cnblogs.com/hahaha2124652975/p/11243505.html

P4438 [HNOI/AHOI2018]道路相关推荐

  1. luogu P4438 [HNOI/AHOI2018]道路

    题目传送门:https://www.luogu.org/problemnew/show/P4438 题意: 有n-1个点为城市,n-1个点为农村,每个城市连出两种道路,一边为公路,一边为铁路.现在每一 ...

  2. BZOJ5290 洛谷4438:[HNOI/AHOI2018]道路——题解

    https://www.lydsy.com/JudgeOnline/problem.php?id=5290 https://www.luogu.org/problemnew/show/P4438 的确 ...

  3. 洛谷4438 [HNOI/AHOI2018]道路

    标签:树形DP 题目 题目传送门 题目描述 W 国的交通呈一棵树的形状.W 国一共有n−1n - 1n−1个城市和nnn个乡村,其中城市从111到n−1n - 1n−1 编号,乡村从111到nnn编号 ...

  4. Luogu 4438 [HNOI/AHOI2018]道路

    $dp$. 这道题最关键的是这句话: 跳出思维局限大胆设状态,设$f_{x, i, j}$表示从$x$到根要经过$i$条公路,$j$条铁路的代价,那么对于一个叶子结点,有$f_{x, i, j} = ...

  5. [HNOI 2014]道路堵塞

    Description A国有N座城市,依次标为1到N.同时,在这N座城市间有M条单向道路,每条道路的长度是一个正整数.现在,A国 交通部指定了一条从城市1到城市N的路径,并且保证这条路径的长度是所有 ...

  6. HNOI/AHOI2018题解

    作为一名高二老年选手来补一下我省去年的省选题. D1T1:寻宝游戏 按顺序给出\(n\)个\(m\)位的二进制数\(a_i\),再在最前方添一个\(0\), 给出\(q\)次询问,每次询问给出一个同样 ...

  7. BZOJ5286:[HNOI/AHOI2018]转盘——题解

    https://www.lydsy.com/JudgeOnline/problem.php?id=5286 https://www.luogu.org/problemnew/show/P4425 ht ...

  8. BZOJ5289 洛谷4437:[HNOI/AHOI2018]排列——题解

    https://www.lydsy.com/JudgeOnline/problem.php?id=5289 https://www.luogu.org/problemnew/show/P4437 考虑 ...

  9. BZOJ5286 HNOI/AHOI2018转盘(分块/线段树)

    显然最优走法是先一直停在初始位置然后一次性走完一圈.将序列倍长后,相当于找一个长度为n的区间[l,l+n),使其中ti+l+n-1-i的最大值最小.容易发现ti-i>ti+n-(i+n),所以也 ...

最新文章

  1. 卷积神经网络学习笔记与心得(4)池化
  2. Smokeping图表参数说明
  3. mac git安装及github配置
  4. 解决 IntelliJ IDEA 安装后界面消失,再次打开后界面不动
  5. linux手机用什么购物支付,商城系统的微信支付应该如何配置?
  6. 在Ubuntu中部署并测试Fabric 1.0 Beta
  7. js返回上一页的实现方法
  8. 12. Element attributes 属性
  9. 南开计算机考研难么,我的一点考研心得
  10. 哪些客户群体适合使用云服务器?
  11. bert tensorflow2 serving部署
  12. MinGW 和 MSYS
  13. ios 图片加载内存尺寸_iOS内存分析上-图片加载内存分析
  14. JL-03-Q9 自动气象站 常见气象9参数 空气温湿度 风速风向 雨量光照 大气压力 土壤温湿度
  15. Wannafly挑战赛11 A B D【规律+逆元+字符串hash】
  16. 未来偶像的硬件破局:为爱买单,不为 AI 买单
  17. d如何及为什么探测器
  18. PHP 处理多重数组
  19. hibernate的官方网站
  20. wpa-supplicant移植

热门文章

  1. css弹性布局实现水平居中对齐
  2. ipad怎样分屏_【工具】ZotExpert:实现iPad文献管理的无缝同步
  3. UGUI的Text描边Outline拓展
  4. mysql与access_mysql和access的区别是什么?
  5. 如何在 django中安装vue
  6. android屏蔽系统按键精灵,安卓按键精灵的,关闭app程序问题!
  7. 什么?AI黑白图像能够自动上色?
  8. 你女朋友都能看懂的“三握四挥”
  9. Android开发启示
  10. Centos8.2安装配置 VNC 远程桌面Xfce、解决输入法VNC无法使用的问题、解决浏览器无法播放视频的问题