当前位置: 首页 > 编程日记 > 正文

Luogu 4438 [HNOI/AHOI2018]道路

$dp$。

这道题最关键的是这句话:

跳出思维局限大胆设状态,设$f_{x, i, j}$表示从$x$到根要经过$i$条公路,$j$条铁路的代价,那么对于一个叶子结点,有$f_{x, i, j} = c_x * (a_x + i) * (b_x + j)$,对于内部结点,有转移:

$f_{x, i, j} = min(f_{lson(x), i + 1, j} + f_{rson(x), i, j}, f_{lson(x), i, j}) + f_{rson(x), i, j + 1}$。

然后$40000 * 40 * 40$就快$512MB$了,然后最后一个点就光荣$MLE$了。

所以要写成记搜的,就可以省掉一半$f$数组的空间。

时间复杂度上界是$O(n * 40 * 40)$。

Code:

#include <cstdio>
#include <cstring>
using namespace std;
typedef long long ll;const int N = 20001;
const int M = 41;
const ll inf = 0x3f3f3f3f3f3f3f3f;int n, son[N][2], a[N], b[N], c[N];
ll f[N][M][M];template <typename T>
inline void read(T &X) {X = 0; char ch = 0; T op = 1;for(; ch > '9'|| ch < '0'; ch = getchar())if(ch == '-') op = -1;for(; ch >= '0' && ch <= '9'; ch = getchar())X = (X << 3) + (X << 1) + ch - 48;X *= op;
}template <typename T>
inline T min(T x, T y) {return x > y ? y : x;
}   ll dfs(int x, int i, int j) {if(x >= n) return 1LL * c[x - n + 1] * (a[x - n + 1] + i) * (b[x - n + 1] + j);if(f[x][i][j] != inf) return f[x][i][j];return f[x][i][j] = min(dfs(son[x][0], i + 1, j) + dfs(son[x][1], i, j), dfs(son[x][0], i, j) + dfs(son[x][1], i, j + 1));
}int main() {
//    freopen("road20.in", "r", stdin);
    read(n);for(int lc, rc, i = 1; i < n; i++) {read(lc), read(rc);if(lc < 0) lc = n - 1 - lc;if(rc < 0) rc = n - 1 - rc;son[i][0] = lc, son[i][1] = rc;}for(int i = 1; i <= n; i++) read(a[i]), read(b[i]), read(c[i]);memset(f, 0x3f, sizeof(f));printf("%lld\n", dfs(1, 0, 0));return 0;
}
View Code

转载于:https://www.cnblogs.com/CzxingcHen/p/9908060.html

相关文章:

52深入理解C指针之---不透明指针

该系列文章源于《深入理解C指针》的阅读与理解&#xff0c;由于本人的见识和知识的欠缺可能有误&#xff0c;还望大家批评指教。一、size_t&#xff1a;用于安全表示长度&#xff0c;所有平台和系统都会解析成自己对应的长度    1、定义&#xff1a;size_t类型表示C中任何对…

CSS之布局(文档流)

文档流&#xff1a; <!DOCTYPE html> <html><head><meta charset"utf-8" /><title>文档流</title><style>.box1{background-color: yellow;}</style></head><body><!--文档流&#xff08;normal fl…

网络管理员比赛回顾02-网关、静态路由、动态路由

目录 一、配置网关 二、配置静态路由 三、配置动态路由 3.1、使用RIP协议配置动态路由 3.2、使用OSPF协议配置动态路由 2021年9月参加青年网络管理员比赛&#xff0c;因为网管超龄不能按照“青年”参赛&#xff0c;临时培训我们这批“青年”参赛&#xff0c;回顾一下经过以…

[模拟]纺车的轮子 Spinning Wheels

题目链接 题目大意 5个轮子 每个轮子上面有w个缺口 缺口的初始角度是n 宽度是m 每秒转速v 求当他们同时开始转的情况下&#xff0c;什么时候他们的缺口足以让一道阳光通过&#xff08;就是有重叠部分&#xff09; 思考 纯模拟题目没啥说的&#xff0c;就是模拟轮子转1S 2S 3S .…

从头理解self-attention机制

注意力机制中较为重要的是self-attention机制&#xff0c;直接做了个小白能看懂的总结&#xff0c;也便于自己复习。 简介 self-attention机制就是想实现一连串的特征编码&#xff0c;两两之间的互相注意。有一串特征编码&#xff0c;x1, x2, …, xn&#xff0c;这里x1 x2 ……

