随笔分类 -  动态规划

1 2 下一页

[LOJ3124][CTS2019|CTSC2019]氪金手游:树形DP+概率DP+容斥原理
摘要:分析 首先容易得出这样一个事实,在若干物品中最先被选出的是编号为$i$的物品的概率为$\frac{W_i}{\sum_{j=1}^{cnt}W_j}$。 假设树是一棵外向树,即父亲比儿子先选(一个点比它的子树中的所有其他的点先选),我们可以令$f(i,j)$表示以$i$为根的子树,子树内的总权值为$ 阅读全文

posted @ 2019-05-22 08:13 ErkkiErkko 阅读(214) 评论(0) 推荐(0)

[LOJ6433][PKUSC2018]最大前缀和:状压DP
摘要:分析 我们让每个数列在第一个取到最大前缀和的位置被统计到。 假设一个数列在$pos$处第一次取到最大前缀和,分析性质,有: 1. 下标在$[1,pos]$之间的数形成的数列的每个后缀和(不包括整个数列,因为要求非空)都大于$0$。 2. 下标在$[pos+1,n]$之间的数形成的数列的每个前缀和(包 阅读全文

posted @ 2019-05-09 21:31 ErkkiErkko 阅读(144) 评论(0) 推荐(0)

[LOJ2538][PKUWC2018]Slay the Spire:DP
摘要:分析 学会新姿势!我们可以通过调整DP顺序来体现选取物品的优先顺序! 显然选取强化牌的最优策略是倍数从高到低,能选就选,最多选$k 1$张,选取攻击牌的最优策略是伤害从高到低,尽量少选,但最少选$1$张。 我们可以把强化牌从大到小排序,把攻击牌从小到大排序,令$f[i][j]$表示考虑了最大的$i$ 阅读全文

posted @ 2019-05-09 09:56 ErkkiErkko 阅读(264) 评论(0) 推荐(0)

[VIJOS2055][SDOI2019]移动金币:DP+组合数学
摘要:分析 显然可以转化为阶梯nim。 于是问题转化为了对于所有$i \in [0,n m]$,求长度为$\lfloor\frac{m+1}{2}\rfloor$,和为$i$,异或和非$0$的非负整数序列的个数。 直接DP看似不太可行,然而UOJ群的dalao们告诉博主可以按位DP。 令$f[i][j][ 阅读全文

posted @ 2019-05-08 08:46 ErkkiErkko 阅读(346) 评论(0) 推荐(0)

[LOJ3109][TJOI2019]甲苯先生的线段树:DP
摘要:分析 首先,请允许我 orz HN队长zsy。 "链接" 我们发现树上的链有两种类,一类是直上直下的,一类不是直上直下的(废话)。并且,如果我们确定了左侧和右侧的链的长度和整条链上所有节点的编号之和,那么这个链的深度最浅的的节点的编号也是可以唯一地确定的。(也有可能不存在这样的节点,判掉就好) 以第 阅读全文

posted @ 2019-05-08 07:48 ErkkiErkko 阅读(347) 评论(0) 推荐(0)

[LOJ3106][TJOI2019]唱、跳、rap和篮球:DP+生成函数+NTT+容斥原理
摘要:分析 令$f(i)$表示共$i$组同学讨论cxk的位置的方案数(不考虑其他位置上的人的爱好),这个数组可以很容易地通过依次考虑每个位置是否是四个人中最后一个人的位置来递推求解,时间复杂度$O(n^2)$。 令$g(i)$表示共$i$组同学讨论cxk,剩下的$n 4i$个位置上的人的爱好的方案数。这个 阅读全文

posted @ 2019-05-05 11:12 ErkkiErkko 阅读(296) 评论(0) 推荐(0)

使用单调队列维护决策三元组实现决策单调性优化DP的一些细节
摘要:以 [BZOJ2687]交与并 为例给出代码。 cpp include define rin(i,a,b) for(register int i=(a);i=(b); i) define trav(i,a) for(register int i=head[a];i;i=e[i].nxt) defin 阅读全文

posted @ 2019-04-02 18:29 ErkkiErkko 阅读(160) 评论(0) 推荐(0)

[BZOJ2669][CQOI2012]局部极小值:DP+容斥原理
摘要:分析 题目要求有且只有一些位置是局部极小值。有的限制很好处理,但是只有嘛,嗯...... 考虑子集反演(话说这个其实已经算是超集反演了吧还叫子集反演是不是有点不太合适),枚举题目给出位置集合的所有超集,计算让这些位置成为局部极小值,而其他位置随意的方案数,这个可以通过DP,从小到大插入每个数解决。 阅读全文

posted @ 2019-02-25 11:09 ErkkiErkko 阅读(183) 评论(0) 推荐(0)

[BZOJ3622]已经没有什么好害怕的了:DP+容斥原理
摘要:分析 说白了就是一道先DP再二项式反演的水题,然后被脑残博主把“多$k$组”看成了“糖果比药片能量大的组数恰好为$k$组”,还改了各种奇怪的地方,最后看了别人的题解才突然意识到这一点。 看来博主离退役不远了,快把我拖走吧没救了没救了。 代码 cpp include define rin(i,a,b) 阅读全文

posted @ 2019-02-24 16:01 ErkkiErkko 阅读(195) 评论(0) 推荐(0)

[BZOJ3812]主旋律:状压DP+容斥原理
摘要:分析 "Miskcoo orz" 令$f[S]$表示使得$S$这个点集强连通的方案数。 然后呢?~~不会了~~ 考虑到将一个有向图SCC缩点后,得到的新图是一个DAG,所以我们可以类比带标号DAG计数的解法来寻找这道题的突破口。 我们可以枚举哪些点所构成的SCC在缩点后入度为$0$,然后令$g[S] 阅读全文

posted @ 2019-02-21 07:37 ErkkiErkko 阅读(246) 评论(0) 推荐(0)

[BZOJ2560]串珠子:状压DP+容斥原理
摘要:分析 为什么我去年6月做过这道题啊,估计当时抄的题解。 具体做法就是令$f[S]$表示保证连通点集$S$的方案数,$g[S]$表示不保证连通点集$S$的方案数。 容易想到: $$g[S]=\sum f[S T] \times g[T]$$ 这里的$T$是$S$去掉一个点后得到的集合的所有非空子集。 阅读全文

posted @ 2019-02-20 20:23 ErkkiErkko 阅读(155) 评论(0) 推荐(0)

有标号的DAG计数I~IV
摘要:有标号的DAG计数I 题目链接 COGS RIP "个人题库" 分析 感觉一下做不完,就四道题分开发博客(希望这不是个flag)。 问题很简单,就是求$n$个结点的带标号DAG的个数,要求时间复杂度为$O(n^2)$。 令$f[n]$为$n$个结点的带标号DAG的个数。 一个思路是枚举入度为$0$的 阅读全文

posted @ 2019-02-18 17:20 ErkkiErkko 阅读(458) 评论(0) 推荐(0)

[BZOJ3456]城市规划:DP+NTT+多项式求逆
摘要:写在前面的话 昨天听吕老板讲课,数数题感觉十分的神仙。 于是,ErkkiErkko这个小蒟蒻也要去学数数题了。 分析 "Miskcoo orz" 带标号无向连通图计数。 $f(x)$表示$x$个点的带标号无向连通图的个数。弱化限制条件,令$g(x)$表示$x$个点的带标号无向图的个数(不要求连通)。 阅读全文

posted @ 2019-02-18 11:54 ErkkiErkko 阅读(246) 评论(0) 推荐(0)

《正确编织梦境的方法》命题报告
该文被密码保护。

posted @ 2019-01-30 22:02 ErkkiErkko 阅读(11) 评论(0) 推荐(0)

《听我说,海蜗牛》命题报告
该文被密码保护。

posted @ 2019-01-30 21:42 ErkkiErkko 阅读(11) 评论(0) 推荐(0)

[CF1101F]Trucks and Cities:分治优化决策单调性
摘要:分析 好像是有一个叫这个名字的算法, "链接" 。 令$f[i][j][k]$表示一辆每公里耗油量为$1$的货车从$i$到$j$中途加$k$次油最小的油箱容量。枚举所有的起点和中途加油的次数,这样就固定了两维,显然有DP方程: $$ f[i][j][k]= \min_{p=i}^{j} ( \max 阅读全文

posted @ 2019-01-12 16:31 ErkkiErkko 阅读(365) 评论(0) 推荐(0)

[思路题][LOJ2290][THUWC2017]随机二分图:状压DP+期望DP
摘要:分析 考虑状压DP,令$f[sta]$表示已匹配状态是$sta$($0$代表已匹配)时完美匹配的期望数量,显然$f[0]=1$。 一条边出现了不代表它一定在完美匹配内,这也导致很难去直接利用题目中的边组来解决问题。 对于第二类边组,如果把两条边分开考虑(可以理解为把一个第二类的边组看成两个第一类的边 阅读全文

posted @ 2018-12-27 08:59 ErkkiErkko 阅读(174) 评论(0) 推荐(0)

[LOJ2288][THUWC2017]大葱的神力:搜索+背包DP+费用流+随机化
摘要:分析 测试点1、2: 搜索+剪枝。 测试点3: 只有一个抽屉,直接01背包。 测试点4、5: 每个物品体积相同,说明每个抽屉能放下的物品个数固定,建图跑费用流。 测试点6: 每个物品体积相近,经过验证发现每个抽屉能放下的物品个数仍然固定,费用流。 测试点7: 除了第一个物品,其他物品体积相同。所以可 阅读全文

posted @ 2018-12-27 08:07 ErkkiErkko 阅读(731) 评论(0) 推荐(0)

[省选练习]S
摘要:[省选练习]六:状压DP 题意 给定一个正整数$N$,数据满足$N$最多含六个不同的质因子。现在从一个空数列开始,把$N$的因数一个一个加到数列中,每次加入的数可能重复,但必须都大于$1$。每次添加新的数字的时候,需要保证这个数$x$与数列中已有的数至多一个有大于$1$的公因数。例如,当$N$等于$ 阅读全文

posted @ 2018-12-26 16:49 ErkkiErkko 阅读(107) 评论(0) 推荐(0)

[省选练习]P
摘要:[省选练习]Path:期望DP+Dijkstra 题意 \(n,m \leq 10^5\) 分析 很有趣的一道题。 记$dis[x]$为从$x$到$n$的期望时间。 题目中要求的最优策略,实际上就是只从$dis$大的地方向$dis$小的地方移动。 所以,对于两个相邻的结点$x,y$,$dis[x]$ 阅读全文

posted @ 2018-12-25 21:43 ErkkiErkko 阅读(120) 评论(0) 推荐(0)

1 2 下一页