懒得复制,戳我戳我

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]道路 (动态规划)的更多相关文章

  1. 【题解】Luogu P4438 [HNOI/AHOI2018]道路

    原题传送门 实际就是一道简单的树形dp 设f[u][i][j]表示从根结点到结点u经过i条未翻修公路,j条未翻修铁路的贡献最小值 边界条件:f[leaf][i][j]=(A+i)(B+j)C (题目上 ...

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

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

  3. [HNOI/AHOI2018]道路

    Description: W 国的交通呈一棵树的形状.W 国一共有\(n - 1\)个城市和\(n\)个乡村,其中城市从\(1\)到\(n - 1\) 编号,乡村从\(1\)到\(n\)编号,且\(1 ...

  4. 洛谷P4438 [HNOI/AHOI2018]道路(dp)

    题意 题目链接 Sol 每当出题人想起他出的HNOI 2018 Day2T3,他都会激动的拍打着轮椅 读题比做题用时长系列... \(f[i][a][b]\)表示从根到\(i\)的路径上,有\(a\) ...

  5. P4438 [HNOI/AHOI2018]道路

    辣稽题目 毁我青春 耗我钱财. 设\(f[x][i][j]\)为从1号点走到x点经过i条公路j条铁路,子树的最小代价. \(f[leaf][i][j]=(A+i)(B+j)C\) \(f[x][i][ ...

  6. Luogu 4438 [HNOI/AHOI2018]道路

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

  7. Luogu P4438 [HNOI/AHOI2018]道路

    题目 注意到\(n\)不大并且深度不大. 记\((u,ls_u)\)为\(L\)边,\((u,rs_u)\)为\(r\)边. 所以我们可以设\(f_{p,i,j}\)表示从根到\(p\)有\(i\)条 ...

  8. 题解 [HNOI/AHOI2018]毒瘤

    题目传送门 题目大意 给出一个 \(n\) 个点 \(m\) 条边的无向图,问有多少个点集满足点集中任意两点均不存在边相连. \(n\le 10^5,m-n\le 10\),答案对 \(9982443 ...

  9. 【题解】Luogu P4436 [HNOI/AHOI2018]游戏

    原题传送门 \(n^2\)过百万在HNOI/AHOI2018中真的成功了qwqwq 先将没门分格的地方连起来,枚举每一个块,看向左向右最多能走多远,最坏复杂度\(O(n^2)\),但出题人竟然没卡(建 ...

随机推荐

  1. Python爬虫爬取贴吧的帖子内容

    最近在看一个大神的博客,从他那里学会了很多关于python爬虫的知识,其实python如果想用在实际应用中,你需要了解许多,比如正则表达式.引入库.过滤字段等等,下面不多说,我下面的程序是爬取Ubun ...

  2. Eclipse-设置启动JDK版本

    打开eclipse安装目录下的eclipse.ini文件,将红色内容加入 -vm ../Java/jdk1.6.0_26/bin (或者指向具体目录:D:/software/jdk_1.8u91/bi ...

  3. 处女男学Android(七)---Android 应用资源之StateListDrawable

    前言 本篇Blog将记录关于Android应用资源中最经常使用的一个Drawable资源--StateListDrawable,本来说应当继续写UI方面的内容,突然跳到应用资源这边,主要是由于之前写界 ...

  4. Delphi XE 10.2.3使用CEF4Delphi取网页元素时碰到&nbsp;变问号?的处理

    用CEF4Delphi取网页元素时碰到ElementInnerText里含有" " 比如网页源码里是"内容 "取出来显示就变成"内容?" 搜 ...

  5. spfa 单源最短路究极算法

    学习博客链接:SPFA 求单源最短路的SPFA算法的全称是:Shortest Path Faster Algorithm.     SPFA算法是西南交通大学段凡丁于1994年发表的.    从名字我 ...

  6. Java入门知识1

    1. 获取标准屏幕的输入时,需导入java.util.Scanner包. 2. 主类的名称与.java的文件名需一致. 3. 文件中主类设置为public,其他类前面无需加访问级别. 4. 继承时,使 ...

  7. JavaScript闭包简单应用

    闭包定义 在JavaScript中,当一个内部函数被其外部函数之外的变量引用时,就形成了一个闭包.简单说,闭包就是能够读取其他函数内部变量的函数. 闭包的作用: 1. 可以读取函数内部的变量 2. 让 ...

  8. CS50.3

    1,int()取整函数 2,RPG(role playing game )角色扮演游戏 3,代码写了,要跑,需要compiler (编译器) 4,CLI(command-line interface) ...

  9. Django实现websocket完成实时通讯、聊天室、在线客服等

    一 什么是Websocket WebSocket是一种在单个TCP连接上进行全双工通信的协议 WebSocket使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据.在WebS ...

  10. 重置Oracle配置

    经常被ORACLE坑,作为一个只需要开发时候连连ORACLE的程序员,在经历了一次又一次的折腾之后,决定还是把这些琐碎的事情写下来. 经常在虚拟机中使用ORACLE,ORACLE的网络配置有一些变化就 ...