One hundred layer Problem Description   Now there is a game called the new man down 100th floor. The rules of this game is: 1.  At first you are at the 1st floor. And the floor moves up. Of course you can choose which part you will stay in the first…
题目传送门 跳房子 题目描述 跳房子,也叫跳飞机,是一种世界性的儿童游戏,也是中国民间传统的体育游戏之一. 跳房子的游戏规则如下: 在地面上确定一个起点,然后在起点右侧画 n 个格子,这些格子都在同一条直线上.每个格子内有一个数字(整数),表示到达这个 格子能得到的分数.玩家第一次从起点开始向右跳,跳到起点右侧的一个格子内.第二次再从当前位置继续向右跳,依此类推.规则规定: 玩家每次都必须跳到当前位置右侧的一个格子内.玩家可以在任意时刻结束游戏,获得的分数为曾经到达过的格子中的数字之和. 现在小…
题目链接 Strip 题意   把一个数列分成连续的$k$段,要求满足每一段内的元素最大值和最小值的差值不超过$s$, 同时每一段内的元素个数要大于等于$l$, 求$k$的最小值. 考虑$DP$ 设$dp[i]$为前$i$个数字能划分成区间个数的最小值. 则$dp[i] = min(dp[j] + 1)$ 于是下一步就是求符合条件的j的范围. 构建$ST$表,支持区间查询最大值和最小值. 对于每一个位置$x$,我们知道$max(a[i]...a[x]) - min(a[i]...a[x])$肯定…
题目链接:http://acm.hust.edu.cn/vjudge/contest/view.action?cid=116242#problem/E 题意:差不多就是男人勇下百层的游戏.从第一层到最后一层最多能够拿到多少分数.每层里面最多可以左右平移T个单位,同时从那个地方到下一层.一开始在第一层的X处. 首先要了解什么是单调队列,这里推荐一个博客写的很不错,直接引用了:http://blog.csdn.net/justmeh/article/details/5844650 用dp(i,j)表…
E.Easy Climb Somewhere in the neighborhood we have a very nice mountain that gives a splendid view over the surrounding area. There is one problem though: climbing this mountain is very difficult, because of rather large height differences. To make m…
选择数字 题目描述 给定一行 \(n\) 个非负整数 \(a[1]...a[n]\) .现在你可以选择其中若干个数,但不能有超过 \(k\) 个连续的数字被选择.你的任务是使得选出的数字的和最大. 输入格式 第一行两个整数 \(n\),\(k\) . 以下 \(n\) 行,每行一个整数表示 \(a[i]\) . 输出格式 输出一个值表示答案. 输入输出样例 输入 5 2 1 2 3 4 5 输出 12 说明/提示 对于 \(20\%\) 的数据,\(n\leq 10\) . 对于另外 \(20\…
题目:一个由‘.’和‘#’组成矩形,统计里面'.'组成的矩形的个数. 点击打开链接 自己写挂了,懒得搞了 #include <stdio.h> #include <string.h> #define MAX 110 #define inf 0x7fffffff char a[MAX][MAX]; int count[MAX][MAX]; int n; int min(int x,int y) { return x<y?x:y; } void sum() { int i,j;…
链接:https://ac.nowcoder.com/acm/problem/14553来源:牛客网 题目描述 小明很喜欢打游戏,现在已知一个新英雄即将推出,他同样拥有四个技能,其中三个小技能的释放时间和固定的伤害值为: 1.乌鸦坐飞机 释放时间:x 固定伤害值:a 2.蜘蛛吃耳屎 释放时间:y 固定伤害值:b 3.饿狼前进  释放时间:z 固定伤害值:c 他还有一个大招,其释放的时间是一个区间[L,R],可以在区间内任意时间点释放出技能,其如果在L+i时刻释放技能,其能够打出的伤害值为:tem…
线性DP,使用单调队列优化. /* 4374 */ #include <iostream> #include <sstream> #include <string> #include <map> #include <queue> #include <set> #include <stack> #include <vector> #include <deque> #include <algori…
http://acm.hdu.edu.cn/showproblem.php?pid=3401 [题意] 知道之后n天的股票买卖价格(api,bpi),以及每天股票买卖数量上限(asi,bsi),问他最多能赚多少钱.开始时有无限本金,要求任两次交易需要间隔W天以上,即第i天交易,第i+w+1天才能再交易.同时他任意时刻最多只能拥有maxp的股票 [思路] dp[i][j]表示第i天拥有j支股票的最大收益,有三种转移方案: dp[i][j]=max(dp[i][j],dp[i-1][j])表示第i天…