2016秋季练习
来源:互联网 发布:塑料袋污染 数据 编辑:程序博客网 时间:2024/06/02 20:34
来源:BZOJ1207
dp,和最长上升子序列其实是一个意思的,只不过我们寻找我们下一步要打的时候是不一样的,其余的情况其实还是比较简单的
代码:
#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>using namespace std;int n,m;const int MAXN = 10010;struct Mouse{ int x,y,time; void input(){ scanf("%d%d%d",&time,&x,&y); } void get(int times,int xx,int yy){ time = times; x = xx; y = yy; }}p[MAXN];inline bool check(int x,int y){ if(x<1 || x>n || y<1 || y>n) return false; else return true;}int dp[MAXN];inline bool judge(int mid,int des){ return abs(p[mid].x-p[des].x)+abs(p[mid].y-p[des].y) <= p[des].time-p[mid].time;}int DP(){ int ans = 1; for(int i=1;i<=m;i++) dp[i] = 1; for(int i=1;i<=m;i++){ for(int j=1;j<=i-1;j++) { if(judge(j,i)) dp[i] = max(dp[i],dp[j]+1); } ans = max(ans,dp[i]); } return ans;}int main(){ scanf("%d%d",&n,&m); for(int i=1;i<=m;i++) { p[i].input(); } printf("%d\n",DP()); return 0;}
0 0
- 2016秋季练习
- 2016秋季练习
- 2016秋季练习
- 2016秋季练习
- 2016秋季练习
- 2016秋季练习
- 2016秋季练习
- 2016秋季练习
- 2016秋季练习
- 2016秋季练习
- 2016秋季练习
- 2016秋季练习
- 2016秋季练习
- 2016秋季练习
- 2016秋季练习
- 2016秋季练习
- 2016秋季练习
- 2016秋季练习
- CentOS中vsftp安装、配置、卸载
- 统计Xcode的源码行数
- iOS中cookie使用
- 关于getChildStaticTransformation在android4.1失效问题解决方案
- 手撸一个Android线形图表
- 2016秋季练习
- IO案例
- 在局部坐标系上创建取向矩阵 Creating on Orientation Matrix or Local Coordinate System
- git回滚、退出等
- Paxos算法与Zookeeper分析
- js的语句判断
- ZooKeeper 数据模型
- Linux makefile 教程 非常详细,且易懂
- 软件工程——思维导图