文章分类 -  动态规划

摘要:题目描述 你正在玩你最喜欢的电子游戏,并且刚刚进入一个奖励关。在这个奖励关里,系统将依次随机抛出k次宝物,每次你都可以选择吃或者不吃(必须在抛出下一个宝物之前做出选择,且现在决定不吃的宝物以后也不能再吃)。 宝物一共有n种,系统每次抛出这n种宝物的概率都相同且相互独立。也就是说,即使前k-1 次系统 阅读全文
posted @ 2017-08-11 09:36 KingSann 阅读(193) 评论(0) 推荐(0)
摘要:题目描述 某地临时居民想获得长期居住权就必须申请拿到红牌。获得红牌的过程是相当复杂 ,一共包括N个步骤。每一步骤都由政府的某个工作人员负责检查你所提交的材料是否符合条件。为了加快进程,每一步政府都派了M个工作人员来检查材料。不幸的是,并不是每一个工作人员效率都很高。尽管如此,为了体现“公开政府”的政 阅读全文
posted @ 2017-08-09 14:59 KingSann 阅读(142) 评论(0) 推荐(0)
摘要:1257: [DP地狱训练]挤牛奶 题目描述 小卡卡终于帮农夫John找到了走丢的那一头奶牛,John为了感谢小卡卡,不仅告诉了他在 Pascal山脉上可能存在Pascal圣地最大的宝藏,还说要请小卡卡喝牛奶。可是农夫John发现他家里所储藏的牛奶已经喝光了,所以要临时给奶牛挤奶。小卡卡实在是太好心 阅读全文
posted @ 2017-08-08 15:53 KingSann 阅读(1413) 评论(0) 推荐(0)
摘要:1254: [DP地狱训练]石子归并 题目描述 有一堆石头质量分别为W1,W2,…,Wn.(Wi≤10000),将石头合并为两堆,使两堆质量的差最小。 输入 输入第一行只有一个整数n(1≤n≤50),表示有n堆石子。接下去的n行,为每堆石子质量。 输出 输出只有一行,该行只有一个整数,表示最小的质量 阅读全文
posted @ 2017-08-08 15:50 KingSann 阅读(239) 评论(0) 推荐(0)
摘要:1270: [DP地狱训练]石子合并 题目描述 有n堆石子围成一个圆圈。现在需要把它们合并成一堆石子。每次合并时,只能合并相邻的两堆石子,所耗力气为两堆石子重量之和,合并得到的新堆的重量为原两堆重量之和。问最少需要耗费多少力气? 数据规模:1<=n<=200,合并n堆石子最少需要耗费的力气不超过2* 阅读全文
posted @ 2017-08-08 15:48 KingSann 阅读(322) 评论(0) 推荐(0)
摘要:1253: [DP地狱训练]砝码秤重 __数据加强版 题目描述 设有n种砝码,第k种砝码有Ck个,每个重量均为Wk,求:用这些砝码能秤出的不同重量的个数,但不包括一个砝码也不用的情况。 输入 输入的第一行只有一个数n,表示不同的砝码的种类数. 第2行至第n+1行,每行有两个整数.第k+1行的两个数分 阅读全文
posted @ 2017-08-08 15:47 KingSann 阅读(397) 评论(0) 推荐(0)
摘要:1252: [DP地狱训练]装箱问题 题目描述 有一个箱子容量为V(正整数,0 ≤ V ≤ 20000),同时有n个物品(0 < n ≤ 30),每个物品有一个体积(正整数)。要求从n个物品中,任取若干个装入箱内,使箱子的剩余空间为最小。 输入 输入有若干行。第一行:一个整数,表示箱子容量V;第二行 阅读全文
posted @ 2017-08-08 15:44 KingSann 阅读(191) 评论(0) 推荐(0)
摘要:1258: [DP地狱训练]打包 题目描述 你现在拿到了许多的礼物,你要把这些礼物放进袋子里。你只有一个最多装下V 体积物品的袋子,你不能全部放进去。你也拿不动那么重的东西。你估计你能拿的最大重量为 G。现在你了解了每一个物品的完美值、重量和体积,你当然想让袋子中装的物品的完美值总和最大,你又得计划 阅读全文
posted @ 2017-08-08 15:42 KingSann 阅读(270) 评论(0) 推荐(0)
摘要:1256: [DP地狱训练]光光的作业 题目描述 光光上了高中,科目增多了。在长假里,光光的老师们都非常严厉,都给他布置了一定量的作业。 假期里,光光一共有的时间是k小时。在长假前,老师们一共给光光布置了n份作业,第i份作业需 要的时间是ti小时。但是由于老师们互相不商量,因此光光有可能不能完成老师 阅读全文
posted @ 2017-08-08 15:40 KingSann 阅读(384) 评论(0) 推荐(0)
摘要:好神啊。。。完全不会。。。 树上DP+环上DP 如果当前节点是割点,那么就tarjan下去然后树上dp一下,f[x]记录一下x的最长链,然后在更新的时候更新答案 如果是一个环,那么就用bzoj1040那样的基环树类似的套路,把环搞成一个区间,然后跑一下单调队列 由于环比较特殊,另环最上面的点为roo 阅读全文
posted @ 2017-02-14 20:12 KingSann 阅读(192) 评论(0) 推荐(0)
摘要:窝不会dp啊。。。 fft貌似写的炸空间了。。。 还是暴力吧。。。 1 #include <iostream> 2 #include <algorithm> 3 #include <cstdio> 4 #include <cstring> 5 #include <cstdlib> 6 #includ 阅读全文
posted @ 2017-02-10 14:02 KingSann 阅读(104) 评论(0) 推荐(0)
摘要:斐波纳切数列·二改 1 #include <iostream> 2 #include <algorithm> 3 #include <cstdio> 4 #include <cstring> 5 #include <cstdlib> 6 #include <queue> 7 #include <st 阅读全文
posted @ 2017-02-01 14:10 KingSann 阅读(87) 评论(0) 推荐(0)
摘要:数字三角形 1 #include <iostream> 2 #include <algorithm> 3 #include <cstdio> 4 #include <cstring> 5 #include <cstdlib> 6 #include <queue> 7 #include <string 阅读全文
posted @ 2017-02-01 13:50 KingSann 阅读(87) 评论(0) 推荐(0)
摘要:1 #include <iostream> 2 #include <algorithm> 3 #include <cstdio> 4 #include <cstring> 5 #include <cstdlib> 6 #include <queue> 7 #include <string> 8 #i 阅读全文
posted @ 2017-02-01 10:13 KingSann 阅读(79) 评论(0) 推荐(0)
摘要:压缩一下块,然后区间dp。 左右两边合并的时候的代价是是否加起来大于2。(是否需要再插入一个球) 1 uses math; 2 var _color:array[0..1000] of Longint; 3 _tot:array[0..1000] of Longint; 4 src:array[0. 阅读全文
posted @ 2017-01-31 21:49 KingSann 阅读(112) 评论(0) 推荐(0)
摘要:1 var i,j,k,n,m,len,head,tail,p,tot,ans1,ans2,x:Longint; 2 ch:array[0..20000] of array[0..30] of Longint; 3 fail:array[0..20000] of Longint; 4 fg:arra 阅读全文
posted @ 2017-01-31 18:20 KingSann 阅读(77) 评论(0) 推荐(0)
摘要:1 import sys 2 n,d=map(int,sys.stdin.readline().split()) 3 if d==0: 4 print 1 5 exit(0) 6 s=1 7 ss=1 8 for i in range(0,d): 9 ss=s 10 s=s**n+1 11 prin 阅读全文
posted @ 2017-01-29 11:03 KingSann 阅读(81) 评论(0) 推荐(0)
摘要:f[i]:=1~i的最小花费 f[i]:=min{f[j]+Sigmaik=j+1(x[i]-x[k])*p[k]}+c[i] 然后斜率优化。 1 #include <iostream> 2 #include <algorithm> 3 #include <cstdio> 4 #include <c 阅读全文
posted @ 2017-01-29 10:53 KingSann 阅读(114) 评论(0) 推荐(0)
摘要:http://www.cnblogs.com/ianaesthetic/p/3714216.html 1 #include <iostream> 2 #include <algorithm> 3 #include <cstdio> 4 #include <cstring> 5 #include <c 阅读全文
posted @ 2017-01-28 23:18 KingSann 阅读(192) 评论(0) 推荐(0)
摘要:由于是无环图所以并不需要高斯消元什么的。。 f[i]:=i到n的期望 f[i]=Σf[j]+cost[i][j] (i,j∈G) f[n]=0 那么就是需要求f[1],将图反向后bfs一遍就行。(dfs的话会爆栈。。) 1 #include <iostream> 2 #include <algori 阅读全文
posted @ 2017-01-23 16:35 KingSann 阅读(148) 评论(0) 推荐(0)