###### DP ######
至此曾经
从未坚持?
展开
-
状态压缩DP
状态压缩DP:这类问题有TSP、插头dp ,轮廓线DP等。 参考大佬的总结:http://blog.csdn.net/renl1000/article/details/53126502 基本状压: poj 3254: 分析:经典状态压缩 以行为阶段递推.每一行的状态用01状态表示。1代表放,0代表不放。 预处理求出满足不相连的0原创 2017-08-30 21:43:37 · 268 阅读 · 0 评论 -
牛客网暑期ACM多校训练营(第二场)H travel
看大神的思路很清晰 https://blog.csdn.net/WuBaizhe/article/details/81153513 重点就是这个 sum[k][i][j]sum[k][i][j]:前kk个儿子所构成的子树林包含jj条不相交路径和ii条以根为端点的不相交链的最大值 则根据以第kk个儿子为根的子树贡献路径的情况,sum[k]sum[k]的值可以由sum[k−1]sum[k−1]转移...原创 2018-07-24 16:05:09 · 185 阅读 · 0 评论 -
Wannafly挑战赛16 打怪
题目:有a种武器,b种属性,和c种怪物。对于第k种怪物,给出武器i和属性j的搭配在一个单位时间内对其造成的伤害hk,i,j。已知一开始使用武器i,需要时间xi,使用属性i,需要时间yi。然后从武器i直接切换成武器j,需要时间fi,j,从属性i直接切换成属性j需要时间gi,j。有一个长度为n的怪物序列,给出怪物i的血量wi和种类ti,在打怪物的时候可以随意切换武器和属性,问按顺序打死所有怪物(使得血...原创 2018-05-30 22:40:45 · 173 阅读 · 0 评论 -
Wannafly挑战赛16 取石子
题目:给出四堆石子,石子数分别为a,b,c,d。规定每次只能从堆顶取走石子,问取走所有石子的方案数。样例:3 5 4 2输出:2522520数学垃圾硬是乱dp:/** 这就是数学垃圾的下场!!!!! dp[i][j]表示只有两堆石子时有多少种取法。 f[i][j]表示把长度为j的序列 插入到长度为i的序列中 而且序列 i,j都保持原有得次序 的方法有多少种。 则 ans = f[a+b][c+d]...原创 2018-05-30 21:10:29 · 191 阅读 · 0 评论 -
“浪潮杯”第九届山东省ACM大学生程序设计竞赛重现赛 G-Games
题意:Nim游戏 : n堆石子,在每个回合中,玩家可以从某一堆中移除一些石头(数量必须是正数,而不大于桩中剩余石头的数量)。一个玩家获胜,如果他或她移除最后的石头,所有的堆都是空的。Alice先手,但是Bob鲍伯可以选择不大于d堆的石子,并在游戏开始之前将它们全部移除。求有多少种移方法可以让Bob必胜。 ans = 有多少种方法使得移除石子后 先手必败 (Nim游戏 每堆石子数一起的异或和为0...原创 2018-05-20 13:59:12 · 652 阅读 · 0 评论 -
计蒜客 Bridge Automation(ACM ICPC 2017 Warmup Contest 9)
In Delft there are a number of bridges that are still being operated by a human, known as the bridge operator. One such bridge operator will soon retire, hence there is the need for a replacement.The原创 2017-10-21 20:33:49 · 439 阅读 · 0 评论 -
hihocoder 1609 数组分拆II
时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 给定一个包含N个整数的数组A=[A1, A2, ... AN]。小Ho想将A拆分成若干连续的子数组,使得每个子数组中的整数都是两两不同的。 在满足以上条件的前提下,小Ho想知道子数组数量最少是多少。 同时他还想知道,在数量最少的前提下有多少中不同的拆法。 例如对于[1, 2, 3, 1,原创 2017-10-19 20:11:19 · 297 阅读 · 0 评论 -
poj 3700 Missile Defence System
转自:http://www.cppblog.com/initiate/archive/2010/04/05/111676.html,大神如此叼,我实在是佩服。 对于一套导弹拦截系统,它要不可以拦截上升序列,要不可以拦截下降序列,现在问最少需要多少套系统。 很自然的想到LIS算法,可惜在这里不能用,如果这样贪心的话 每套系统拦截最多的导弹和系统的数量最少没有什么直接联系,应该不会正确 而转载 2016-10-13 13:16:33 · 573 阅读 · 0 评论 -
LIS 最长上升子序列
最长递增子序列问题:在一列数中寻找一些数,这些数满足:任意两个数a[i]和a[j],若i 设dp[i]表示以i为结尾的最长递增子序列的长度,则状态转移方程为: dp[i] = max{dp[j]+1}, 1 这样简单的复杂度为O(n^2),其实还有更好的方法。 考虑两个数a[x]和a[y],x 按dp[t]=k来分类,只需保留dp[t]=k的所有a[t]中的最小值,设d[k]记录这个值,转载 2016-10-13 13:10:44 · 163 阅读 · 0 评论 -
hdu 5748 Bellovin
Problem Description Peter has a sequence a1,a2,...,an and he define a function on the sequence -- F(a1,a2,...,an)=(f1,f2,...,fn), where fi is the length of the longest increasing subsequence ending原创 2016-11-17 13:49:54 · 248 阅读 · 0 评论 -
图灵杯 爬楼梯
题目描述 由于第m个台阶上有好吃的薯条,所以薯片现在要爬一段m阶的楼梯. 薯片每步最多能爬k个阶梯,但是每到了第i个台阶,薯片身上的糖果都会掉落ai个,现在问你薯片至少得掉多少糖果才能得到薯条? 输入 多组数据输入,每组数据第一行输入两个数字m(1 输出 对于每组数据,输出至少要牺牲的糖果数. 样例输入 5 2 1 2 3 4 5 6 2 6 5 4 3 2原创 2016-11-19 16:11:49 · 800 阅读 · 0 评论 -
玲珑 1050 array
2 array is an array, which looks like: 1,2,4,8,16,32,64...... a1=1 | ai+1/ai =2 Give you a number array, and your mission is to get the number of subsequences ,which is 2 array, of it. Note: 2 a原创 2016-11-14 21:20:40 · 216 阅读 · 0 评论 -
计蒜客 乘法游戏
乘法游戏是在一行牌上进行的。每一张牌包括了一个正整数。在每一个移动中,玩家拿出一张牌,得分是用它的数字乘以它左边和右边的数,所以不允许拿第1张和最后1张牌。最后一次移动后,这里只剩下两张牌。 你的目标是使得分的和最小。 例如,如果数是10 1 50 20 5,依次拿1、20、50,总分是10*1*50+50*20*5+10*50*5=8000 而拿50、20、1,总分是1*50*20+原创 2017-09-18 20:07:32 · 556 阅读 · 0 评论 -
hdu 6201 transaction transaction transaction
Problem Description Kelukin is a businessman. Every day, he travels around cities to do some business. On August 17th, in memory of a great man, citizens will read a book named "the Man Who Changed C原创 2017-09-10 22:19:30 · 209 阅读 · 0 评论 -
hdu 6185 Covering
Problem Description Bob's school has a big playground, boys and girls always play games here after school. To protect boys and girls from getting hurt when playing happily on the playground, rich原创 2017-09-04 21:23:09 · 418 阅读 · 0 评论 -
2018 Multi-University Training Contest 3 Problem C. Dynamic Graph Matching
题意: 给定一个 n 个点的无向图,m 次加边或者删边操作。 在每次操作后统计有多少个匹配包含 k = 1,2,..., n 2 条边。 ans: /** * f[i][S]为 第i次操作 集合S里的点 都要匹配的 方案数。 * + 一条边时 可以选择 要这条边进行匹配 f[i][S] += f[i-1][S^(1<<u)^(1<<v)],(选择这条边 剩下的点有多...原创 2018-07-30 21:11:17 · 113 阅读 · 0 评论