筛选法求N以内的所有素数

素数&#xff1a;一个数只能被1和它本身整除的数。2是最小的素数#include <iostream> using namespace std; #define NUM 100 char isPrime[NUM 10]; int main() {//筛选法求素数//假设所有的素数都是素数&#xff0c;标志位设为1for(int i 2 ; i < NUM ; i){isPrim…

CSS之布局(盒模型)

盒模型&#xff1a; <!DOCTYPE html> <html><head><meta charset"UTF-8"><title>盒模型</title><style>.box1{/* 内容区(content),元素中的所有的子元素和文本内容都在内容区中排列内容区的大小由width和height两个属性来…

SAP创建webservice

目录 一、创建webservice 二、更改webservice 三、SoapUI测试webservice 四、查看webservice日志及排错 一、创建webservice 以用户相关的函数User为例创建webservice&#xff0c;事务码bapi查看bapi函数&#xff0c;BasisComponents-Security-User&#xff0c;选择Tools…

python面试题目

python面试题目 原文地址&#xff1a;https://www.usblog.cc/blog/post/justzhl/b5cc9a05c7d2 问题一&#xff1a;以下的代码的输出将是什么? 说出你的答案并解释。 ?1234567891011121314class Parent(object):x 1class Child1(Parent):passclass Child2(Parent):passprint …

vue2留言板

<!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>智能社——http://www.zhinengshe.com</title><meta name"viewport" content"widthdevice-width, initial-scale1.0, maximum…

【目标检测】yolo系列:从yolov1到yolov5之YOLOv3详解及复现

在v1、v2的原理和技巧介绍之后&#xff0c;v3除了网络结构&#xff0c;其余的改变并不多。本文着重描述yolov3的原理细节。 相关阅读&#xff1a; 论文&#xff1a;YOLOv3: An Incremental Improvement 源码&#xff1a;https://github.com/ultralytics/yolov3 1. Yolov3网络…

CSS之布局(盒子模型—边框)

盒子模型—边框&#xff1a; <!DOCTYPE html> <html><head><meta charset"UTF-8"><title>盒子模型-边框</title><style>.box1{width: 200px;height: 200px;background-color: #bfa;/*border-width可以用来指定四个方向的…

SAP事务码f-02做账界面显示“页数”字段

事务码 f-02 做账界面&#xff0c;没有显示页数。 用户账号的参数添加 CSF &#xff08;Country-Specific Fields&#xff09;参数&#xff0c;参数值为 CN&#xff08;伟大的China&#xff09; 再次来到 f-02 的界面&#xff0c;显示了页数字段

【Leetcode】刷题之路4(python版)

接上章回溯专题&#xff0c;本章挑选了分割问题、子集问题、排列问题。 分割问题 131.分割回文串93.复原IP地址 子集问题 78.子集90.子集II 排列问题 46.全排列47.全排列II 分割问题 我们来分析一下切割&#xff0c;其实切割问题类似组合问题。 例如对于字符串abcdef&#…

织梦文章内容屏蔽替换词语多个敏感字词

后台-系统-基本参数-互动设置-替换词语&#xff0c;这个是用于评论和会员投稿&#xff0c;网站后台添加的文章是不受制于这里的&#xff0c;我们可以直接在模板标签里runphp字符串替换 文章内容页标签写法 {dede:field.body runphpyes} global $cfg_replacestr; me preg_repla…

CSS之布局(盒子模型--内边距)

盒子模型--内边距&#xff1a; <!DOCTYPE html> <html><head><meta charset"UTF-8"><title>盒子模型--内边距</title><style>.box1{width: 200px;height: 200px;background-color: #bfa;border: solid 10px orange;/*内边…

网络管理员比赛回顾04-DHCP

目录 一、DHCP的配置 二、DHCP中继 2021年9月参加青年网络管理员比赛&#xff0c;因为网管超龄不能按照“青年”参赛&#xff0c;临时培训我们这批“青年”参赛&#xff0c;回顾一下经过以及学到的技能。本节回顾DHCP。 一、DHCP的配置 简单的启用一个DHCP功能。 <Huawe…

iOS-禁止scrollview垂直方向滚动,只允许水平方向滚动;或只允许垂直方向滚动...

禁止UIScrollView垂直方向滚动&#xff0c;只允许水平方向滚动 scrollview.contentSize CGSizeMake(你要的长度, 0); 禁止UIScrollView水平方向滚动&#xff0c;只允许垂直方向滚动 scrollview.contentSize CGSizeMake(0, 你要的宽度); 转载于:https://www.cnblogs.com/S…

