随笔分类 - DP&&递推
摘要:做题笔记 2 偷了一个题表来做,当做康复训练了23333 [16] "代码在这里" [2018.7.6 7.8] 1. luogu1137 DAG最长路 拓扑排序/记忆化搜索 2. "CF698B.Fix a Tree" n点n边有向图,可能会有多个弱连通分量,环和内向树 拓扑排序后,$ind\ne
阅读全文
摘要:关于最短路、负环、差分约束系统的一点笔记 最短路 “可以”没有环,最多条边 有负环则不存在最短路 会形成最短路径树 算法 1. Dijkstra 贪心,当是最小时要满足之后不会更小,不能处理负权边 2. Bellman Ford 迭代n 1轮,用边松弛 3. spf
阅读全文
摘要:"2143: 飞飞侠" 题意: 给出两个 n ∗ m 的矩阵 A,B,以及 3 个人的坐标 在 (i, j) 支付 Ai,j 的费用可以弹射到曼哈顿距离不超过 Bi,j 的位置 问三个人汇合所需要的最小总费用 其中 0 include include include include using na
阅读全文
摘要:"3864: Hero meet devil" 题意: 给你一个只由AGCT组成的字符串S (|S| ≤ 15),对于每个0 ≤ .. ≤ |S|,问 有多少个只由AGCT组成的长度为m(1 ≤ m ≤ 1000)的字符串T,使得? dp套dp! 通过一个外层的dp来计算
阅读全文
摘要:"UOJ 241. 【UR 16】破坏发射台" 题意:长度为 n 的环,每个点染色,有 m 种颜色,要求相邻相对不能同色,求方案数。(定义两个点相对为去掉这两个点后环能被分成相同大小的两段) 只想到一个奇怪的线性递推,无法写成矩乘的形式... 正解用状态记录了颜色是否相同 奇环,只考虑相邻,确定第一
阅读全文
摘要:"4835: 遗忘之树" 题意:点分治,选标号最小的重心,上一次重心向下一次重心连有向边,求原树方案数。 md我真不知道当初比赛时干什么去了...现在一眼秒啊... 时原树只能向编号的点连边, cpp include
阅读全文
摘要:"4033: [HAOI2015]树上染色" 我写的可是的树形背包! 注意j倒着枚举,而k要正着枚举,因为k可能从0开始,会使用自己更新一次 cpp include include include include include using namespace std; typede
阅读全文
摘要:"3167: [Heoi2013]Sao" 题意: n个点的“有向”树,求拓扑排序方案数 Welcome to Sword Art Online!!! 一开始想错了...没有考虑一个点的孩子可以排在父亲后... 为了能转移,给状态加一维,表示子树i,i排在第j位的方案数 然后,很像
阅读全文
摘要:"3812: 主旋律" 题意:一张有向图,求它的生成子图是强连通图的个数。 先说一个比较暴力的做法。 终于知道n个点图的是DAG的生成子图个数怎么求了。 暴力枚举哪些点是一个scc,然后缩点,枚举入度为0的点,容斥原理dp DAG个数 $$ d(S) = \sum_{T \sub
阅读全文
摘要:"算法马拉松24" "A 小C的多边形" 题意: n+1个点的多边形。给外圈的边标记上1~n,里圈的边也标记上1~n,使得对于一个外圈相邻点与中间点构成的三角形的边权之和都相等。 题解: 显然每个三角形权值和为 一开始简化成n个数排一个环,
阅读全文
摘要:"hdu 5909 Tree Cutting" 题意:一颗无根树,每个点有权值,连通子树的权值为异或和,求异或和为[0,m)的方案数 表示子树i中经过i的连通子树异或和为j的方案数 转移类似背包,可以用fwt加速 cpp include include include includ
阅读全文
摘要:"4872: [Shoi2017]分手是祝愿" 题意:n个灯开关游戏,按i后i的约数都改变状态。随机选择一个灯,如果当前最优策略直接用最优策略。问期望步数 50% n=k 送分...从大到小选就行了...实际上送了80分... 这个期望DP没想到
阅读全文
摘要:"4871: [Shoi2017]摧毁“树状图”" 题意:一颗无向树,选两条边不重复的路径,删去选择的点和路径剩下一些cc,求最多cc数。 update 5.1 : 刚刚发现bzoj上这个做法被hack了....以后再想一下别的做法吧 一开始以为这是三合一,写了x=2和x=1. 后来才明白...人家
阅读全文
摘要:"4870: [Shoi2017]组合数问题" 题意:求 $n \le 10^9, 0\le r n大k小,一副矩乘的样子 就是求“n个物品取模k余r个的方案数” 因为取的个数模k,变得很有意思,可以把组合
阅读全文
摘要:"4813: [Cqoi2017]小Q的棋盘" 题意: 某poj弱化版?树形背包 据说还可以贪心... cpp include include include include include using namespace std; typedef long long ll; const int N
阅读全文
摘要:4801: 打牌 分类讨论就行了 比赛时一开始写挂了... cpp include include include include include using namespace std; typedef long long ll; const int N = (1'9'){if(c==' ')f=
阅读全文
摘要:"3997: [TJOI2015]组合数学" 题意:网格图,每个格子有权值。每次从左上角出发,只能向下或右走。经过一个格子权值 1.至少从左上角出发几次所有权值为0。 容易发现偏序关系 最少链数=最长反
阅读全文
摘要:"4540: [Hnoi2016]序列" 题意:询问区间所有子串的最小值的和 不强制在线当然上莫队啦 但是没想出来,因为不知道该维护当前区间的什么信息,维护前后缀最小值的话不好做 想到单调栈求一下,但是对于还是可能有很多最小值,数据不随机的话会被卡 预处理!!! 预处理$l_i,\ r
阅读全文