随笔分类 - { 动态规划 }
摘要:由于这整个状态不是DAG,用SPFA去转移。。其实这相当于二维最短路吧。。
阅读全文
摘要:题目大概说给一张大小n*m由'X'或'.'标记的图,要在其各个位置填入1到n*m这几个数,满足'X'填入的数是极小的(小于周围八个数)且'.'填入的数不是极小的,求有几种填法。
阅读全文
摘要:题目大概说给一棵结点有权的树,定义一个连通块的价值为其所有结点点权异或和,问这棵树有几个价值为[0,m)的子图。
阅读全文
摘要:题目求用N根火柴棒拼成A-B=C这种等式的方案数。
阅读全文
摘要:楼教主男人八题也又一题是和这题一样,n个有标号点能构成的简单无向连通图数,不过这题题目数据大很多。
阅读全文
摘要:题目大概就是说给n个数和s,然后求上面那个式子的结果,f(i,j,k,l,m)表示下标i和j的数必选、k和l不选且选出数的和为s的选法总数。
阅读全文
摘要:题目大概说有n个各有高度的砖头,要用它们叠出两个高度一样的塔,问高度最多为多少。
阅读全文
摘要:题目大概说,对于1到n这n个数的任何一个排列A可以这样计算其价值:对所有下标i找到最小的j满足j>i且A[j]>A[i],然后i和j之间连边,最后所有连通块个数之积的平方就是该排列的价值。问所有排列的价值和是多少。
阅读全文
摘要:题目大概说已知连续i(1<=i<=n)个贝壳组合成一段项链的方案数a[i],求组合成包含n个贝壳的项链的总方案数。
阅读全文
摘要:题目大概说给N个<key,value>二元组,每次可以取出相邻的且其key的GCD不为1的两个二元组,并获得二者value之和的价值,问能取到的最大价值是多少?
阅读全文
摘要:题目大概说有n1个步兵和n2骑兵要排成一排,连续步兵数不能超过k1个,连续骑兵数不能超过k2个,问有几种排列方案。
阅读全文
摘要:题目打给说给一个序列,可以进行若干次操作,每次操作选择一个数让它+1或-1,问最少要几次操作使得序列变为严格单调递增序列。
阅读全文
摘要:题目大概说用k个不同的字母,有多少种方法构造出两个长度n最长公共子串长度为m的字符串。
阅读全文
摘要:题目大概说给一棵树,点和边都有权值,经过一点可以加上该点的权值但最多只加一次,经过边会减去该边权值,问从各个点分别出发最多能获得多少权值。
这题是很裸的一种树形DP,做过类似HDU2196就知道怎么做了。两个DFS分别在O(n)处理出两种信息,各个结点往其为根的子树走的信息和各个结点往父亲走的信息,各个结点就能在O(1)合并这两个信息分别得出各个结点的最终信息。。
阅读全文
摘要:题目大概说给一个序列,求k个不重叠长m的连续子序列的最大和。
阅读全文
摘要:题目大概说,定义,一个数为Almost-K-First-P-Prime当且仅当这个数由K个质因子组成,且这K个质因子包含且仅包含于前P个质数。给定k和p,求Σphi(AkFpP)。
阅读全文
摘要:题目大概说有n本书,要依次把它们放到书架,可以放到书架的左边或者右边挨着已经放好的书的下一个位置,当然也可以选择不放。放好后要保证书的高度从左到右非递减。问最多能放上几本书。
阅读全文
摘要:题目大概说有两种卡牌,使用A牌能从牌堆摸两张牌,使用B牌能对对方造成xi点伤害。在你的回合,你从牌堆摸一张牌,问能对对方造成p点及以上伤害的概率。
要求的其实就是能造成p点以上伤害的牌堆排列数/牌堆全排列数。
全排列而且总数为20,这种就该想到尝试用状压DP。。
阅读全文
摘要:转载请注明出处:http://www.cnblogs.com/WABoss/p/DP.html 动态规划(Dynamic Programming, DP)是运筹学的一个分支,是求解决策过程(decision process)最优化的数学方法…… (先忘了这个吧)允许我从另一个角度去理解并解释动态规划
阅读全文
摘要:题目大概说有一棵树要给结点染色0或1,要求所有度为1的结点一半是0一半是1,然后问怎么染色,使两端点颜色不一样的边最少。 dp[0/1][u][x]表示以u结点为根的子树中u结点是0/1色 且其子树有x个结点染成1色 的最少边数 转移就是树上背包了。有点就是各个子树必须选,这种形式的树上背包之前做过
阅读全文