
DP
jiang_16
一个想学好编程的弱渣妹纸,猎奇,脑洞向...
展开
-
递归的函数 记忆化搜索
给定一个函数 f(a, b, c):如果 a ≤ 0 或 b ≤ 0 或 c ≤ 0 返回值为 1;如果 a > 20 或 b > 20 或 c > 20 返回值为 f(20, 20, 20);如果 a 其它情况返回 f(a−1, b, c) + f(a−1, b−1, c) + f(a−1, b, c−1) − f(a-1, b-1, c-1)。看起来简单的一个函数?你能做对原创 2017-08-17 12:05:02 · 324 阅读 · 0 评论 -
石子合并问题
Problem Description在一个圆形操场的四周摆放着n堆石子。现要将石子有次序地合并成一堆。规定每次只能选相邻的2 堆石子合并成新的一堆,并将新的一堆石子数记为该次合并的得分。试设计一个算法,计算出将n堆石子合并成一堆的最小得分和最大得分。对于给定n堆石子,计算合并成一堆的最小得分和最大得分。Input输入数据的第1行是正整数n,1≤n≤100,表示有n堆石子。第二行有n...原创 2019-04-21 19:50:53 · 555 阅读 · 0 评论 -
7-2 Find More Coins(35 分)
Eva loves to collect coins from all over the universe, including some other planets like Mars. One day she visited a universal shopping mall which could accept all kinds of coins as payments. Howeve...原创 2018-03-29 11:52:19 · 586 阅读 · 0 评论 -
第八届山东省赛题->CF
LYD loves codeforces since there are many Russian contests. In an contest lasting forT minutes there are n problems, and for the ith problem you can getai−di∗ti points, where ai indicates the init原创 2017-05-19 23:12:36 · 312 阅读 · 0 评论 -
最长上升子序列 LIS
#include#define N 100void main(){ int elem[N]; int length[N]; //存放第i个位置的上升子序列的长度 int n,i,j; scanf("%d",&n); for(i=1;i<=n;i++) scanf("%d",&elem[i]); int m; leng原创 2017-02-20 15:20:05 · 189 阅读 · 0 评论 -
Max Sum Plus Plus m段连续子序列最大和
Now I think you have got an AC in Ignatius.L's "Max Sum" problem. To be a brave ACMer, we always challenge ourselves to more difficult problems. Now you are faced with a more difficult problem.Giv原创 2017-08-28 18:03:03 · 446 阅读 · 0 评论 -
免费馅饼
都说天上不会掉馅饼,但有一天gameboy正走在回家的小径上,忽然天上掉下大把大把的馅饼。说来gameboy的人品实在是太好了,这馅饼别处都不掉,就掉落在他身旁的10米范围内。馅饼如果掉在了地上当然就不能吃了,所以gameboy马上卸下身上的背包去接。但由于小径两侧都不能站人,所以他只能在小径上接。由于gameboy平时老呆在房间里玩游戏,虽然在游戏中是个身手敏捷的高手,但在现实中运动神经特别迟钝原创 2017-08-22 21:48:18 · 185 阅读 · 0 评论 -
Super Jumping! Jumping! Jumping! LIS
Nowadays, a kind of chess game called “Super Jumping! Jumping! Jumping!” is very popular in HDU. Maybe you are a good boy, and know little about this game, so I introduce it to you now.The g原创 2017-08-26 13:58:36 · 250 阅读 · 0 评论 -
最少拦截系统 下降子序列的个数
某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统.但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能超过前一发的高度.某天,雷达捕捉到敌国的导弹来袭.由于该系统还在试用阶段,所以只有一套系统,因此有可能不能拦截所有的导弹.怎么办呢?多搞几套系统呗!你说说倒蛮容易,成本呢?成本是个大问题啊.所以俺就到这里来求救了,请帮助计算一下最少需要多少套拦截原创 2017-08-19 22:19:25 · 308 阅读 · 0 评论 -
最长公共子序列 LCS
感觉这里最烦人的是字符串从0开始存,所以应该注意位置与下标的区别#include #include #include #include using namespace std; const int N = 510; int main() { char x[N], y[N]; int len1, len2;原创 2017-08-19 11:05:35 · 158 阅读 · 0 评论 -
上升子序列 LIS
一个只包含非负整数的序列bi,当b1 < b2 < ... < bS的时候,我们称这个序列是上升的。对于给定的一个序列{a1, a2, ...,aN},我们可以得到一些上升的子序列{ai1, ai2, ..., aiK},这里1 ≤ i1 < i2 <...< iK ≤ N。例如:对于序列{1, 7, 3, 5, 9, 4, 8},有它的一些上升子序列,如{1, 7}, {3, 4, 8}等等。这原创 2017-08-18 22:59:28 · 160 阅读 · 0 评论 -
动态规划? 最大连续子序列和
动态规划作为《运筹学》的一个分支,被广泛的用于解决较为复杂的经济管理问题,以达到的最优抉择,获得最大经济收益为目的。也因其多变性,非常的频繁的出现在信息学竞赛的赛场上。动态规划的核心思想为不断将问题分解为子问题,一直到可以较容易的得到最优答案,再去决定其父问题的决策,因为很大程度的避免了重复子问题的抉择,故可以节约大量时间。 现在问题来了,有一个一维数组,存储了n个正整数,下标依次为0原创 2017-07-27 19:52:46 · 344 阅读 · 0 评论 -
Max Sum 最大连续子序列和
Problem DescriptionGiven a sequence a[1],a[2],a[3]......a[n], your job is to calculate the max sum of a sub-sequence. For example, given (6,-1,5,4,-7), the max sum in this sequence is 6 + (-1) + 5 +原创 2017-06-13 20:23:23 · 380 阅读 · 0 评论 -
迷之逆序 最大连续子序列和
给出 n 个数的序列,先把每个数逆序(如 120 变为 21,123 变为 321),将会产生 n 个新数,我们把它称作序列 A。之后对序列 A 中的 n-1 个数进行 q 次操作,每次操作将会把序列 A 上的某个数替换成另一个数,并询问序列 A 中任取连续的一段数,如何取才能使这段数的和最大,请你输出最大值。Input输入数据有多组(数据组数不超过 100)。对于每组数据:原创 2017-05-18 17:56:17 · 307 阅读 · 0 评论 -
新数字三角形问题 基础
给定一个由n( n) 行每行有 i 个不超过200的正整数保证对于这n行数据,每行的数字不会重复,如果在某一行的最大值相同了,优先输出靠近左边(j较小)的坐标。 Output 对于每组数据输入一个最大值,占一行。接下来的n行,每行两个整数,代表你得到这个最大值所走的路径坐标。 Example Input 5 7 3 8 8 1 0 2 7 4 1 4 5 2 6 1 Example Outpu原创 2017-05-18 09:01:43 · 501 阅读 · 0 评论 -
最少硬币问题
Problem Description设有n种不同面值的硬币,各硬币的面值存于数组T[1:n]中。现要用这些面值的硬币来找钱。可以使用的各种面值的硬币个数存于数组Coins[1:n]中。对任意钱数0≤m≤20001,设计一个用最少硬币找钱m的方法。对于给定的1≤n≤10,硬币面值数组T和可以使用的各种面值的硬币个数数组Coins,以及钱数m,0≤m≤20001,计算找钱m的最少硬币数。...原创 2019-04-15 10:08:32 · 201 阅读 · 0 评论