*------------DP------------*
yashem66
长期提供绕地人造卫星清洗除尘服务。
展开
-
BZOJ1009 GT考试 (DP 矩阵乘法优化)
题目大意阿申准备报名参加GT考试,准考证号为N位数X1X2….Xn(0<=Xi<=9),他不希望准考证号上出现不吉利的数字。他的不吉利数学A1A2…Am(0<=Ai<=9)有M位,不出现是指X1X2…Xn中没有恰好一段等于A1A2…Am. A1和X1可以为 0题解DP,设状态f[i][j]为:长度为i的串 的后缀 至多与不吉利数字的前j位匹配 的串的个数。则对于每一个状态j,加上相同的数字ch都会原创 2017-04-07 10:56:32 · 499 阅读 · 0 评论 -
BZOJ1002 轮状病毒 (DP 高精度)
题目大意求给定点数的最小生成树的个数。题解看到大家的题解中都用到了基尔霍夫矩阵,但是我用的是不太主流的一种dp。既把环处理为两部分,对于一条完整的链进行dp,对于另一部分用乘法原理进行统计。题解:http://z55250825.blog.163.com/blog/static/150230809201411692636459/代码:#include <cstdio> #include <iostr原创 2017-04-06 16:19:31 · 603 阅读 · 0 评论 -
BZOJ1004 Cards (burnside dp 扩展欧几里德)
题目大意有三种颜色的卡片分别sa,sb,sc张,并给出m种相等的置换方式,求所有本质不同的排列方式。题解:根据burnside引理,本质不同的排列数(ans)=sigma(Zi)/m。其中Zi表示对于第i种置换,无论怎么置换,置换几遍都相同的排列的个数,既不动点的个数。根据Polya定理可知,对于某个置换的某个循环节,循环节内所有的元素都相同的排列可称为一个不动点。由于有sa,sb,sc的约束,所以原创 2017-04-06 17:07:42 · 362 阅读 · 0 评论 -
BZOJ1003 物流运输 (DP spfa)
题目大意给出m个点e条带权边,在n天内每天从1到n走一遍,边权即为代价,每次更换线路需要k点代价,问最小的代价。题解考虑到数据范围很小,可以先预处理出所有时间区间内的从1到n的最短路的长度dis[i][j],然后进行dp。初始状态: f[i][j]=dis[i][j] dp方程为: f[i][j]=min(f[i][k-1]+f[k][j]+K) (i代码:#include <cstdio> #i原创 2017-04-06 16:24:06 · 516 阅读 · 0 评论 -
2016.8.6测试解题报告(well-垃圾陷阱)
垃圾陷阱题目描述: 约翰的hesitans奶牛掉到了一个高度为D垃圾井里面,农民约翰要把奶牛救出来,于是他往垃圾井里面扔G个垃圾。对于第i个垃圾,奶牛卡门可以把他吃掉来延长f[i]小时时长的生命,也可以把它放在脚下来垫高自己的高度h[i]。每个垃圾掉落的时间分别为t[i]。现给出垃圾的数量和每个垃圾的掉落时间、可延长生命的时间和可以垫高的高度,请你输出奶牛最早什么时候可以爬出垃圾井。(这道题在BZ原创 2016-08-08 10:18:22 · 499 阅读 · 0 评论 -
【HDU 6365】暑期多校day6 Shoot Game (区间dp)
题目大意 在二维平面的第一象限和第四象限上有 n 条线段表示 n 堵墙,每堵墙有一个坚固度 wi ,表示只有不小于 wi 的能量才能摧毁并贯穿它。你只能从原点向任意方向发射任意能量,问至少需要发射多少能量才能把所有的墙都摧毁。 解题思路 在考试的时候一直都想偏了,一直在考虑各个墙之间的遮挡关系,甚至画出了拓扑图。 由于这道题的线段都是在二维平面上,这就很烦,所以考虑降维。虽然发射能量的...原创 2018-08-09 11:03:36 · 491 阅读 · 0 评论 -
【HDU 6327】 暑期多校day3 Random Sequence (妙妙dp)
题目大意 给定一个正整数序列 a[1..n]a[1..n]a[1..n],每个数在 [1,m][1,m][1, m] 之间,有些数已知,有些数未知。 在未知数在 [1,m][1,m][1, m] 之间随机的情况下,求以下值的期望: ∏i=1n−3v[gcd(ai,ai+1,ai+2,ai+3)]4≤n≤100,1≤m≤100∏i=1n−3v[gcd(ai,ai+1,ai+2,ai+3)]4≤...原创 2018-07-31 17:49:47 · 190 阅读 · 0 评论 -
【Nowcoder】暑期多校day5 GPA (01分数规划)
题目大意 共有 n 个对象,每个对象有两个属性值 si ci,至多可以删去 k 个对象,求右式的最大值:∑ni=1s[i]∗c[i]∑ni=1s[i]∑i=1ns[i]∗c[i]∑i=1ns[i]\frac{\sum_{i=1}^{n}s[i]*c[i]}{\sum_{i=1}^{n}s[i]}。 解题思路 01分数规划的经典问题。二分答案解决问题,当我们检查二分到的值 D 是否可以达到...原创 2018-08-03 10:28:49 · 131 阅读 · 0 评论