dp
文章平均质量分 71
wddwjlss
垫底选手
展开
-
树形dp SDOI 2006 保安站岗
题意:一棵树,nnn个点,可以在nnn个点上放保安,一个保安可以监视这个点,这个点的父节点和这个点的子节点,每一个点上有放保安的花费,在保证所有点都被监视的情况下总花费要尽可能小,求总花费。 对于这道题目,我们考虑333种情况: 1.点uuu被其子节点上的保安监视,我们设这种情况为dp[u][0]dp[u][0]dp[u][0] 2.点uuu上有保安,我们设这种情况为dp[u][1]dp[u...原创 2018-06-11 21:04:45 · 257 阅读 · 0 评论 -
dp+bfs CF1031D&QBXT Test Ⅵ T2
题意:一个 n∗nn*nn∗n 的矩阵, 矩阵的每个元素有一个小写字母, 可以对矩阵的至多 kkk 个字母做修改, 即把一个字母改成任意一个小写字母。路径是指从左上角出发到右下角经过的2∗n−12*n-12∗n−1个字母的序列,且每次只能向下或向右走。求至多进行 kkk 次修改之后所有路径的值的字典序最小值。 首先我们发现肯定是在路径前边加aaa,所以设dp[i][j]dp[i][j]dp[i][...原创 2018-10-27 12:47:40 · 223 阅读 · 0 评论 -
单调队列+dp POI 2015&QBXT Test Ⅴ T2 WIL-Wilcze doły
题意:给定一个长度为nnn的序列,你有一次机会选中一段连续的长度不超过ddd的区间,将里面所有数字全部修改为000。请找到最长的一段连续区间,使得该区间内所有数字之和不超过ppp。n≤1e6n≤1e6n≤1e6 首先选长度为ddd的区间一定优于选长度小于ddd的区间,而这种固定区间的大概需要O(n)O(n)O(n)复杂度的dpdpdp问题,很容易想到用单调队列优化。 首先先是朴素的dpdpdp,我...原创 2018-10-26 21:44:35 · 187 阅读 · 0 评论 -
dp Code QBXT Test Ⅲ T2
题意:有多少个 N∗MN *MN∗M 的矩阵满足:其所有数字都是 KKK 位 222 进制数,且每一行每一列的或都是 2K−12^K-12K−1。 首先对于二进制的题很大一部分是逐位处理,因为各二进制位之间互不影响,首先我们注意到 KKK 是没有意义的, 我们只要求出 N∗MN * MN∗M的 0−10-10−1 矩阵有多少种方案使得每行每列的或都是111即可,记这个答案为ans′ans&...转载 2018-10-26 11:30:35 · 127 阅读 · 0 评论 -
树形dp Civilization QBXT Test Ⅱ T3
题意:一棵树,qqq次询问,每次给出一个点xxx,求到该点距离为奇数的节点的距离和与到该点距离为偶数的节点的距离和。 比较明显的树形dp,但是我不会QAQ。 首先先考虑求树上所有点到一个点距离之和,我们使用两遍dfsdfsdfs完成,我们设f[x]f[x]f[x]表示xxx的子树中所有点到该点的距离之和,siz[x]siz[x]siz[x]表示以xxx为根的子树大小,在第一遍dfsdfsdfs中,...原创 2018-10-25 16:51:19 · 144 阅读 · 0 评论 -
单调队列+dp 琪露诺+NOIP 2017 跳房子
一、琪露诺: 题意:一开始在000号格子上,每个格子有一个权值,在格子iii时,下一次可以移动到区间[i+l,i+r][i+l,i+r][i+l,i+r]中的任意一格,只要下一步的位置编号大于nnn就算到达对岸,求最大权值。(n<=2e5)(n<=2e5)(n<=2e5) 首先如果不看数据范围,这是一个普通的dp,设f[i]f[i]f[i]表示到达iii这个点的最...原创 2018-10-20 18:24:30 · 239 阅读 · 0 评论 -
状压dp USACO 关灯问题Ⅱ
题意:nnn盏灯,mmm个按钮,一开始所有灯都是亮的。按下iii按钮对于第jjj盏灯,是下面333中效果之一:如果a[i][j]a[i][j]a[i][j]为111,若此灯是亮的,把它关上,否则不管;如果为−1-1−1的话,若此灯是暗的,那么把它打开,否则也不管;如果是000,无论这灯是否开,都不管。求关掉所有灯的最小操作次数。(n&lt;=10)(n&lt;=10)(n<=...原创 2018-10-19 14:05:40 · 210 阅读 · 0 评论 -
状压dp NOI 2001 炮兵阵地
题意: 给你一个n∗mn∗mn∗m的网格,每个各自最多放一个炮兵,每一个格子有地形,平原可以放,山地不能放,并且一个炮兵的上下左右两个内不能放炮兵,问最多放多少炮兵。n≤100;m≤10n≤100;m≤10n≤100;m≤10。 可以发现m非常小,考虑状压dp,这道题与常规状压dp的不同点是这道题的每一行状态在转移时要看之前两行的状态。 首先我们先将每一行哪些格子可以放用二进制表示出来,g[i]g...原创 2018-10-18 08:43:05 · 157 阅读 · 0 评论 -
最短路+拓扑排序+dp NOIP 2017 逛公园
题意: 给你一个nnn个点mmm条边的有向带权图,设111号点到nnn号点的最短路是disdisdis,给你一个k(k&amp;amp;lt;=50)k(k&amp;amp;lt;=50)k(k&amp;lt;=50),求所有111到nnn的路径中长度不超过dis+kdis+kdis+k的数量。 题解: 显然我们要先处理出最短路,如果k=0k=0k=0,就是最短路计数了。要做计数,我们不难想到要在图上dpdpdp。我们发...转载 2018-10-18 08:13:50 · 141 阅读 · 0 评论 -
trie树 dp 前缀单词
让我们一起来%forever_shi神犇 题意: 给你n个字符串,每次选出若干个字符串形成一个集合,问有多少个集合满足集合中的任何一个字符串都不是另外一个字符串的前缀。空集也一定是满足条件的。保证不会出现两个相同的字符串。 首先对所有字符串建出一棵trietrietrie树,然后我们可以发现其实trietrietrie树上有用的点只有那些作为某个串的末尾被打上标记的点,于是我们根据trietrie...转载 2018-09-27 15:10:15 · 349 阅读 · 0 评论 -
状压dp 星空
题意:给出一串灯的开关情况,有k盏灯是暗的,有m种操作,每种可以将长度为x的区间内的灯的开关情况取反,问最少多少次可以将所有灯泡点亮。 首先我们发现对于连续的一段灯泡去操作很慢,因此我们需要一种O(1)O(1)O(1)复杂度的方法进行开关的操作。这里使用了差分,对灯开闭情况的01序列进行差分,我们设暗的灯为1,亮的灯为0。 差分的方法是在原序列的前后补一个000,然后用a[i−1]a[i-1]a[...原创 2018-09-20 11:51:22 · 114 阅读 · 0 评论 -
状压dp USACO 奶牛混合起来
有NNN头奶牛,第i头奶牛的编号是SiS_iSi,编号是唯一的。要求相邻奶牛的编号之差均超过KKK,求有多少种队形是混乱的。 dp[i][j]dp[i][j]dp[i][j]表示状态为iii的情况下最后一个牛的编号为jjj的方案数。转移方程为dp[i+(1&amp;lt;&amp;lt;(k−1))][k]+=dp[i][j];dp[i+(1&amp;lt;&amp;lt;(k-1))][k]+...原创 2018-09-19 16:27:39 · 180 阅读 · 0 评论 -
状压dp SCOI 2005 互不侵犯
题意:nnn个矿石,每个矿石都有自己的重量 wiwiw_i ,以及价值viviv_i 。接下来会进行以下四个操作: 1.给定mmm个区间[li,ri][li,ri][l_i,r_i]; 2.选出一个参数WWW; 3.对于一个区间[li,ri][li,ri][l_i,r_i],计算矿石在这个区间上的检验值Yi=∑j1∗∑jvj,&amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;nbsp;j∈[li,ri]&amp;amp;原创 2018-09-19 11:18:10 · 142 阅读 · 0 评论 -
拓扑排序+dp 旅行计划
题意:给出一张图,对于给出每一组边的关系(x,y)(x,y)(x,y),x在yx在yx在y的西边。可以从图上的任意一个点出发,但每次只能往东走,求以1−n1−n1-n为终点的话最多可以走多少个点。 首先,我们发现这是一张横向有向图,前面的结果会影响后面的结果,所以考虑拓扑排序。这里设f[i]f[i]f[i]表示以iii为终点的话最多可以走多少个点。f[i]f[i]f[i]的初值均为111,在进行...原创 2018-08-31 22:37:17 · 365 阅读 · 0 评论 -
树形dp 没有上司的舞会
题意:给定一棵树,每个点有权值,对于每一个点,它和它的父节点不能同时被选,求权值最大值。 定义dp[x][0]dp[x][0]dp[x][0]表示不选择x号点时的最大值,dp[x][1]dp[x][1]dp[x][1]表示选择xxx号点时的最大值。 对于xxx号点不被选择的情况,也就意味着它的子节点vvv可以被选,也可以不被选,所以方程就是: dp[x][0]+=max(dp[v][1]...原创 2018-08-18 16:29:44 · 129 阅读 · 0 评论 -
BZOJ 3036 luogu P4316 绿豆蛙的归宿
题意:带权DAGDAGDAG,从111号点走到nnn号点,当到达点xxx后有kkk条出边,走这kkk条边的概率均为1k1k\frac{1}{k},求1−n1−n1-n的路径总长度的期望值。 我们定义dp[i]dp[i]dp[i]表示从i号点到n号点路径长度的期望值,rd[i]rd[i]rd[i]表示i点的入度数量。 根据期望的定义我们列出转移方程: dp[i]=∑&amp;amp;amp;nbsp;(dp[v]+e...原创 2018-06-08 21:02:01 · 141 阅读 · 0 评论 -
dp Regular QBXT Test Ⅸ T1
题意:给出一个只包含左括号和右括号的字符串,插入若干左右括号(可以插在任意位置)之后使得字符串长度为2n2n2n且是一个合法的括号序列。求最后能组成多少种不同的合法括号序列。【合法的括号序列:该序列任意一个前缀的左括号数大于等于右括号数,最终左括号数等于右括号数】。n&amp;amp;amp;lt;=100n&amp;amp;amp;lt;=100n&amp;amp;lt;=100 三维dp,dp的前两维分别为插入的括号数量和使用的原来的序列中...原创 2018-10-30 13:25:55 · 224 阅读 · 0 评论