介绍一个无建树做法 个人认为我的代码比较易懂(~~简直不需要注释~~) 定义dp\[x][0/1/2] 分别为x节点染绿 /红 /蓝 情况下子树中最多有几个点被染成绿色 类似的 f\[x][0/1/2] 为最少有几个点 见代码: c++ include include include using n ...
分类:
其他好文 时间:
2019-10-06 00:09:25
阅读次数:
55
树形dp 题目传送门 题目大意:给定一棵二叉树,将节点染成红、绿,蓝三种颜色,求绿色节点个数的最大值和最小值。 这题建树十分恶心,需要一些技巧: 观察输入数列及题面,可以知道任意一个节点的左子树一定在右子树的左边,且紧邻右子树 这样就可以跑一个dfs,先搜左子树,记录左子树节点个数ln,则数组下标l ...
分类:
其他好文 时间:
2019-10-01 12:02:27
阅读次数:
123
输入格式 输入文件名:TRO.IN 输入文件仅有一行,不超过500000个字符,表示一个二叉树序列。 输入文件名:TRO.IN 输入文件仅有一行,不超过500000个字符,表示一个二叉树序列。 输出格式 输出文件名:TRO.OUT 输出文件也只有一行,包含两个数,依次表示最多和最少有多少个点能够被染 ...
分类:
其他好文 时间:
2019-09-10 14:46:25
阅读次数:
91
题目描述 经过多年的杀戮,秦皇终于统一了中国。为了抵御外来的侵略,他准备在国土边境安置n名将军。不幸的是这n名将军羽翼渐丰,开始展露他们的狼子野心了。他们拒绝述职、拒绝接受皇帝的圣旨。 秦皇已经准备好了秘密处决这些无礼的边防大将。 不过为防兵变,他决定先授予这些将军一些勋章,为自己赢得战略时间。将军 ...
分类:
其他好文 时间:
2019-09-01 01:43:13
阅读次数:
114
题面 一开始没看懂,看了样例才知道每一天都要从A->B,如果今天和昨天的路线不同就需要多花费k元。 那么怎么做呢,好像还挺简单(看了题解之后),设f[i]为i天之后最少的花费,考虑转移 f[i]=min(f[i],f[j-1]+(i-j+1)*val+k) (1<=j<=i),就是枚举从第几天之后路 ...
分类:
其他好文 时间:
2019-08-28 21:03:10
阅读次数:
84
题目: "1864: [Zjoi2006]三色二叉树" 解析: 用$f[u][0/1/2]$表示以$u$为根,颜色为绿/红/蓝时最多的数量 转移没啥好说的 $f[u][0] = max(f[l][1] + f[r][2], f[l][2] + f[r][1]) + 1$ $f[u][1/2] = m ...
分类:
其他好文 时间:
2019-08-14 20:03:37
阅读次数:
94
题面 https://www.luogu.org/problem/P1772 题解 ...
分类:
其他好文 时间:
2019-07-31 18:16:44
阅读次数:
73
题目描述 物流公司要把一批货物从码头A运到码头B。由于货物量比较大,需要n天才能运完。货物运输过程中一般要转停好几个码头。物流公司通常会设计一条固定的运输路线,以便对整个运输过程实施严格的管理和跟踪。由于各种因素的存在,有的时候某个码头会无法装卸货物。这时候就必须修改运输路线,让货物能够按时到达目的 ...
分类:
其他好文 时间:
2019-04-13 10:36:14
阅读次数:
136
题目传送门 这道题的思路应该为$dp$+最短路。 状态设计: $g[i][j]$表示从第$i$时刻(注意,是时刻)到第$j$时刻过程中不改变路线时的最优解。显然,是将在这期间内所有要关闭的港口从图中删除,然后求最短路。最后乘上$j-i$即可。 $f[i]$表示第$i$时刻的最优解。 状态转移:设之前 ...
分类:
其他好文 时间:
2019-01-29 01:11:57
阅读次数:
186
/************************************************************** Problem: 1003 User: lxy8584099 Language: C++ Result: Accepted Time:60 ms Memory:1124 k ...
分类:
其他好文 时间:
2018-12-18 22:44:02
阅读次数:
275