动态规划
sSay_
ACM/OI/CQU
展开
-
Vijos P1198 最佳课题选择
vijos原创 2016-08-03 15:01:25 · 554 阅读 · 0 评论 -
[BZOJ]1009 GT考试
神题原创 2017-03-01 15:38:11 · 695 阅读 · 0 评论 -
[BZOJ]1023 仙人掌图
[BZOJ]1023题意: 给出一颗仙人掌,求仙人掌上两点间最短距离的最大值(即仙人掌的直径)。题解: 树的直径可以用Dp来搞一搞,这个仙人掌其实也类似。 如果用f[i]f[i]表示从ii向下扩展的最大距离,而且这颗仙人掌上没有环,我们就可以用这样的方法去更新答案:ans=max(ans,f[u]+f[v]+2)ans = max(ans,f[u] + f[v] + 2) 其中uu和原创 2017-03-17 20:09:06 · 673 阅读 · 0 评论 -
[BZOJ]1021 循环的债务
[BZOJ]1021题意: 给出三个人之间的欠钱关系和他们各自持有的钱币种类和个数,求能不能各自把钱还清,如果不能输出”Impossible”,如果能输出最小的给钱张数。题解: Dp太神了!(弱菜自带遇Dp必跪flag)总之就是Dp。 可以按钱币种类划分阶段,那么方程可以为dp[i][j][k]dp[i][j][k]表示用上了前i种钱币,达到了让第一个人有j块钱,第二个人有k块钱(因为原创 2017-03-11 17:50:16 · 1129 阅读 · 0 评论 -
[BZOJ]1025 游戏
[BZOJ]1025题意: 给出nn的最大值,求在nn的所有置换中经过不停置换最后重新变成有序的列表不同的排有几种。题解: 首先要知道一个知识:任何一个置换都可以由一些循环的乘积得来。这样的话不同的循环有各自的循环节,长度为nn的循环其循环节是nn,那么问题转换为将nn分解成若干个数这些数有多少种不同的lcmlcm。 1是不影响lcmlcm的,所以合数的情况都可以用质数来表示,而不同的质原创 2017-04-09 09:55:12 · 424 阅读 · 0 评论 -
[BZOJ]1026 Windy数
[BZOJ]1026题意: 给出[L,R][L,R],求区间内的数有多少满足相邻位数之间差的绝对值超出了2。题解: 一眼数位Dp一眼不了的建议学一下数位Dp,然后转化成前缀和的形式来计算。 数位Dp多以位数为阶段,考虑每一位填什么来转移。为了方便枚举到所有的情况,状态设为dp[i][j][k][l]dp[i][j][k][l]表示填到了第ii个数,前一位是jj,kk是0/10/1表示是否贴原创 2017-04-09 09:56:22 · 330 阅读 · 0 评论 -
[BZOJ]1030 文本生成器
[BZOJ]1030题意: 给出一个MM,表示有MM个字母是随机给出的,有很多种可能。再给出NN个字符串,求NN在MM中出现的可能个数。题解: 类似于[BZOJ]1009。未知字符求个数一般都是字符串Dp,解决方法类似。不过这个题要先转化为不出现的可能个数再拿总数减去。 这个题是多个串匹配,所以是AC自动机AC自动机,用dp[i][j]dp[i][j]表示到了第ii个字符(MM中),匹配到原创 2017-04-09 09:58:48 · 405 阅读 · 0 评论 -
[BZOJ]1010 玩具装箱
[BZOJ]1010题意:P教授要去看奥运,但是他舍不下他的玩具,于是他决定把所有的玩具运到北京。他使用自己的压缩器进行压 缩,其可以将任意物品变成一堆,再放到一种特殊的一维容器中。P教授有编号为1...N1...N的NN件玩具,第i件玩具经过 压缩后变成一维长度为CiCi.为了方便整理,P教授要求在一个一维容器中的玩具编号是连续的。同时如果一个一维容 器中有多个玩具,那么两件玩具之间要加入一原创 2017-04-17 21:34:07 · 2564 阅读 · 2 评论 -
[BZOJ]1072 排列
[BZOJ]1072题意:给一个数字串ss和正整数dd, 统计ss有多少种不同的排列能被dd整除(可以有前导0)。题解:除了有一个地方没想过去这基本上是道裸题。。 因为ss的范围很小所以可以状压用过的数字。 整除这种东西不好转移所以用余数为0来表示,dp[s][i]dp[s][i]表示用过的数字状态为ss,除以dd余数为ii的方案数是多少。 转移的时候考虑在ss的基础上添加一个数,即dp[s|原创 2017-04-16 07:41:51 · 523 阅读 · 0 评论