【题解】 [HNOI/AHOI2018]道路 (动态规划)
Solution:
- \(dp[i][j][k]\)以\(i\)为子树根节点,到根节点中有\(j\)条公路没修,\(k\)条铁路没修,存子树不便利和
- \(dp[i][j][k]=min(dp[ls][j-1][k]+dp[rs][j][k] , dp[ls][j][k]+dp[rs][j+1][k])\),这个式子其实不难但我感觉也不简单qwq
- 就这样没了
Code:
//It is coded by Ning_Mew on 4.17
#include<bits/stdc++.h>
#define LL long long
using namespace std;
const int maxn=2e4+7;
int n;
struct Node{
int l,r;LL a,b,c;LL dp[40][40];
Node(){l=r=a=b=c=0;memset(dp,0LL,sizeof(dp));}
}node[maxn*2];
void dfs(int u){
if(u>n)return;
int ls=node[u].l,rs=node[u].r;
dfs(ls);dfs(rs);
for(int i=0;i<=39;i++){
for(int j=0;j<=39;j++){
node[u].dp[i][j]=min(node[ls].dp[i+1][j]+node[rs].dp[i][j] , node[rs].dp[i][j+1]+node[ls].dp[i][j]);
}
}return;
}
int main(){
scanf("%d",&n);
for(int i=1;i<=n-1;i++){
int x,y;scanf("%d%d",&x,&y);
if(x<0)x=-x+n;if(y<0)y=-y+n;
node[i].l=x;node[i].r=y;
}
for(int i=n+1;i<=n+n;i++){
LL a,b,c;scanf("%lld%lld%lld",&a,&b,&c);
node[i].a=a;node[i].b=b;node[i].c=c;
for(int j=0;j<=39;j++){
for(int k=0;k<=39;k++){
node[i].dp[j][k]=c*(a+j)*(b+k);
}
}
}
dfs(1);
printf("%lld\n",node[1].dp[0][0]);
return 0;
}
【题解】 [HNOI/AHOI2018]道路 (动态规划)的更多相关文章
- 【题解】Luogu P4438 [HNOI/AHOI2018]道路
原题传送门 实际就是一道简单的树形dp 设f[u][i][j]表示从根结点到结点u经过i条未翻修公路,j条未翻修铁路的贡献最小值 边界条件:f[leaf][i][j]=(A+i)(B+j)C (题目上 ...
- BZOJ5290 & 洛谷4438:[HNOI/AHOI2018]道路——题解
https://www.lydsy.com/JudgeOnline/problem.php?id=5290 https://www.luogu.org/problemnew/show/P4438 的确 ...
- [HNOI/AHOI2018]道路
Description: W 国的交通呈一棵树的形状.W 国一共有\(n - 1\)个城市和\(n\)个乡村,其中城市从\(1\)到\(n - 1\) 编号,乡村从\(1\)到\(n\)编号,且\(1 ...
- 洛谷P4438 [HNOI/AHOI2018]道路(dp)
题意 题目链接 Sol 每当出题人想起他出的HNOI 2018 Day2T3,他都会激动的拍打着轮椅 读题比做题用时长系列... \(f[i][a][b]\)表示从根到\(i\)的路径上,有\(a\) ...
- P4438 [HNOI/AHOI2018]道路
辣稽题目 毁我青春 耗我钱财. 设\(f[x][i][j]\)为从1号点走到x点经过i条公路j条铁路,子树的最小代价. \(f[leaf][i][j]=(A+i)(B+j)C\) \(f[x][i][ ...
- Luogu 4438 [HNOI/AHOI2018]道路
$dp$. 这道题最关键的是这句话: 跳出思维局限大胆设状态,设$f_{x, i, j}$表示从$x$到根要经过$i$条公路,$j$条铁路的代价,那么对于一个叶子结点,有$f_{x, i, j} = ...
- Luogu P4438 [HNOI/AHOI2018]道路
题目 注意到\(n\)不大并且深度不大. 记\((u,ls_u)\)为\(L\)边,\((u,rs_u)\)为\(r\)边. 所以我们可以设\(f_{p,i,j}\)表示从根到\(p\)有\(i\)条 ...
- 题解 [HNOI/AHOI2018]毒瘤
题目传送门 题目大意 给出一个 \(n\) 个点 \(m\) 条边的无向图,问有多少个点集满足点集中任意两点均不存在边相连. \(n\le 10^5,m-n\le 10\),答案对 \(9982443 ...
- 【题解】Luogu P4436 [HNOI/AHOI2018]游戏
原题传送门 \(n^2\)过百万在HNOI/AHOI2018中真的成功了qwqwq 先将没门分格的地方连起来,枚举每一个块,看向左向右最多能走多远,最坏复杂度\(O(n^2)\),但出题人竟然没卡(建 ...
随机推荐
- 安装Jenkins服务
1.下载Jenkins 下载地址:https://jenkins.io/download/ 选择rpm包 2.启动服务 [root@node1 ~]# rpm -ivh jenkins-2.138.3 ...
- ISCSI target的两种安装方法
1 tgt程序架构 tgt是用户态实现的iscsi target,而iet(iscsi enterprise target)是在内核态实现的target,tgt相比于iet来说,因为其用户态实现,方便 ...
- day 11 前方高能-迭代器
第一类对象 -----函数名 == 变量名 函数对象可以像变量一样进行赋值 还可以作为列表的元素进行使用 可以作为返回值返回 def wrapper(): def inner(): ...
- 网络对抗技术 2017-2018-2 20152515 Exp1 PC平台逆向破解(5)M
Exp1 PC平台逆向破解(5)M 1 知识要求 2 直接修改程序机器指令,改变程序执行流程 3 通过构造输入参数,造成BOF攻击,改变程序执行流 4 注入Shellcode并执行 1 知识要求 掌握 ...
- 20155216 Exp6 信息搜集与漏洞扫描
Exp6 信息搜集与漏洞扫描 实践内容 信息搜集 whois查询 使用whois查询域名注册信息,查询百度服务器(进行whois查询时去掉www等前缀,因为注册域名时通常会注册一个上层域名,子域名由自 ...
- 20155227《网络对抗》Exp8 Web基础
20155227<网络对抗>Exp8 Web基础 实验内容 (1)Web前端HTML (2)Web前端javascipt (3)Web后端:MySQL基础:正常安装.启动MySQL,建库. ...
- spring配置多个事务管理器
<tx:annotation-driven/> <bean id="transactionManager1" class="org.springfram ...
- TLV5620参考电压的问题
1. TLV5620参考电压的,上面红线的VID的意思应该是引脚(REFA-REFD)输入的电压值(3.3V),下面的应该是实际参考值,根据实际测试VID=3.3V的时候,Vref=2.2V,至于为什 ...
- python 算法面试题
1.题目是:有一组“+”和“-”符号,要求将“+”排到左边,“-”排到右边,写出具体的实现方法. def StringSort(data): startIndex=0 endIndex=0 count ...
- 使用plumbing命令来深入理解git add和git commit的工作原理
前言: plumbing命令 和 porcelain命令 git中的命令分为plumbing命令和porcelain命令: porcelain命令就是我们常用的git add,git commit等命 ...