dp
Last0rder
最后之作
展开
-
hdu 2191
额……杭电蹦了……就先这样吧……多重背包……Input输入数据首先包含一个正整数C,表示有C组测试用例,每组测试用例的第一行是两个整数n和m(1Output对于每组测试数据,请输出能够购买大米的最多重量,你可以假设经费买不光所有的大米,并且经费你可以不用完。每个实例的输出占一行。Sample Input18 22 100 44 100 2Sample O原创 2014-12-17 18:49:41 · 958 阅读 · 0 评论 -
hdu4028The time of a day
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65768/65768 K (Java/Others)Total Submission(s): 1157 Accepted Submission(s): 500Problem DescriptionThere are no days and nights on原创 2015-04-14 20:40:38 · 693 阅读 · 0 评论 -
hdu3555Bomb以及对数位dp的讲解
BombTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/65536 K (Java/Others)Total Submission(s): 9295 Accepted Submission(s): 3282Problem DescriptionThe counter-terrorists f原创 2015-04-15 20:52:18 · 1056 阅读 · 0 评论 -
hdu3507Print Article
Time Limit: 9000/3000 MS (Java/Others) Memory Limit: 131072/65536 K (Java/Others)Total Submission(s): 6455 Accepted Submission(s): 1990Problem DescriptionZero has an old printer that d原创 2015-04-09 22:17:48 · 794 阅读 · 0 评论 -
Codeforces 467 C. George and Job
time limit per test1 secondmemory limit per test256 megabytesinputstandard inputoutputstandard outputThe new ITone 6 has been released recently and George got really原创 2015-05-19 20:23:53 · 1033 阅读 · 0 评论 -
codeforce 559 C Gerald and Giant Chess
题意大概就是从左上角走到右下角只能往下或往右走,黑色格子不能走,问有多少种走法。这个要是知道对于没有黑色格子的时候,走到r行,c列的走法是C(r+c-2,r-1)的话就很容易了。考虑到黑色格子数目较少,dp[i]:走到第i个黑色格子的走法#include#include#include#include#include#include#include#inc原创 2015-07-27 09:45:47 · 840 阅读 · 0 评论 -
codeforce 571 B Minimization
题意:给出一个序列,经过合适的排序后,使得最小。做法:将a升序排序后,dp[i][j]:选择i个数量为n/k的集合,选择j个数量为n/k+1的集合的最小值。举个例子,a={1,2,3,4,5,6,7,8,9,10},k=2那么直接贪心可做,是这样,1,x,2,x,3,x,4,x,5,x。(也就是1,2,3,4,5作为一个集合) 6 7 8原创 2015-08-24 01:11:10 · 893 阅读 · 0 评论 -
codeforces 508 E. Arthur and Brackets
这个题,哈哈,很无语。题意:给出所有左括号跟右括号之间合法的距离,求出一个合法的括号序列。由于括号肯定是快点匹配完最好,所以维护一个栈,若当前的左括号可以被匹配那就匹配否则丢一个左括号进去。#include#include#include#include#include#include#include#include#include#include#原创 2015-07-31 17:19:45 · 802 阅读 · 0 评论 -
codeforces 570 E. Pig and Palindromes
题意:给出n*m的字母表,求从左上角走到右下角能形成多少个回文串,只能往下或往右走。做法:dp[r1][c1][r2][c2],从左上角走到(r1,c1),从右下角走到(r2,c2)时,能形成多少个回文串,因为爆内存,表示成dp[step][r1][r2],从左上角走到r1行,从右下角走到r2行,分别走了step步时,能形成多少个回文串,因为c1=step+2-r1,c2=n+m-st原创 2015-08-17 20:57:16 · 863 阅读 · 0 评论 -
hdu5303Delicious Apples
题意大概就是有n框苹果放在长度为L的环上,每框有ai个苹果,你有一个容量为k的框,要你从0点处出发,任意走,框满了就回到0点把苹果放在那里,继续走直到把苹果都拿完为止,问你最少要走多少路程。首先贪心的策略,不管往哪边走,碰到苹果就拿,拿满就滚回去。然后碰到走一个半圈,框还剩下容量的情况,就需要dp了,主要是L为偶数的时候,若L/2的位置有苹果,该算是哪个半圈拿比较好呢?当然也可原创 2015-07-25 21:17:02 · 848 阅读 · 0 评论 -
HDU 5396 Expression
题意:给出一个式子,你可以将里面的运算符标上不同的优先级,然后按照优先级运算,问,不同的标法的所有结果的和是多少。做法:http://www.cnblogs.com/chenchengxun/p/4741439.html这个链接解释的比较清楚了,关于最后乘以组合数那里,我再补充一下。这个其实就是区间DP了dp[i][j] 代表的是区间 i 到原创 2015-08-19 15:47:44 · 733 阅读 · 0 评论 -
codefoces 597C - Subsequences
题意:求出上升子序列为k的数量做法:dp[0][i][j]:以第i个数为结尾的序列长度为j的数量,dp[0][i][j]=sum(dp[0][ii][j-1]),a[ii]dp[1][i][j]:前i个数中,序列长度为j的数量,dp[1][i][j]=dp[1][i-1][j]+dp[0][i][j]#includeusing namespace std;typedef l原创 2016-01-26 13:00:48 · 687 阅读 · 0 评论 -
51nod1376 最长递增子序列的数量
做法类似上个题.#includeusing namespace std;typedef long long ll;const int mod=1000000007;int dp[50010][2],a[50010];struct Tree{ int l,r,val,mx;}tree[50000<<2];void create(int l,int r,int k)原创 2016-01-26 21:08:01 · 555 阅读 · 0 评论 -
hdu1028Ignatius and the Princess III
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 14724 Accepted Submission(s): 10371Problem Description"Well, it seems the first pro原创 2015-04-14 19:46:21 · 650 阅读 · 0 评论 -
poj1141Brackets Sequence
Brackets SequenceTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 26752 Accepted: 7553 Special JudgeDescriptionLet us define a regular brackets sequenc原创 2015-04-13 22:10:28 · 676 阅读 · 0 评论 -
蓝桥杯 地宫取宝
dp[x][y][num][mx]:从位置x,y,有num个物品,最大值为mx的状态,开始走到满足条件的终点,有多少种方法http://lx.lanqiao.org/problem.page?gpid=T120 历届试题 地宫取宝 时间限制:1.0s 内存限制:256.0MB 问题描述 X 国王有一个地宫宝库。是 n x m 个格子的矩阵。每个原创 2014-12-13 14:06:45 · 1253 阅读 · 0 评论 -
Codeforces Round #286 (Div. 2) C. Mr. Kitayuta, the Treasure Hunter
C. Mr. Kitayuta, the Treasure Huntertime limit per test1 secondmemory limit per test256 megabytesinputstandard inputoutputstandard outputThe Shuseki Islands are an archip原创 2015-01-19 18:29:54 · 1336 阅读 · 0 评论 -
soj2818: QQ音速
Description最近flymouse开始玩qq音速,这个游戏只需要按4个键,上,下,左,右(分别用u,d,l,r表示)。flymouse必须按照游戏规则,依次按下一系列键。问题是flymouse的手太胖了,他只能把两个手指放在方向键上。flymouse把一个手指从键i移动到键j,要耗费w[i][j]的体力,而按键不需要耗费体力。由于flymouse反应比较慢,所以他每次只能移动一个原创 2015-02-13 16:00:35 · 994 阅读 · 0 评论 -
Codeforces Round #293 (Div. 2) D. Ilya and Escalator
D. Ilya and Escalatortime limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputIlya got tired of sports programming,原创 2015-02-25 11:18:55 · 1068 阅读 · 0 评论 -
HDU5040Instrusive
题意:给定一个地图,要从'M'点到'T'点,每次可以往四个方向移动,平时每次移动1格花费1秒。但是由于地图上有一些监控,如果当前所在格被监控看到,就必须躲在纸箱里,躲在纸箱里移动一格的耗时是3秒。而监控的可视范围是它本身所在的一格,以及它朝向的相邻一格。监控每秒会顺时针旋转90度。地图上还有一些‘#'标记表示不可以进入的。可以在原地停留1秒。时间卡得有点紧,单纯dp过不了,要用优先队列优化下原创 2015-02-23 23:25:09 · 1117 阅读 · 0 评论 -
Narrow Art Gallery
Time Limit: 4000ms, Special Time Limit:10000ms, Memory Limit:65536KBTotal submit users: 11, Accepted users: 9Problem 13240 : No special judgementProblem descriptionA long art原创 2015-03-14 21:15:01 · 1273 阅读 · 0 评论 -
csu1527: Bounty Hunter
Time Limit:5000MS Memory Limit:131072KB 64bit IO Format:%lld & %llu SubmitStatus Practice CSU 1527 DescriptionInputOutputSample Input原创 2015-03-19 20:40:51 · 1427 阅读 · 0 评论 -
ZOJ 3769 Diablo III
Diablo IIITime Limit: 2 Seconds Memory Limit: 65536 KB Diablo III is an action role-playing video game. A few days ago, Reaper of Souls (ROS), the new expansion of Diablo III, has b原创 2015-03-26 20:53:15 · 996 阅读 · 1 评论 -
csu1510: Happy Robot
Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 41 Solved: 19[Submit][Status][Web Board]DescriptionInputThere will be at most 1000 test cases. Each case contains a command原创 2015-03-06 22:20:43 · 1276 阅读 · 0 评论 -
hdu5115 Dire Wolf
Dire WolfTime Limit: 5000/5000 MS (Java/Others) Memory Limit: 512000/512000 K (Java/Others)Total Submission(s): 436 Accepted Submission(s): 251Problem DescriptionDire wolves, als原创 2015-03-08 21:02:08 · 750 阅读 · 0 评论 -
hdu5119Happy Matt Friends
Happy Matt FriendsTime Limit: 6000/6000 MS (Java/Others) Memory Limit: 510000/510000 K (Java/Others)Total Submission(s): 700 Accepted Submission(s): 270Problem DescriptionMatt has N原创 2015-03-11 17:12:28 · 739 阅读 · 0 评论 -
codeforces 650 D. Zip-line
题意:把位置i的数修改成x后的lis是多少呢?每次修改独立。做法:ans=max(第i个位置空缺时的lis,第i个位置为x,以它结尾的lis+以它开头的lis-1)。后者扫两遍即可求出。前者只需要知道,lis中,第i个位置的数无可替代即可,若可替代就是lis的长度,否则是lis的长度-1。如何判断?因为若无可替代,则当把这个数丢到辅助数组的某个位置后,它就不会再被后面的值替换。这样原创 2016-03-14 11:17:05 · 804 阅读 · 0 评论