随笔分类 -  ACM-dp

摘要:转自:http://www.cnblogs.com/kuangbin/archive/2011/11/12/2246407.html【题目大意】一条公路上有n个旅馆,选出其中k个设置仓库,一个仓库可服务若干个旅馆,一个旅馆只需一个仓库服务。问在哪几个旅馆设置仓库,每个仓库服务哪些旅馆,可使得旅馆到仓... 阅读全文
posted @ 2015-05-11 17:03 miao_a_miao 阅读(197) 评论(0) 推荐(0)
摘要:题意:有n个房间结构可看成一棵树,有m个士兵,从1号房间开始让士兵向相邻的房间出发,每个房间有一定的敌人,每个士兵可以对抗20个敌人,士兵在某个房间对抗敌人使无法走开,同时有一个价值,问你花费这m个士兵可以得到的最大价值是多少链接:点我分析:树形dp,对于点u,dp[u][j]表示以u为根的树消耗j... 阅读全文
posted @ 2015-05-11 00:21 miao_a_miao 阅读(199) 评论(0) 推荐(0)
摘要:题意:有n个人,接下来n行是n个人的价值,再接下来n行给出l,k说的是l的上司是k,这里注意l与k是不能同时出现的链接:点我dp[i][1] += dp[j][0],dp[i][0] += max{dp[j][0],dp[j][1]};其中j为i的孩子节点。第二次做感觉已经很水了 1 #includ... 阅读全文
posted @ 2015-05-10 22:19 miao_a_miao 阅读(184) 评论(0) 推荐(0)
摘要:题意:给出一组N个数,每次从中抽出一个数(第一和最后一个不能抽),该次的得分即为抽出的数与相邻两个数的乘积。直到只剩下首尾两个数为止。问最小得分是多少?链接:点我转移方程:dp[i][j]=dp[i][k]+dp[k][j]+a[i]*a[j]*a[k]这里的k一定是最后一步算的,所以乘以a[i]和... 阅读全文
posted @ 2015-05-10 17:12 miao_a_miao 阅读(141) 评论(0) 推荐(0)
摘要:题意:给出两个串s1和s2,一次只能将一个区间刷一次,问最少几次能让s1=s2例如zzzzzfzzzzz,长度为11,我们就将下标看做0~10先将0~10刷一次,变成aaaaaaaaaaa1~9刷一次,abbbbbbbbba2~8:abcccccccba3~7:abcdddddcba4~6:abcd... 阅读全文
posted @ 2015-05-10 16:43 miao_a_miao 阅读(195) 评论(0) 推荐(0)
摘要:题意:给出一个数,把他拆成2^n和的形式,问有多少种拆法链接:点我对6进行分析1 1 1 1 1 11 1 1 1 21 1 2 21 1 42 2 42 4对最上面4个,显然是由4的拆分然后每个加+1 +1得到的最下面是由,2的拆分乘2得到的设a[n]为和为 n 的种类数;根据题目可知,加数为2的... 阅读全文
posted @ 2015-05-10 11:26 miao_a_miao 阅读(156) 评论(0) 推荐(0)
摘要:题意:给出价值和数量,求能分开的最近的两个总价值,例如10,20*2,30,分开就是40,40链接:点我 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 using namespace st... 阅读全文
posted @ 2015-05-10 10:59 miao_a_miao 阅读(137) 评论(0) 推荐(0)
摘要:题意:有n门课,每门课有截止时间和完成所需的时间,如果超过规定时间完成,每超过一天就会扣1分,问怎样安排做作业的顺序才能使得所扣的分最小链接:点我 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include... 阅读全文
posted @ 2015-05-10 10:26 miao_a_miao 阅读(142) 评论(0) 推荐(0)
摘要:转自:点我 题目:给出p1+p2个人,其中p1个是好人,p2个是坏人。然后有一些关系 ,a说b是好人(坏人).其中没有矛盾的,判断是否有唯一解判断哪些人是好人,哪些人是坏人。 其中比较重要的是,好人总说真话,坏人总说假话。不需要判断矛盾。唯一解 http://poj.org/problem?id=1 阅读全文
posted @ 2015-05-10 09:32 miao_a_miao 阅读(240) 评论(0) 推荐(0)
摘要:题意:题目:有一个队列,每个人有一个愤怒值D,如果他是第K个上场,不开心指数就为(K-1)*D。但是边上有一个小黑屋(其实就是个堆栈),可以一定程度上调整上场程序dp[i][j]表示从第i个人到第j个人这段区间的最小花费(是只考虑这j-i+1个人,不需要考虑前面有多少人)那么对于dp[i][j]的第... 阅读全文
posted @ 2015-05-07 09:04 miao_a_miao 阅读(597) 评论(0) 推荐(0)
摘要:题意:求一个环的最长回文序列,是序列不是串链接:点我起点是可以任意的,所以只要求出每个区间的最长回文序列之后取max(dp[1][i]+dp[i+1][n]),即可得最终答案本来是想扩展两倍的,但是后来的最大不太好想将 环倍增成链,求出窗口为n的最长子序列,但这不是最终的解,你可以试看看Sample... 阅读全文
posted @ 2015-05-07 00:22 miao_a_miao 阅读(234) 评论(0) 推荐(0)
摘要:观察区数字是否含有13并且能被13整除Sample Input131002001000Sample Output1 1 2 2注意在判断新状态的时候顺序不能弄反,否则会把之前的正确状态覆盖 1 #include 2 #include 3 #include 4 #include 5 #include ... 阅读全文
posted @ 2015-05-06 17:39 miao_a_miao 阅读(285) 评论(0) 推荐(0)
摘要:题意:求最大括号匹配链接:点我区间dp水题,但也是很经典,区间dp都是由此延伸出来的,越是基础题越是需要勤加练习Sample Input((()))()()()([]]))[)(([][][)endSample Output664062015-07-19:专题复习纪念 1 #include 2 #i... 阅读全文
posted @ 2015-05-06 17:23 miao_a_miao 阅读(188) 评论(0) 推荐(0)
摘要:题意:求区间L到R之间的数A满足A的的数位的最长递增序列的长度为K的数的个数。链接:点我该题的关键是记录LIS的状态,学习过nlogn解法的同学都知道,我们每次加入的元素要和前面的比对替换,这里就用了这个方法比如1 3 6,用二进制表示为001000101,假如新加入的数为2,那么我们枚举比2大的数... 阅读全文
posted @ 2015-05-06 17:04 miao_a_miao 阅读(174) 评论(0) 推荐(0)
摘要:题意:最少添加括号,并输出链接:点我第一个区间dp题,果断百度的蛮好理解,这里直接粘贴别人的题解啦,d是区间内需要添加的括号数对于任何s[i]..s[j]应该分为两种情况考虑,一种是s[i]='('&& amp;s[j]=')' 或者s[i]='['&&s[j]=']',如果是这种情况,则d[i][... 阅读全文
posted @ 2015-05-03 17:18 miao_a_miao 阅读(274) 评论(0) 推荐(0)
摘要:题意:假设: 1、每一个时刻我们只能打一只地鼠,并且打完以后该时刻出现的所有地鼠都会立刻消失; 2、老鼠出现的位置在一条直线上,如果上一个时刻我们在x1位置打地鼠,下一个时刻我们在x2位置打地鼠,那么,此时我们消耗的能量为abs( x1 - x2 ); 3、打第一只地鼠无能量消耗。 现在,我... 阅读全文
posted @ 2015-05-03 08:39 miao_a_miao 阅读(137) 评论(0) 推荐(0)
摘要:题意:给定一个序列ai,个数为n。再给出一系列w;对于每个w,求序列中,所有长度为w的连续子串中的权值和,子串权值为子串中不同数的个数去了几个头文件,然后终于A了以样例为例说明:1 1 2 3 4 4 5;明显dp[1]=n=7;长度为1的时候有7个区间。从长度为1到长度为2,就是把前6个区间往后增... 阅读全文
posted @ 2015-05-01 10:14 miao_a_miao 阅读(1479) 评论(0) 推荐(0)
摘要:题意:给出n*n的格子,每个各自里面有些食物,问一只老鼠每次走最多k步所能吃到的最多的食物虽然是做过的老题了,但是1A的感觉好爽,对搜索认识更深了 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include... 阅读全文
posted @ 2015-04-16 23:12 miao_a_miao 阅读(146) 评论(0) 推荐(0)
摘要:题目:给出K个数,使得这K个数的和为N,LCM为M,问有多少种f[i][j][k]表示选i个数,总和为j,最小公倍数为kmemery卡的比较紧,注意不要开太大,按照题目数据开这种类型的dp也是第一次做 1 #include 2 #include 3 #include 4 #include 5 #in... 阅读全文
posted @ 2015-04-15 23:19 miao_a_miao 阅读(316) 评论(0) 推荐(0)
摘要:题意:有N(1 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 using namespace std; 9 #define MOD 100000000710 const double eps=1e-5;11 #... 阅读全文
posted @ 2015-04-13 22:50 miao_a_miao 阅读(109) 评论(0) 推荐(0)