P4438 [HNOI/AHOI2018]道路
这题倒是在树形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]道路相关推荐
- luogu P4438 [HNOI/AHOI2018]道路
题目传送门:https://www.luogu.org/problemnew/show/P4438 题意: 有n-1个点为城市,n-1个点为农村,每个城市连出两种道路,一边为公路,一边为铁路.现在每一 ...
- BZOJ5290 洛谷4438:[HNOI/AHOI2018]道路——题解
https://www.lydsy.com/JudgeOnline/problem.php?id=5290 https://www.luogu.org/problemnew/show/P4438 的确 ...
- 洛谷4438 [HNOI/AHOI2018]道路
标签:树形DP 题目 题目传送门 题目描述 W 国的交通呈一棵树的形状.W 国一共有n−1n - 1n−1个城市和nnn个乡村,其中城市从111到n−1n - 1n−1 编号,乡村从111到nnn编号 ...
- Luogu 4438 [HNOI/AHOI2018]道路
$dp$. 这道题最关键的是这句话: 跳出思维局限大胆设状态,设$f_{x, i, j}$表示从$x$到根要经过$i$条公路,$j$条铁路的代价,那么对于一个叶子结点,有$f_{x, i, j} = ...
- [HNOI 2014]道路堵塞
Description A国有N座城市,依次标为1到N.同时,在这N座城市间有M条单向道路,每条道路的长度是一个正整数.现在,A国 交通部指定了一条从城市1到城市N的路径,并且保证这条路径的长度是所有 ...
- HNOI/AHOI2018题解
作为一名高二老年选手来补一下我省去年的省选题. D1T1:寻宝游戏 按顺序给出\(n\)个\(m\)位的二进制数\(a_i\),再在最前方添一个\(0\), 给出\(q\)次询问,每次询问给出一个同样 ...
- BZOJ5286:[HNOI/AHOI2018]转盘——题解
https://www.lydsy.com/JudgeOnline/problem.php?id=5286 https://www.luogu.org/problemnew/show/P4425 ht ...
- BZOJ5289 洛谷4437:[HNOI/AHOI2018]排列——题解
https://www.lydsy.com/JudgeOnline/problem.php?id=5289 https://www.luogu.org/problemnew/show/P4437 考虑 ...
- BZOJ5286 HNOI/AHOI2018转盘(分块/线段树)
显然最优走法是先一直停在初始位置然后一次性走完一圈.将序列倍长后,相当于找一个长度为n的区间[l,l+n),使其中ti+l+n-1-i的最大值最小.容易发现ti-i>ti+n-(i+n),所以也 ...
最新文章
- 卷积神经网络学习笔记与心得(4)池化
- Smokeping图表参数说明
- mac git安装及github配置
- 解决 IntelliJ IDEA 安装后界面消失,再次打开后界面不动
- linux手机用什么购物支付,商城系统的微信支付应该如何配置?
- 在Ubuntu中部署并测试Fabric 1.0 Beta
- js返回上一页的实现方法
- 12. Element attributes 属性
- 南开计算机考研难么,我的一点考研心得
- 哪些客户群体适合使用云服务器?
- bert tensorflow2 serving部署
- MinGW 和 MSYS
- ios 图片加载内存尺寸_iOS内存分析上-图片加载内存分析
- JL-03-Q9 自动气象站 常见气象9参数 空气温湿度 风速风向 雨量光照 大气压力 土壤温湿度
- Wannafly挑战赛11 A B D【规律+逆元+字符串hash】
- 未来偶像的硬件破局:为爱买单,不为 AI 买单
- d如何及为什么探测器
- PHP 处理多重数组
- hibernate的官方网站
- wpa-supplicant移植
热门文章
- css弹性布局实现水平居中对齐
- ipad怎样分屏_【工具】ZotExpert:实现iPad文献管理的无缝同步
- UGUI的Text描边Outline拓展
- mysql与access_mysql和access的区别是什么?
- 如何在 django中安装vue
- android屏蔽系统按键精灵,安卓按键精灵的,关闭app程序问题!
- 什么?AI黑白图像能够自动上色?
- 你女朋友都能看懂的“三握四挥”
- Android开发启示
- Centos8.2安装配置 VNC 远程桌面Xfce、解决输入法VNC无法使用的问题、解决浏览器无法播放视频的问题