
DP
文章平均质量分 81
tju_virus
这个作者很懒,什么都没留下…
展开
-
2012 Multi-University Training Contest 5-1001 hdu4340(Virus原创)
题目大意: Ant和Bob要占领一个国家,这个国家有N个相互连接的城市(编号为1-N),任意两个城市间有且只有一条线路,占领城市需要花费一定的时间。占领顺序任意,但是若Ant占领了一个城市,则他占领与这个城市相连的城市时需要花费的时间会减半,Bob也是一样。现在给出Ant和Bob占领每个城市需要的时间以及城市之间的同路,求Ant和Bob占领整个国家需要的时间。输入:第一行 N代表有原创 2012-08-07 19:52:47 · 448 阅读 · 0 评论 -
2012 Multi-University Training Contest 5-1007 hdu4345
题目描述:有N个元素的一个集合经过K次置换能变回原来的集合,求k的个数。解题思路:k为置换群中各独立置换群长度的最小公倍数,k的个数即N以内的总和小于10的质数的乘积(包括1)比如N=10时,k可为:1,2,3,2*2,5,2*3,7,2*2*2,3*3,2*5,2*2*3,2*7,3*5,2*2*5,3*7,2*3*5,共16个解法:DP 状态: dp[原创 2012-08-07 19:33:36 · 359 阅读 · 0 评论 -
2012 Multi-University Training Contest 6-1010 hdu4359 Easy Tree DP?
这场比赛中的简单dp题。要求左子树所有值的和小于右子树所有值的和。由于每个结点中的值都是2的几次方,那么就有这样一个很好的性质2^0+2^1+...+2^(n-1) 那么如果树中的左右子都有的话,那么只要最大的在右子树中就能保证右子树的总和大于左子树的总和用dp[i][j] 表示i个结点形成深度为j 的树有多少种 comb[i][j] 表示i个结点形成深度小于j的树有多少种方式,c[i原创 2012-08-10 12:27:48 · 420 阅读 · 0 评论 -
TOJ 3849 Sentence Segmentation
这是一道AC自动机与dp结合的题目。每个单词有一个权值,把一个长的单词分解成所给的几个单词,并要求尽量使所得到的权值最大,如果不能分解成所给的几个单词输出-1。用dp[i] 表示到i个位置以前的单词分解所能得到的最大权值。那么当我们用ac自动机匹配到一个单词时就要更新dp[pts+1] = max(dp[pts+1],dp[pts+1 - tmp->cnt] + tmp->value)原创 2012-08-12 12:50:36 · 401 阅读 · 0 评论 -
2011 Asia Beijing Regional Online Contest-1005 hdu4044 GeoDefense
http://acm.hdu.edu.cn/showproblem.php?pid=4044题意:有一棵树,各节点上可以建塔防,塔防有自己的攻击力和价格。初始时给m金钱,每建一座需花费一定价钱,同时每个结点至多建一座。有一个怪物,从根节点1走向叶子节点,路上会被塔防攻击掉血。求一个最大的怪物血量,使得不管它走向哪个叶子节点,都可以被用至多m的金钱建的塔防消灭。思路:在怪物由根节点走向叶原创 2012-08-11 19:42:50 · 512 阅读 · 0 评论 -
2011 Asia Beijing Regional Online Contest-1010 hdu4049 Tourism Planning
这是一道状态压缩DP题目用dp[i][1024] 可以记下经过第i个城市的所有状态在状态转移的时候,dp[i-1][j]中的j必须在 dp[i][k] 的k为1的对应位上也为1例如,如果k为10110,那么j可以使10110或10111或11110或11111或10110,我们可以提前处理出所有能转移到k的状态转移过程就非常简单了做这道题的时候再位运算的处理上wrong ans原创 2012-08-11 20:58:23 · 317 阅读 · 0 评论 -
2011 Asia Beijing Regional Online Contest-1005 hdu4044 GeoDefense-tjuqxy
昨天一个下午边看视频边写的代码,今天又一个下午来调试,本来对这份代码很没信心的,觉得那些想法有问题,今天跟同学又讨论了一下午找代码里的Bug,把程序认认真真读了一遍之前写的那些想法都明白了:树形DP,分组背包空间优化,建树,DP状态转移过程中的“滚动数组”。 觉得对DP有了更深入的理解吧,代码发上来纪念下。最后膜拜下政哥……#include #include #原创 2012-08-13 20:18:33 · 324 阅读 · 0 评论 -
2012 Multi-University Training Contest 7-1003 hdu4362 Dragon Ball
题意: Sean有一张藏宝图,藏宝图会告诉他在接下来的m个时期内会出现n个龙珠(在不同的位置),从位置x移动到位置y需要话费|x-y|的能量,拿龙珠也需要一定的能量,每个时期他能切只能拿一个龙珠,问他拿完所有的龙珠需要的最小的能量是多少。输入:m,n,x 代表有m个时期,每个时期都出现n个龙珠,以及Sean的初始位置x然后两个m*n的矩阵,第一个矩阵表示在第i个时期第j个龙珠的位原创 2012-08-15 18:49:49 · 382 阅读 · 0 评论