矩形嵌套
时间限制:3000 ms | 内存限制:65535 KB
难度:4
描述有n个矩形,每个矩形可以用a,b来描述,表示长和宽。矩形X(a,b)可以嵌套在矩形Y(c,d)中当且仅当a<c,b<d或者b<c,a<d(相当于旋转X90度)。例如(1,5)可以嵌套在(6,2)内,但不能嵌套在(3,4)中。你的任务是选出尽可能多的矩形排成一行,使得除最后一个外,每一个矩...
分类:
其他好文 时间:
2014-05-18 18:42:14
阅读次数:
246
首先求最多能拦截多少颗导弹,则是求一个最长下降子序列的问题。。则找到动态转移方程。。
dp[i]=max(dp[j])+1,ja[i],因为dp[j]所表示的就是一个有序下降子序列。。。所以加进来也将是一个有序上升数列。。
然后是最少需要多少套导弹系统。。。有点贪心的做法。。就是要拦截导弹,尽量用小的去拦截可以拦截的导弹。。最后得到的导弹系统套数是最少的。。
题目链接:
http://...
分类:
其他好文 时间:
2014-05-18 18:31:47
阅读次数:
210
Dp
状态设计与方程总结
不完全状态记录
青蛙过河问题
利用区间 dp
背包类问题
0-1 背包,经典问题
无限背包,经典问题
判定性背包问题
带附属关系的背包问题
+ -1 背包问题
双背包求最优值
构造三角形问题...
分类:
其他好文 时间:
2014-05-18 15:36:58
阅读次数:
256
迷宫规模较大,DFS必然超时。注意到行走方向只有上、下、右三个,意味着已走过的路不能再走,更意味着不用回溯。且问题问的是最大值。一切都清晰地指向了DP!...
分类:
其他好文 时间:
2014-05-18 15:16:29
阅读次数:
328
给你一个n*n的格子的棋盘,每个格子里面有一个非负数。
从中取出若干个数,使得任意的两个数所在的格子没有公共边,就是说所取的数所在的2个格子不能相邻,并且取出的数的和最大。...
分类:
其他好文 时间:
2014-05-18 13:35:56
阅读次数:
287
题目链接:11375 - Matches
题目大意:给出n根火柴,问说能组成多少种数字,要求说0不能打头。
解题思路:d[i]表示i根火柴能够组成的数量,d[i+c[j]] = d[i+c[j]] + d[i];
最后dp[i]表示小于等于i根火柴能组成的数量,dp[i]=∑jidp[j].
高精度。
#include
#include
#include
using na...
分类:
其他好文 时间:
2014-05-18 10:21:35
阅读次数:
286
题目大意:
让每天都能吃到西瓜。最少需要花多少钱。
思路分析:
dp[pos] 就表示 要让 前i天每天都有西瓜吃,最少需要花多少钱。
那么如果你买这个西瓜的话。那么这个西瓜能吃的持续时间都要更新一下。
然后再在每个西瓜的更新部分取最小的,就可以是这个点所能得到的最小值。
其实就是 dp[i] = min (dp[i] , dp[ j - k +1] + a[j]);...
分类:
其他好文 时间:
2014-05-18 08:59:29
阅读次数:
244
都不知道怎么分类了。
大概要求一个树中以某个结点为根的子树结点个数,还有儿子结点中以儿子结点为根的子树结点个数的最大值,用递归得到n[i],以i为根节点的子树结点个数
#include
#include
#include
#include
#include
#include
#include
using namespace std;
#define scan(a) scanf("...
分类:
其他好文 时间:
2014-05-18 07:26:01
阅读次数:
225
??
主流算法:
1.搜索 //回溯
2.DP(动态规划)
3.贪心
4.图论 //Dijkstra、最小生成树、网络流
5.数论 //解模线性方程
6.计算几何 //凸壳、同等安置矩形的并的面积与周长
7.组合数学 //Polya
定理
8.模拟
9.数据结构 //并查集、堆
10.博弈论
...
分类:
其他好文 时间:
2014-05-18 07:25:00
阅读次数:
316
题目:
链接:点击打开链接
算法:
二维的完全背包;
思路:
状态转移方程:dp[j][m] = max(dp[j][m],dp[j-b[i]][m-1]+a[i]);表示用j的忍耐度杀死m个怪兽能够得到的最大的经验值。
代码:
#include
#include
#include
using namespace std;
int dp[110][110];...
分类:
其他好文 时间:
2014-05-18 03:05:42
阅读次数:
338