南京理工大学第八届程序设计大赛 sequence Dilworth定理
来源:互联网 发布:搜狗拼音linux安装 编辑:程序博客网 时间:2024/05/23 13:45
题目的:
将一个给定的数列,拆分成K个不降序列,每个数出现且只出现一次,且在各序列中各个数相对于原数列的相对顺序不变。如7 6 9 8 10可以拆成 7 9 10和6 8。求最小的K值。
题目。。。我就暴力了啊!强行模拟啊!!我感觉这样就是对的啊!!!
PZ告诉我这样不对,因为数据水。。正确的做法是利用Dilworth定理
我不知道那个定理。。我就暴力过了。。
#include <iostream>#include <ctime>#include <cstring>#include <cstdlib>#include <cstdio>#include <algorithm>#include <vector>#include <map>using namespace std;#define read(a) scanf("%d", &(a))int a[10010];map<int, int>g;map<int, int>:: iterator it;int n;void doit(){int ans = 0;g.clear();int inf = 1000000;g[inf] = 0;for (int i = 0 ; i != n; ++ i)a[i] = -a[i];for (int i = 0; i != n;++i)// 不增{it = g.lower_bound(a[i]);//cout << it -> first<<" "<< it->second << endl;if (it -> first == inf){++ ans;}g.erase(it);if (g.find(inf) == g.end())g[inf] = 0;g[a[i]] = 0;}printf("%d\n", ans);}int main(){int T;read(T);while (T--){read(n);for (int i = 0; i != n; ++ i)read(a[i]);doit();}return 0;}
0 0
- 南京理工大学第八届程序设计大赛 sequence Dilworth定理
- 南京理工大学第八届程序设计大赛 F sequence
- 南京理工大学第八届程序设计大赛-sequence
- 南京理工大学第八届程序设计大赛(校外镜像) - sequence (贪心)
- 南京理工大学第八届程序设计大赛(校外镜像) F sequence
- 南京理工大学第八届程序设计大赛
- 南京理工大学第八届程序设计大赛
- C count_prime 南京理工大学第八届程序设计大赛
- 南京理工大学第八届程序设计大赛 count_prime
- 南京理工大学第八届程序设计大赛 J water1
- 南京理工大学第八届程序设计大赛题解
- 南京理工大学第八届程序设计大赛count_prime
- 南京理工大学第八届程序设计大赛triple
- 南京理工大学第八届程序设计大赛(校外镜像) sequence(dp+二分)
- 南京理工大学第八届程序设计大赛(校外镜像)
- 南京理工大学第八届程序设计大赛(校外镜像)题解报告
- 南京理工大学第八届程序设计大赛(校外镜像)
- 南京理工大学第八届程序设计大赛(校外镜像) C-count_prime
- 网易笔试题:浏览器中输入一个url后回车到返回页面信息的过程
- 苹果官方iPhone应用高级开发课程(16集)
- web标准的理解
- Java开发人员必须知道和了解的案头网站
- CentOS 7 上安装 Docker与其它后续操作
- 南京理工大学第八届程序设计大赛 sequence Dilworth定理
- OC字符串
- WebService介绍
- unix/linux c函数接口大全
- Spring,hibernate,struts的面试笔试题(含答案)
- java抽象类和接口在设计时的取舍
- android studio 快捷键
- [LeetCode]61. Rotate List
- 百度地图离线化(API v=1.3)