cdcq

梦幻小鱼干

导航

随笔分类 -  动态规划/递推

不断变化的状态曰动态
【HAOI2007】反素数
摘要:原题: 最开始觉得要么是个公式,要么是个结论 结果研究了半天越推越奇怪,这不会是个dp吧…… 先按下不表,研究性质还是可以得到很有用的信息的 1.结论,令h(x)表示因子个数为x的反质数,则h(x)是单调的(h函数的定义域并不是正整数,在有值的地方是单调的) 这个结论看上去很显然,但是它传递出一个关 阅读全文

posted @ 2020-10-13 22:00 cdcq 阅读(152) 评论(0) 推荐(1) 编辑

【HAOI2008】木棍分割
摘要:原题: n<=5e4,m<=min{n-1,1000},li<=1000 最大的最小 那必然是二分答案 二分一个答案,检查的时候可以贪一个,对于某根木棍,如果它可以并入前一段,那么不并入前一段一定不会比并入前一段更优,这个易证 这样就解决了子问题1 求总长度最大的一段最小的方案数时,因为已经知道了最 阅读全文

posted @ 2020-04-08 17:18 cdcq 阅读(229) 评论(0) 推荐(0) 编辑

【SDOI2016】排列计数
摘要:原题: n,m<=1e6,多组数据测试,数据组数<=5e5 因为a是排列,所以若让ai=i那就让它别动 选m个别动,剩下的重排列,要求每个人都不能在自己的位置上,求方案数 这不就错位排序么 关于错位排序以前写了个详解,现在发现若序列递推也听简单的 令f(n)为长度为n的序列错位排序的方案数 欲从f( 阅读全文

posted @ 2020-04-08 09:38 cdcq 阅读(172) 评论(0) 推荐(0) 编辑

【HAOI2008】硬币购物
摘要:原题: c,d,s<=1e5,n<=1000 方法一: 首先可以把题目翻译为数学表达式: k1c1+k2c2+k3c3+k4c4=s(0<=k1<=d1...) 把它拆成两个 k1c1+k2c2=s1,k3c3+k4c4=s2 这就是两个丢番图方程,可以exgcd解 有解条件分别为gcd(c1,c2 阅读全文

posted @ 2020-04-07 21:37 cdcq 阅读(131) 评论(0) 推荐(0) 编辑

【洛谷1044】栈
摘要:原题: n<=18 性质 1 : 观察发现,栈里的数的顺序一定等同它们在原序列的顺序 这个易证 这道题的原序列是递增的,所以栈里的数列也是递增的 因此可以设计状态,f [ i ] [ j ] 表示原序列还有 i 个数,栈内数的集合为 j( j 是二进制压位数)的出栈数列方案数 n 很小,二进制压位就 阅读全文

posted @ 2020-04-04 20:16 cdcq 阅读(259) 评论(0) 推荐(0) 编辑

【2020牛客寒假算法基础集训营第五场】E题-Enjoy the game
摘要:原题: n=100的时候可以dp,状态(i, j)表示现在有i张牌,最多可拿j个 f[i][j]=1表示必胜,f[i][j]=0表示必败,易证此题没有中间状态 如果某个状态后续存在必败状态,则此状态必胜,否则必败 打表观察 显然答案是2的幂必败,否则必胜 证明一下 答案与2的幂有关,因此自然从二进制 阅读全文

posted @ 2020-02-13 15:57 cdcq 阅读(227) 评论(0) 推荐(0) 编辑

【洛谷1415】拆分数列
摘要:原题: 序列长度<=500 首先需要灵稽一动,发现一条性质 因为序列上的数字固定,所以可以用两个数l和r来表示一段数[l,r],也就是说划分后的每一个数只需用两个端点来表示 我的做法是把[l,r]视为一个状态,然后n^3处理找出所有可转移的状态对,建图,跑两遍bfs…… 看上去挺乱搞的,居然搞过了 阅读全文

posted @ 2020-02-12 22:35 cdcq 阅读(327) 评论(0) 推荐(0) 编辑

【洛谷1223】木棍加工
摘要:原题: n<=5000 结论题 = = dilworth定理,对于一个偏序集,最少链划分等于最长反链长度 即序列的最少下降划分等于最长不下降子序列长度 代码: 1 #include<iostream> 2 #include<cstdio> 3 #include<algorithm> 4 using 阅读全文

posted @ 2020-02-08 16:12 cdcq 阅读(159) 评论(0) 推荐(0) 编辑

【洛谷1108】低价购买
摘要:原题: n<=5000 第一个子问题是求最长下降子序列的长度,这个大家都会,用一个单调的g数组+二分可以nlogn求 第二个子问题是求本质不同的方案数 其实数据只有5000,可以用n^2来实现第一个子问题,完全没必要局限于nlogn的做法 研究本质相同的方案的特点 a表示输入的价格序列,g[i]和g 阅读全文

posted @ 2020-02-08 15:02 cdcq 阅读(164) 评论(0) 推荐(0) 编辑

【HAOI2011】problem a
摘要:我的思维能力真的上来了好感动555 原题: 随便点的一道DP题,本来这题以前无数次想不出来,题解好像也看不懂,想的时候都打算放弃了 但是想着一定要死磕思维能力,最后居然还真的自己做出来了 果真是以前放弃得太轻易hhh 首先要确定一下题意,“有ai个人”我感觉也可以理解为>=ai个人 但是其实后来想一 阅读全文

posted @ 2019-12-11 18:14 cdcq 阅读(243) 评论(0) 推荐(0) 编辑

【洛谷1899】魔法物品
摘要:有意思的DP题 原题: 普通物品肯定直接卖了 令a原价,b为开后价,m为买卷的钱 b[i]-a[i]<=m的也直接卖了 接下来思考性质 1.开每个物品的花费是一样的 这个性质看上去比较吸引人 2.卖物品没有顺序,只需考虑开哪些物品 一开始想了个假解,就是忘了物品出售没有顺序的 3.开包一时爽,一直开 阅读全文

posted @ 2019-12-02 22:09 cdcq 阅读(231) 评论(0) 推荐(0) 编辑

【NOIP/CSP2019】D2T1 Emiya 家今天的饭
摘要:这个D2T1有点难度啊 原题: 花了我一下午的时间,作为D2T1的确反常 条件很奇怪,感觉不太直观,于是看数据范围先写了个暴力 写暴力的时候我就注意到了之前没有仔细想过的点,烹饪方式必须不同 虽然a很大,但是n只有100,即总菜数比较小 而且虽然m和a都很大,但是一种方法只能做一道菜,即选一种食材 阅读全文

posted @ 2019-11-20 19:38 cdcq 阅读(375) 评论(0) 推荐(0) 编辑

【NOIP/CSP2019】D1T2 括号树
摘要:原题: 因为是NOIP题,所以首先先看特殊数据,前35分是一条长度不超过2000的链,N^2枚举所有子区间暴力check就能拿到分 其次可以思考特殊情况,一条链的情况怎么做 OI系列赛事的特殊性质分很多时候不仅是帮助得分,还帮助选手找到思路 观察合法串的形状,可以发现主要由括号嵌套和并列组成 嵌套好 阅读全文

posted @ 2019-11-19 17:12 cdcq 阅读(483) 评论(2) 推荐(1) 编辑

【NOIP2016】愤怒的小鸟
摘要:当年的两个压轴题现在都随便做了呢 =w= 原题: n<=18,t<=5 我当时怎么就不会 系列233 一看这数据范围,欸呀 壮鸭低劈 预处理出任意两个猪能够确定的抛物线方程,最多只有153个,然后检查他们能够扫到哪些猪,把这些猪压二进制压进整数 第i个二进制位为1就表示第i只猪能被扫到 注意还有一只 阅读全文

posted @ 2019-11-10 18:13 cdcq 阅读(181) 评论(0) 推荐(0) 编辑

【NOIP2016】换教室
摘要:以前感觉很难不会的题,现在随便就做了呢 =w= 原题: 最初想法,f[i][j][k]表示第i节课,在第j个教室(j=1或0),用了k次机会 能想出这个状态就说明对期望和决策的理解不够。。。 把所在教室表示出来表面上看是表示出了状态,但是实际上期望是有不确定性的,如果把所在的点明确地表示出来就消除了 阅读全文

posted @ 2019-11-04 21:20 cdcq 阅读(155) 评论(0) 推荐(0) 编辑

【BZOJ2427】【HAOI2010】软件安装
摘要:原题: 现在我们的手头有N个软件,对于一个软件i,它要占用Wi​的磁盘空间,它的价值为Vi​。我们希望从中选择一些软件安装到一台磁盘容量为M计算机上,使得这些软件的价值尽可能大(即Vi​的和最大)。 但是现在有个问题:软件之间存在依赖关系,即软件i只有在安装了软件j(包括软件j的直接或间接依赖)的情 阅读全文

posted @ 2019-10-24 22:01 cdcq 阅读(124) 评论(0) 推荐(0) 编辑

【XDOJ】小W的塔防
摘要:原题: 小W在成功拿到iPhone后,下载了一个塔防游戏。游戏的目标是阻止僵尸穿过地图。地图可以看作一条长度为n的线段,这条线段被划分为n条单位长度的小线段。僵尸需要花费t秒才能通过一条小线段。在每条小线段中,小W可以放置1个塔。塔有3种:红色塔,每秒对正在通过塔的敌人造成x点伤害。绿色塔,每秒对已 阅读全文

posted @ 2019-08-11 14:45 cdcq 阅读(224) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示