go1.8之安装配置

说明&#xff1a; 之前学习过go语言&#xff08;大概是0.9版本&#xff09;&#xff0c;后来更新太快&#xff0c;也没怎么使用&#xff0c;就荒废掉了&#xff0c;今年有项目需要用go开发&#xff0c;重新捡起。 这是我在学习go语言过程中整理的内容&#xff0c;这里记录下&am…

栈和队列在python中的实现

栈和队列是两种基本的数据结构&#xff0c;同为容器类型&#xff0c;队列是先进先出&#xff0c;栈是先进后出。 栈 栈提供 push 和 pop 等等接口&#xff0c;所有元素必须符合先进后出规则&#xff0c;所以栈不提供走访功能&#xff0c;也不提供迭代器(iterator)。 不像是set…

CSS之布局(盒子模型--外边距)

盒子模型--外边距&#xff1a; <!DOCTYPE html> <html><head><meta charset"UTF-8"><title>盒子模型--外边距</title><style>.box1{width: 200px;height: 200px;background-color: #bfa;border: solid 10px orange;/*外边…

SAP Netweaver 7.4 SR2 Application Java Installation

记录一下SAP Netweaver 7.4 Support Release 2 Application Server Java的安装过程。 一、下载 写本文时&#xff0c;SAP Netweaver 7.4 SR2 已经过了生命周期&#xff0c;直接去SAP Download Center 是找不到这个版本的。但是可以去 Maintenance > Product Availability …

Spring+SpringMVC+MyBatis深入学习及搭建(十)——MyBatis逆向工程

转载请注明出处&#xff1a;http://www.cnblogs.com/Joanna-Yan/p/6973266.html 前面讲到&#xff1a;SpringSpringMVCMyBatis深入学习及搭建(九)——MyBatis和Spring整合 使用官方网站的mapper自动生成工具mybatis-generator-core-1.3.2来生成po类和mapper映射文件。 1.什么是…

(一)七种AOP实现方法

在这里列表了我想到的在你的应用程序中加入AOP支持的所有方法。这里最主要的焦点是拦截&#xff0c;因为一旦有了拦截其它的事情都是细节。 Approach 方法 Advantages 优点 Disadvantages 缺点 Remoting Proxies 远程代理 Easy to implement, because of the .Net framewor…

[导入]Java线程的深入探讨

文章来源:http://blog.csdn.net/jeffreyren/archive/2001/03/29/6401.aspx 转载于:https://www.cnblogs.com/zhaoxiaoyang2/archive/2001/03/30/816654.html

CSS之布局(盒子的水平布局)

盒子的水平布局&#xff1a; <!DOCTYPE html> <html><head><meta charset"UTF-8"><title>盒子的水平布局</title><style>.outer{width: 800px;height: 200px;border: 10px red solid;}.inner{width: 200px;height: 200px…

IssueVission的命令处理

模仿了IssueVission的命令处理&#xff0c;感觉真的很好。只是在用的过程中遇到这样的一个问题&#xff1a;当我有多个MenuItem&#xff08;或其他的控件&#xff09;绑定到同一个Command时&#xff0c;如果因为某些需要删除了其中的一个控件&#xff08;Dispose了&#xff09;…

下一版本Windowsreg; CE 开发工具Smart Device Extensions for Microsoft Visual Studioreg; .NET...

初识 Smart Device Extensions Larry RoofTonked.com 2001年10月23日 上个月我曾说过我会前往 Microsoft 学院&#xff0c;了解下一版本的小型工具的情况。此行的目的是为我不久要撰写的杂志文章和已签约的书籍搜集一些背景知识。但在回来的路上&#xff0c;我改变了我的初衷。…

vue 手机键盘把底部按钮顶上去

背景&#xff1a;在写提交订单页面时候&#xff0c;底部按钮当我点击输入留言信息的时候&#xff0c;底部提交订单按钮被输入法软键盘顶上去遮挡住了。 h5 ios输入框与键盘 兼容性优化实现原理&#xff1a;当页面高度发生变化的时候改变底部button的样式&#xff0c;没点击前bu…

CSS之布局(盒子的垂直布局)

盒子的垂直布局&#xff1a; <!DOCTYPE html> <html><head><meta charset"UTF-8"><title>盒子的垂直布局</title><style>.outer{background-color: #BBFFAA;/*默认情况下父元素的高度会被内容撑开*/}.inner{width: 100px…