![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
动态规划
ankerfeng
这个作者很懒,什么都没留下…
展开
-
hdu4512之完美队形
题目大意: 吉哥这几天对队形比较感兴趣。 有一天,有n个人按顺序站在他的面前,他们的身高分别是h[1],h[2] ...h[n],吉哥希望从中挑出一些人,让这些人形成一个新的队形,新的队形若满足以下三点要求,则称之为完美队形: 1、挑出的人保持他们在原队形的相对顺序不变; 2、左右对称,假设有m个人形成新的队形,则第1个人和第m个人身高相同,第2个人和第原创 2014-04-01 18:01:51 · 551 阅读 · 0 评论 -
hdu2089不要62
不要62Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 17417 Accepted Submission(s): 5740Problem Description杭州人称那些傻乎乎粘嗒嗒的人为62(音:原创 2014-04-26 14:28:17 · 596 阅读 · 0 评论 -
NYOJ995硬币找零
硬币找零时间限制:1000 ms | 内存限制:65535 KB难度:3描述在现实生活中,我们经常遇到硬币找零的问题,例如,在发工资时,财务人员就需要计算最少的找零硬币数,以便他们能从银行拿回最少的硬币数,并保证能用这些硬币发工资。我们应该注意到,人民币的硬币系统是 100,50,20,10,5,2,1,0.5,0.2,0.1,0.05,0.02,0原创 2014-04-27 14:26:27 · 608 阅读 · 0 评论 -
NYOJ737石子合并(一)
#include#define N 205#define MAX0xfffffffint sum[N];int stone[N];int dp[N][N];int min(int a,intb){ return a}int main(){ int n; int i,j,d,k,add; while(scanf("%d",&n)!=EOF)原创 2014-04-01 18:01:26 · 702 阅读 · 0 评论 -
NYOJ49开心的小明
#include"stdio.h"struct node{ int v; int w;}a[30];int dp[35000];int ans;int Max(int a,int b){ return a>b?a:b;}int main(){ int t; scanf("%d",&t); while(t--){ int i,原创 2014-04-01 18:03:02 · 644 阅读 · 0 评论 -
NYOJ708One
只能说神奇的算法,说多了都是泪,直接上代码你琢磨吧:代码一:400多的做法#include "iostream"#include "cstring"#include "cstdio"using namespace std;const int MAXN = 10010;int dp[MAXN];int MIN(int a, int b){ return a < b ?原创 2014-04-01 18:03:13 · 601 阅读 · 0 评论 -
免费的馅饼
Problem Description都说天上不会掉馅饼,但有一天gameboy正走在回家的小径上,忽然天上掉下大把大把的馅饼。说来gameboy的人品实在是太好了,这馅饼别处都不掉,就掉落在他身旁的10米范围内。馅饼如果掉在了地上当然就不能吃了,所以gameboy马上卸下身上的背包去接。但由于小径两侧都不能站人,所以他只能在小径上接。由于gameboy平时老呆在房间里玩游戏,虽然在游戏中是个原创 2014-04-01 18:01:45 · 517 阅读 · 0 评论 -
Splits the string
题目大意:给你一串字符,里面可能包含有回文串,现在给你如下规则:1:一个回文串可以看做一个字符。2:字符顺序不能够改变。3:输出最小的字符数(回文串当作一个字符)。一开始就感觉这个石子归并有点相似,做了后发先和括号匹配(二)更像,当然三者其实都有很大的相似性。当字符串长度为1时:dp[1][1]=1;当字符串长度为2时:if(str[1]=str[2])dp[1][2]=1原创 2014-04-01 18:01:32 · 561 阅读 · 0 评论 -
Digit Problem
题目意思:存在数列:112123123412345...这样的数量(希望你能够秒懂其中的规律)然后给你一个整数n,要求你输出该数列中位置为n的数:利用分步求解的方法:我们可以构造一个子序列:len{1}=1;len{1,2}=2......len{1,2,3....10}=11(注意这个11,是解题的一个关键点,因为10的长度为2,所以实际上1,2,3,4,5,6,7,8,9,10=1,2,3原创 2014-04-01 18:01:30 · 846 阅读 · 0 评论 -
SeeLCSagain
题目大意:给你两串整数,要求你输出最长公共子序列(串的长度是100000.)时间限制:1000 ms | 内存限制:65535 KB所以无论是时间上还是空间上这都是需要进行比较精心的优化过后才行。这题我做了老半天然后各种优化最终都没成功,都是超时了,然后dp数组还开不到100000*100000;而且这题网上的代码页找不到,最后只能求助大师了,看完大师的代码后才恍然大悟,只恨自己太笨。仰天原创 2014-04-01 18:01:34 · 561 阅读 · 0 评论 -
括号匹配(二)
如果你已经理解了石子合并的话,那我想对于这道题应该也能够轻松的理解了。#include#include#define N 101#define MAX0xfffffffint dp[N][N];int mininum(int a,intb){ return a}int main(){ intt,len,i,j,l,k,min,s; chara[N];原创 2014-04-01 18:01:28 · 526 阅读 · 0 评论 -
bjtu1024
几个月不刷题后发现真的忘的差不多了,最近帮老师手打beik原创 2014-09-06 17:49:02 · 831 阅读 · 0 评论