
dp
WAautomaton
我好弱啊~
展开
-
HDU 2020 多校第一场 1007 Hunting Monsters
链接吐槽我开场第一个开的题就是这个,误判断以为是个我不会的中档贪心题,结果扔给 djq 都难以想到做法,然后就自闭了 2333题解真·hard 神题,给出题人点赞!接下来大概就是把英文题解翻译了一遍吧,顺便补了一点证明。观察最初始的贪心部分,相信大家都想到了。我们把怪物分成 Ai>BiA_i > B_iAi>Bi 和 Ai≤BiA_i \le B_iAi≤Bi 的部分,分别记为集合 S,TS,TS,T,那么有以下性质:最终方案任意 TTT 集合的元素必然在 SSS原创 2020-07-23 11:02:57 · 825 阅读 · 0 评论 -
NOI2019 机器人(多项式+dp)
题目链接题解首先可以考虑暴力区间 dp,fi,j,kf_{i,j,k}fi,j,k 表示区间 [i,j][i,j][i,j] 中,所有数字都不超过 kkk 的方案数。显然可以枚举 lll,使 ∣(l−i)−(j−l)∣≤2|(l-i)-(j-l)| \le 2∣(l−i)−(j−l)∣≤2,fi,j,k=fi,j,k−1+∑lfi,l−1,kfl+1,j,k−1f_{i,j,k}=f_{i,...原创 2019-07-22 08:45:45 · 1953 阅读 · 0 评论 -
HNOI2015 实验比较
题目链接题目大意给定一些数字的大小关系,有>,<和=三种情况。保证输入给定的关系对于每个数来说,<=它的数字最多只有一个。求所有数字有多少种不同的相对大小关系。n≤100n\le 100n≤100。题解首先对于等号可以直接缩点,关注到<=某个数字的限制最多只有一个,因此我们从小的向大的连边,形成多棵基环树和树。显然,如果图中有环则无解,因此只剩下来树。为了方便处理...原创 2019-02-25 21:11:17 · 283 阅读 · 0 评论 -
HNOI2015亚瑟王(期望dp)
题目链接题目大意太长不想写qwq题解首先会发现,如果我们按照每一轮往后dp是行不通的,因为这样需要表示当前所有牌的选择状态。于是我们令f[i][j]f[i][j]f[i][j]表示前iii张牌中,jjj张牌被选了的期望伤害是多少。然后我yy了一个递推式,调了一会儿发现这样行不通……因为第iii张牌的选择状态依赖于前面某些牌的选择状态。既然后面依赖前面,那我们就反过来dp呗……f[i]...原创 2019-02-24 12:30:31 · 310 阅读 · 0 评论 -
SDOI2017 切树游戏(FWT+树链剖分+dp)
题目链接题目大意维护一棵树,支持:1.动态修改某个点权值;2.查询有多少个联通子树异或值为ppp。题解这题感觉比较套路,显然可以列出一个dp方程,发现这是FWT异或卷积的形式。具体的,记f[i]f[i]f[i]为iii的dp数组的FWT卷积,那么f[i]=b[val[i]]∗∏v∈son[i](f[v]+b[0])f[i]=b[val[i]]*\prod_{v\in son[i]} (...原创 2019-02-12 19:18:41 · 427 阅读 · 0 评论 -
SDOI2017 苹果树(背包dp)
题目链接题目大意树上依赖多重背包,允许从根出发的一条链中每个点上的一个物品免费,求最大价值。题解背包神仙题……首先都能想到的就是枚举某个节点,这个节点到根上的所有节点使用一次免费的机会,那么整棵树就被分成了三部分:1.这条链上所有点剩余物品数量为ai−1a_i-1ai−1;2.这条链左边所有点不变。3.这条链右边所有点不变。于是这里可以按照dfs序来dp,f[i][j]f[i]...原创 2019-02-12 19:08:32 · 288 阅读 · 0 评论 -
SDOI2015 战略游戏(动态dp)
题目链接题目大意给定一个只有两行的网格图,动态修改边权,查询某两列之间的网格图最小生成树的权值和。n,m≤105n,m\le 10^5n,m≤105题解考虑如何用dp求出整个网格图的最小生成树。f[i][0/1]f[i][0/1]f[i][0/1]分别表示dp到第iii列,两行末尾同属一个连通块/分属两个连通块。那么显然可以转移:0到0,任意连接新加入的3条边其中两条。0到1,连接...原创 2019-02-12 17:42:03 · 171 阅读 · 0 评论 -
NOI2018 冒泡排序 解题记录
【题目背景】最近,小 S 对冒泡排序产生了浓厚的兴趣。为了问题简单,小 S 只研究对 1到 n的排列的冒泡排序。 下面是对冒泡排序的算法描述。 输入:一个长度为 n 的排列 p[1…n] 输出:p 排序后的结果。 for i = 1 to n do for j = 1 to n - 1 do if(p[i] &amp;gt; p[i + 1]) 交换 p[i] 与 p[i + 1] 的值...原创 2018-07-29 11:14:03 · 1947 阅读 · 3 评论 -
SDOI2018 荣誉称号(树形dp)
题目链接题目大意给定一棵完全二叉树,要求任意一条不拐弯长度为k+1k+1k+1的链(即从某个点不断往上跳kkk次parentparentparent),满足链上所有点的和是mmm的倍数。n≤107,k≤10n\le 10^7,k\le 10n≤107,k≤10题解考虑两条相邻的链a0,a2,...,aka_0,a_2,...,a_ka0,a2,...,ak与a1,a2,...,ak...原创 2019-02-15 15:18:29 · 291 阅读 · 0 评论 -
WC2019数树(Matrix-Tree定理+容斥+树形dp+多项式exp)
题目链接题目大意题目给定点数nnn和颜色数mmm,分为三个问题:1.给定两棵树,规定对于u,vu,vu,v,若边(u,v)(u,v)(u,v)同时在两棵树中出现,则u,vu,vu,v必须染同种颜色。2.给定一棵树,求对于所有第二棵树的可能出现情况,问题1的答案之和。3.给定零棵树,求对于所有第一棵树的可能出现情况,问题2的答案之和。题解问题1显然问题1是个SB题,如果两棵树中某条边...原创 2019-02-02 19:58:05 · 279 阅读 · 0 评论 -
Codefoces 1097E Egor and an RPG game [最长单调子序列+思维]
Codefoces 1097E Egor and an RPG game题目链接题意:把一个长度为nnn的排列划分成若干个单调子序列。令f(n)f(n)f(n)为所有长度为nnn的排列中划分成单调子序列的个数最大值(划分过程中要求最小化个数),求出一种方案把输入的排列划分成不超过f(n)f(n)f(n)个单调子序列。n≤105n\le 10^5n≤105题解首先考虑f(n)f(n)f(n...原创 2019-01-14 23:43:48 · 342 阅读 · 0 评论 -
Codeforces 1097 D Makoto and a Blackboard [概率+dp]
Codeforces 1097 D Makoto and a Blackboard题目链接题意:给定一个数nnn,每次操作可以把nnn等概率变成它的因数之一。求kkk次操作之后nnn的期望。题解每个质因子的贡献是分开的,比如质因子ppp,当前幂次为pkp^kpk,那么它会等概率变成p0…pkp^0\dots p^kp0…pk,于是直接对于每个质因子分开dp,f[i][j]f[i][j]f[...原创 2019-01-14 23:23:49 · 263 阅读 · 0 评论