dp
文章平均质量分 63
穆梓先生
人之为学有难易乎?学之则难者亦易矣,不学则易者亦难矣!
展开
-
Pyramid of Glasses(杨辉三角 +dp)
#include<stdio.h>#include<algorithm>#include<string.h>using namespace std;double dp[20][20];void fun(int n){ dp[1][1]+=1.0; for(int i=1;i<=n;i++){ for(int j=1;j<=n;...转载 2018-05-21 19:34:24 · 484 阅读 · 0 评论 -
整数划分
整数划分时间限制:3000 ms | 内存限制:65535 KB难度:3描述将正整数n表示成一系列正整数之和:n=n1+n2+…+nk, 其中n1≥n2≥…≥nk≥1,k≥1。 正整数n的这种表示称为正整数n的划分。求正整数n的不 同划分个数。 例如正整数6有如下11种不同的划分: 6; 5+1; 4+2,4+1+1; 3+3,3原创 2017-09-06 20:20:31 · 363 阅读 · 0 评论 -
FatMouse's Speed
FatMouse's SpeedTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 16063 Accepted Submission(s): 7079Special JudgeProblem Description转载 2017-04-25 20:25:08 · 226 阅读 · 0 评论 -
Coins
CoinsTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 14254 Accepted Submission(s): 5673Problem DescriptionWhuacmers use coins.The原创 2017-04-24 21:27:04 · 585 阅读 · 0 评论 -
DivideingJewels
DivideingJewels时间限制: 1000ms内存限制: 128000KB 64位整型: Java 类名:上一题 提交 运行结果 统计 讨论版 下一题类型: 没有 添加题目描述Mary and Rose own a collection of jewells. They want to split the collection among themselves so...原创 2017-04-24 19:53:08 · 245 阅读 · 0 评论 -
hautoj 最大子段和
问题 G: 最大子段和时间限制: 1 秒 内存限制: 64 MB提交: 282 解决: 56提交 状态 题目描述一个大小为n的数组a1到an(−10^4≤ai≤10^4)。请你找出一个连续子段,使子段长度为奇数,且子段和最大。输入第一行为T(1≤T≤5),代表数据组数。之后每组数据,第一行为n(1≤n≤10^5),代表数组长度。之后一行n个数,代转载 2017-04-23 20:38:48 · 612 阅读 · 0 评论 -
Bomb
BombTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/65536 K (Java/Others)Total Submission(s): 17778 Accepted Submission(s): 6541Problem DescriptionThe counter-terrorists转载 2017-04-22 20:19:21 · 430 阅读 · 0 评论 -
数位DP入门+hdu 不要62
数位DP入门数位DP其实是很灵活的,所以一定不要奢求一篇文章就会遍所有数位DP的题,这一篇只能是讲清楚一种情况,其他情况遇到再总结,在不断总结中慢慢体会这个思想,以后说不定就能达到一看到题目就能灵活运用的水平。(其实DP都是这样……) 这一篇要说的数位DP是一道最简单的数位DP:http://acm.hdu.edu.cn/showproblem.php?pid=2089转载 2017-04-22 19:31:20 · 2334 阅读 · 2 评论 -
诡异的电梯【Ⅰ】
诡异的电梯【Ⅰ】时间限制: 1000ms内存限制: 128000KB64位整型: Java 类名:上一题 提交 运行结果 统计 讨论版 下一题类型: 没有 没有 难度 lv.1 lv.2 lv.3 lv.4 lv.5原创 2017-04-22 16:18:28 · 316 阅读 · 0 评论 -
数塔
数塔Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 43231 Accepted Submission(s): 25575Problem Description在讲述DP算法的时候,一个经典的例子就是数塔问题,原创 2017-04-22 15:03:19 · 270 阅读 · 0 评论 -
整数划分(二)
整数划分(二)时间限制:1000 ms | 内存限制:65535 KB难度:3描述把一个正整数m分成n个正整数的和,有多少种分法?例:把5分成3个正正数的和,有两种分法:1 1 31 2 2输入第一行是一个整数T表示共有T组测试数据(T每组测试数据都是两个正整数m,n,其中(1输出输出拆分的方法的数原创 2017-09-24 15:47:53 · 248 阅读 · 0 评论 -
整数划分
转自:整数划分(一)(二)先来谈谈写这两道题的感受,整数划分(一)刚开始做这道题,dp和递归都不会写,是用深搜写的,不过用深搜写整数划分(二)就不行了,铁定超时。昨晚和今晚终于把这两道题的递归和dp全看懂了(看别人博客-_-|||),在这儿重述一下,别人的博客都写得不是太明白,看了好几遍看不懂,自己又手推好几遍,终于懂了。先说整数划分(二)转载 2017-09-24 16:29:31 · 5551 阅读 · 2 评论 -
又见01背包
又见01背包时间限制:1000 ms | 内存限制:65535 KB难度:3描述 有n个重量和价值分别为wi 和 vi 的 物品,从这些物品中选择总重量不超过 W 的物品,求所有挑选方案中物品价值总和的最大值。 1 <= n <=100 1 <= wi <= 10^7 1 <= vi <= 100 1 <= W <= 10^9输入多...原创 2017-09-10 16:03:12 · 157 阅读 · 0 评论 -
nyoj 613 免费的馅饼
#include<stdio.h>#include<string.h>#include<algorithm> using namespace std;typedef long long ll;ll dp[100004][15];ll maxx(ll a,ll b,ll c){ return max(max(a,b),c);}int m...原创 2018-04-17 15:43:28 · 145 阅读 · 0 评论 -
nyoj 708 ones
如果i是素数,则dp[i]=dp[i-1]+1;否则,dp[i]=dp[j]+dp[i/j]; #include<stdio.h>#include<algorithm>using namespace std;int main(){ int n,dp[10005]={0,1,2,3,4,5}; for(int i=6;i<10005;i++) { ...原创 2018-04-17 15:01:04 · 122 阅读 · 0 评论 -
nyoj 814 又见拦截导弹
#include<stdio.h>#include<algorithm>#include<string.h> using namespace std;int a[3005];int dp[3005]; int main(){// freopen("test.in","r",stdin);// freopen("test.out","w&q原创 2018-04-17 09:44:27 · 119 阅读 · 0 评论 -
nyoj 983 首尾相连数组的最大子数组和
最大子段和变形,只是首尾互连。分别求出最大子段和 以及最小子段和,比较最大子段和和所有总和-最小子段和的大小。选取最大的那个。#include<stdio.h>using namespace std;int maxsum,cursum,S,s,e;int a[100001];int getRes(int a[],int n) { int max = 0, min...原创 2018-04-16 20:43:42 · 212 阅读 · 0 评论 -
nyoj 整理图书
#include<stdio.h>#include<string.h>using namespace std;#define INF 0x3f3f3f3fint book[1005];int dp[1005];int h[1005];//maxh[i]表示前i堆书被整理后的倒数第一堆的高度(也就是被整理后最高的一堆书的高度)//dp[i]表示前i堆书被整理后...转载 2018-04-16 20:05:48 · 147 阅读 · 0 评论 -
nyoj 1023 还是回文
思路:https://www.cnblogs.com/xueniwawa/p/3741145.html题目大意: 1、先给一个m,一个n 2、再给一个字符串char str[MAX](MAX为一个很大的数),字符串长度为n 字符串中的字符全为小写字母,m为这个字符串中字符的种类总数。例如m=3,n=4,str="abcb",str的长度为4,由a b c三类字符组成。 3、...转载 2018-04-16 20:05:02 · 121 阅读 · 0 评论 -
nyoj 1030 Yougth's Game[Ⅲ](区间dp)
//定义状态dp[i][j]为从i到j上先取数者的得分,那么后取数者的得分就是sum(i,j)-dp[i][j]//状态转移方程: //t1 = a[i]+(sum[j]-sum[i]-d[i+1][j]);取a[i],在剩余的i+1--j中,b先取,b取得的为d[i+1][j],//t2 = a[j]+(sum[j-1]-sum[i-1]-d[i][j-1]);sum[j]-sum[i]是...转载 2018-04-16 19:02:24 · 137 阅读 · 0 评论 -
nyoj 1070 诡异的电梯【Ⅰ】
状态转移方程:dp[i]=min(dp[i-1]+b*vis[i],min(a,b)*vis[i-1]+dp[i-2]);第i层可以由乘坐电梯到i-1层再爬上楼梯,或是i-2层乘坐电梯,i-1层可以从i-2层爬上去,或者从i层爬下来,取小的那一个。#include<stdio.h>#include<string.h>#include<algorithm>u...原创 2018-04-16 15:45:22 · 149 阅读 · 0 评论 -
nyoj 1204 魔法少女
动态规划 dp[i][0]表示i层不用魔法的最少步数 dp[i][1]表示i层用魔法的最少步数 dp[i][0] = min(dp[i-1][0], dp[i-1][1]) + a[i]; dp[i][1] = min(dp[i-1][0], dp[i-2][0]); dp[0][1] = dp[1][1]=0;dp[0][0] = h[0];dp[1][0] = h[1];#include<...原创 2018-04-16 15:15:55 · 173 阅读 · 0 评论 -
nyoj 1328 派队方案
n场比赛划分成m个队伍,每个比赛只用一个队,没有空的集合。也就是说把包含n个元素的集合划分为正好m个非空子集的方法的数目,再乘m的全排列。第二类Stirling数是把包含n个元素的集合划分为正好k个非空子集的方法的数目。 递推公式为: S(n,k)=0; (n<k||k=0) S(n,n) = S(n,1) = 1, S(n,k) = S(n-1,k-1) + kS(n-1,...原创 2018-04-16 10:00:50 · 230 阅读 · 0 评论 -
硬币找零
硬币找零时间限制:1000 ms | 内存限制:65535 KB难度:3描述在现实生活中,我们经常遇到硬币找零的问题,例如,在发工资时,财务人员就需要计算最少的找零硬币数,以便他们能从银行拿回最少的硬币数,并保证能用这些硬币发工资。我们应该注意到,人民币的硬币系统是 100,50,20,10,5,2,1,0.5,0.2,0.1,0.05,0.02,0.01 元,采用这些硬币我们可以对任何一个工...原创 2017-09-27 17:28:01 · 238 阅读 · 0 评论 -
下沙的沙子有几粒?
下沙的沙子有几粒?Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 3661 Accepted Submission(s): 1928Problem Description2005年11月原创 2017-04-21 15:47:22 · 381 阅读 · 0 评论 -
Robberies
RobberiesTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 23107 Accepted Submission(s): 8516Problem DescriptionThe aspiring Ro转载 2017-04-17 15:28:21 · 294 阅读 · 0 评论 -
完全背包
完全背包时间限制:3000 ms | 内存限制:65535 KB难度:4描述直接说题意,完全背包定义有N种物品和一个容量为V的背包,每种物品都有无限件可用。第i种物品的体积是c,价值是w。求解将哪些物品装入背包可使这些物品的体积总和不超过背包容量,且价值总和最大。本题要求是背包恰好装满背包时,求出最大价值总和是多少。如果不能恰好装满背包,输出NO原创 2017-04-17 11:21:16 · 208 阅读 · 0 评论 -
Rectangles
10396: H.RectanglesTime Limit: 2 Sec Memory Limit: 128 MBSubmit: 284 Solved: 51[Submit][Status][Web Board]DescriptionGiven N (4 <= N <= 100) rectangles and the lengths of their sides原创 2017-04-30 20:58:44 · 422 阅读 · 0 评论 -
物资调度(01背包+求方案数)
物资调度时间限制:1000 ms | 内存限制:65535 KB难度:2描述某地区发生了地震,灾区已经非常困难,灾民急需一些帐篷、衣物、食品和血浆等物资。可通往灾区的道路到处都是塌方,70%以上的路面损坏,桥梁全部被毁。国家立即启动应急预案,展开史上最大强度非作战空运行动,准备向灾区空投急需物资。一方有难,八方支援。现在已知有N个地方分别有A1,A2,….,An个物资可供调原创 2017-04-30 20:25:22 · 1144 阅读 · 0 评论 -
NYOJ 325 &&NYOJ 456
zb的生日时间限制:3000 ms | 内存限制:65535 KB难度:2描述今天是阴历七月初五,acm队员zb的生日。zb正在和C小加、never在武汉集训。他想给这两位兄弟买点什么庆祝生日,经过调查,zb发现C小加和never都很喜欢吃西瓜,而且一吃就是一堆的那种,zb立刻下定决心买了一堆西瓜。当他准备把西瓜送给C小加和never的时候,遇到了一个难题,ne原创 2017-04-14 20:25:08 · 298 阅读 · 0 评论 -
Brackets Sequence
Brackets SequenceTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 31650 Accepted: 9120 Special JudgeDescriptionLet us define a regular brackets seque原创 2017-04-29 19:33:46 · 642 阅读 · 0 评论 -
Brackets
BracketsTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 7728 Accepted: 4098DescriptionWe give the following inductive definition of a “regular bracket原创 2017-04-29 18:58:37 · 285 阅读 · 0 评论 -
石子合并(一)
石子合并(一)时间限制:1000 ms | 内存限制:65535 KB难度:3描述 有N堆石子排成一排,每堆石子有一定的数量。现要将N堆石子并成为一堆。合并的过程只能每次将相邻的两堆石子堆成一堆,每次合并花费的代价为这两堆石子的和,经过N-1次合并后成为一堆。求出总的代价最小值。输入有多组测试数据,输入到文件结束。每组测试数据第一行有一个整原创 2017-04-29 18:32:33 · 236 阅读 · 0 评论 -
zzuli 2134: 维克兹的进制转换
2134: 维克兹的进制转换Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 278 Solved: 60SubmitStatusWeb BoardDescription我进入了突如其来的强光。闪烁。闪烁,闪烁,闪烁。我调整好眼睛,评估我前方的景观。有东西在乱窜。我往下看,发现了一只小个的白色生物,用后腿站立着,嗅闻转载 2017-04-28 18:52:03 · 209 阅读 · 0 评论 -
City Game (最大子矩阵)
City GameTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 6962 Accepted Submission(s): 3007Problem DescriptionBob is a strateg转载 2017-04-17 21:46:53 · 639 阅读 · 0 评论 -
单调队列 POJ 2823+单调栈 HDU 1506
转自:http://blog.csdn.net/jane_jxr/article/details/68962534单调队列就是用数组拉模拟队列的性质,保证队列里的元素是单调递增或单调递减,时间复杂度O(n) 单调队列解决的是区间最小(最大)值。实现方法是:求区间最小(最大)值,就维护一个递增的双端队列,队中保存原始序列的标号,当即将入队的元素的值比队尾的元素的值小(大)的时候转载 2017-04-17 20:27:57 · 261 阅读 · 0 评论 -
hdu 1506 Largest Rectangle in a Histogram
Largest Rectangle in a HistogramTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 17946 Accepted Submission(s): 5364Problem Descrip转载 2017-04-17 20:44:36 · 249 阅读 · 0 评论 -
Max Sum
Max SumTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 241450 Accepted Submission(s): 56990Problem DescriptionGiven a sequenc原创 2017-04-17 19:14:39 · 224 阅读 · 0 评论 -
山区修路
山区修路时间限制:1000 ms | 内存限制:65535 KB难度:2描述某山区的孩子们上学必须经过一条凹凸不平的土路,每当下雨天,孩子们非常艰难。现在村里走出来的Dr. Kong决定募捐资金重新修建着条路。由于资金有限,为了降低成本,对修好后的路面高度只能做到单调上升或单调下降。为了便于修路,我们将整个土路分成了N段,每段路面的高度分别A1,A2,….,An。由原创 2017-04-30 21:26:24 · 867 阅读 · 1 评论 -
Buy the souvenirs(方案数+01背包)
Buy the souvenirsTime Limit: 10000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 2414 Accepted Submission(s): 923Problem DescriptionWhen the win原创 2017-05-01 16:42:04 · 514 阅读 · 0 评论