CODEFORCES 270D Greenhouse Effect <求最长递增子序列长度的对立事件>
2016-07-14 15:11
465 查看
题目:http://codeforces.com/problemset/problem/270/D
题意:温室里要种植植物,物种编号大的要在编号小的右边,如果有大的编号在小的的编号的左边可以把大的编号移到最后面。求需要移动最小的植物数量?
分析:算出使得满足上升序的最大长度,用总量减去长度就是结果。。。很好懂的。。。而那植物的距离已经不需要用(题目已经说过,距离呈递增的顺序的输出。。。。无需担忧)
Input
Output
题意:温室里要种植植物,物种编号大的要在编号小的右边,如果有大的编号在小的的编号的左边可以把大的编号移到最后面。求需要移动最小的植物数量?
分析:算出使得满足上升序的最大长度,用总量减去长度就是结果。。。很好懂的。。。而那植物的距离已经不需要用(题目已经说过,距离呈递增的顺序的输出。。。。无需担忧)
Input
3 2 2 1 1 2.0 1 3.100
Output
1
#include <iostream> #include <cstdio> #include <cstring> using namespace std; int main() { int m,n,r = 0; int num[5005],d[5005]; double x; //int pre = 0; scanf("%d %d",&m,&n); memset(num,0,sizeof(num)); for(int i=1;i<=m;i++) { scanf("%d %lf",&num[i],&x); d[i] = -1; } d[1] = 0; for(int i =1;i<=m;i++) for(int j =1;j<=n;j++) { d[j+1] = max(d[j+1],d[j]); d[j] += (num[i] == j); r = max(r,d[j]); } printf("%d\n",m-r); return 0; }
相关文章推荐
- Bootstrap 最常用的JS插件系列总结(图片轮播、标签切换等)
- NodeJS学习系列课程笔记(NodeJs EventEmitter相关使用方法)
- 完全弄懂js函数中的属性特点
- js数据类型+js作用域
- CSS3的 transform属性,怎么才能让他同时执行多个不同动画(属性)效果
- escape()、encodeURI()、encodeURIComponent()区别详解
- List of XML and HTML character entity references
- bzoj1822: [JSOI2010]Frozen Nova 冷冻波
- CODEFORCES, 270D Greenhouse Effect
- javaScript基础知识
- node.js 系列——Buffer
- AngularJS 教程
- Effective STL(3)-删除特定元素
- CSS经验分享
- 解析心知天气API接口返回的json数据
- 安装node-sass遇到的各种各样的问题及解决
- 200多个js技巧代码
- 前端的注意事项
- 剑指Offer—编程题10(二进制中1 的个数)
- NodeJS学习系列课程笔记(NodeJs zlib库文件解压缩的相关使用方法)