随笔分类 -  動態規劃dp

摘要:部分分:m=1 直径,菊花图 对边权排序,每次取最大最小合并,链 dp覆盖啥的 二叉树的话,二分答案,每个儿子要么和x连在一起往上传,要么和另外一个儿子合并(长度和大于mid),(统计以点x为lca的),x取大的儿子的f值,因为 正解把菊花图和二叉树合在一起,对每个点的儿子不断取两个边权加起来刚好大 阅读全文
posted @ 2019-10-31 09:50 羊肉汤泡煎饼 阅读(243) 评论(0) 推荐(0)
摘要:首先是由一些环组成的,循环次数为环大小的lcm,现在求把n分成若干份lcm的个数,首先和只要小于等于n即可,不足的可以用1补全, lcm是由每个质因数最高次幂组合而成的,所以每个数都设为质数的次幂最优,然后就变成了了背包,直接背包即可 阅读全文
posted @ 2019-10-30 14:45 羊肉汤泡煎饼 阅读(166) 评论(0) 推荐(0)
摘要:https://www.luogu.org/blog/Bartholomew/solution-p2466 首先看着像关路灯,$f[i][j][0/1]$表示关完$i~j$正在$i/j$,但是我们不知道花费的时间,没法转移 其实花费的时间是和之前的决策有关的,$yi-vi*t$,我们必须在之前花费时 阅读全文
posted @ 2019-10-25 20:16 羊肉汤泡煎饼 阅读(231) 评论(0) 推荐(0)
摘要:和P3243有相似的地方,但是不懂 upd:第二问和P3243有相似,第一问我们正着拓扑排序会进入局部最优解,每次从堆顶取的最小值不一定是全局最小值,可能某点稍大但是它所连接的点小 阅读全文
posted @ 2019-10-24 15:35 羊肉汤泡煎饼 阅读(160) 评论(0) 推荐(0)
摘要:在合法范围内最后一个数字越大越优,然后变成子问题,所以建反图字典序最大的拓扑排序,经典套路 阅读全文
posted @ 2019-10-24 15:34 羊肉汤泡煎饼 阅读(119) 评论(0) 推荐(0)
摘要:如果像普通数位dp一样记的话我们需要知道这个数最后的数位和,然而我们并不能把它记到状态里,但是他的范围在18*9以内,所以枚举一下最后这个数的数位和,每次只统计数位和等于这个数的答案 还有就是有时候把前导0和lmt记到数组里会死,可能是我写挂了 阅读全文
posted @ 2019-10-21 10:33 羊肉汤泡煎饼 阅读(140) 评论(0) 推荐(0)
摘要:不知道题解啥意思咋想到的 阅读全文
posted @ 2019-10-14 20:23 羊肉汤泡煎饼 阅读(153) 评论(0) 推荐(0)
摘要:普及组T4 还有点不懂的先咕着 阅读全文
posted @ 2019-10-14 17:34 羊肉汤泡煎饼 阅读(130) 评论(0) 推荐(0)
摘要:首先第一反应该是贪心,对于同一队列中的人应该是吃时间长的人先打饭更优,因为打饭时间不可避免,同时吃饭的人更多就一定更优,接下来就是处理谁在哪队了,设$f[i][j][k]$为前i人队1花费j时间队2花费k时间全部吃完用的最小时间,然而其实不用因为j+k为全集,所以搞个前缀和可以减一维, 转移为$f[ 阅读全文
posted @ 2019-10-14 14:53 羊肉汤泡煎饼 阅读(182) 评论(0) 推荐(0)
摘要:n个人排队打饭,每个人可以容忍在他后面的b[i]个人在他前面打饭,每次打饭的时间消耗为两个人权值异或(或-与),问最短时间 小数据范围一定要想状压,b[i]<=7提示我们状压当前这个人周围的7个(左右)的人,要算每次消耗的时间还要再记上一个打饭的人,注意这个人不可能在某人后面或前面7位以上,所以直接 阅读全文
posted @ 2019-10-11 20:23 羊肉汤泡煎饼 阅读(196) 评论(0) 推荐(0)
摘要:数据范围小,不是爆搜就是状压 发现每个集合s不能表示所有状态,还有一个状态是和起始点的距离,这样我们直接用$f[x][s][d]$表示点x在点集s深度为d的最小代价,暴力枚举每个起始点直接扩展状态,把s跑满就更新答案,图上所以dfs实现还好写 阅读全文
posted @ 2019-10-10 11:08 羊肉汤泡煎饼 阅读(116) 评论(0) 推荐(0)
该文被密码保护。
posted @ 2019-09-29 08:29 羊肉汤泡煎饼 阅读(2) 评论(0) 推荐(0)
摘要:https://www.cnblogs.com/bztMinamoto/p/9375444.html 这题还可以dp做(我肯定想不出来 设$f[i]$为强制放在$i$的最大方案数,根据限制所有包含$i$的区间都不能再有点,最大只能从这些区间最靠左的左端点-1转移,最小不能跨过某个整区间转移,这样这个 阅读全文
posted @ 2019-09-28 21:31 羊肉汤泡煎饼 阅读(188) 评论(0) 推荐(0)
摘要:这题竟然和5004 m=1时几乎一样..... 先不考虑至少放两个,方案数和那题一样,再减掉不放和放一个的,共n+1种(把棋子放在格子中n为格子数 矩乘斐波那契 不开longlong见祖宗 阅读全文
posted @ 2019-09-27 16:52 羊肉汤泡煎饼 阅读(129) 评论(0) 推荐(0)
摘要:一开始算出来了每个点的贡献,最后还要O(n)求和,而且递推式还带求和号(而且竟然还是倒着推的,不可矩乘优化 如果正着写:$g[i]= \sum_{j=1}^{i-m-1}g[j]$,i每后移一个只增加一个数,去掉求和号:$g[i]=g[i-1]+g[i-m-1]$ 答案为g[i]的和+1(全空的情况 阅读全文
posted @ 2019-09-27 15:41 羊肉汤泡煎饼 阅读(167) 评论(0) 推荐(0)
摘要:虽然是道普及的题,一眼看出二分单调队列,但是我不会写单调队列 不能再套板子了,必须要理解灵活 用一个指针j维护窗口的右端点,每次移动时把多出来那部分的扫一下塞进去,取队头前把左端点左边的弹掉 各种算法都没有完全固定的写法! 阅读全文
posted @ 2019-09-27 09:05 羊肉汤泡煎饼 阅读(135) 评论(0) 推荐(0)
摘要:虽然是二进制但是和普通的数位dp没什么差别,统计1出现次数的乘积不如统计每个出现次数的数量,然后对应快速幂一下,转化成了平时熟悉的方案数, 状态设计:dfs里传什么参就开哪些状态,可以包括是否达到上限(lmt)之类的 阅读全文
posted @ 2019-09-23 18:54 羊肉汤泡煎饼 阅读(145) 评论(0) 推荐(0)
该文被密码保护。
posted @ 2019-09-22 20:27 羊肉汤泡煎饼 阅读(5) 评论(0) 推荐(0)
该文被密码保护。
posted @ 2019-09-22 20:20 羊肉汤泡煎饼 阅读(4) 评论(0) 推荐(0)
摘要:https://blog.csdn.net/qq_34731703/article/details/54603652 1.转化:yes表示双方同类,否则不同类(真的蔡 题目变为有一些集合,内部分两个集合,现在要从每个大集合里选出一个小集合使得选出的这些集合大小之和恰好为p1,且只能有一种方案(这样才 阅读全文
posted @ 2019-09-18 21:28 羊肉汤泡煎饼 阅读(174) 评论(0) 推荐(0)