Erasing and Winning UVA
来源:互联网 发布:dior homme男装知乎 编辑:程序博客网 时间:2024/05/18 01:14
关键在于思维,逐步读入这个数,每次读入一位之后,如果之前已经删除的数字的位数没有达到D,并且已经存储了之前输入的部分的数字,那么就将当前输入的数字和之前存储的数字进行比较,并且逐步删除那些比当前的数字小的数字,这一轮操作结束之后,就判断当前已经插入的数字是否已经到了上限(也就是N-D),如果没有到达上限,那么就将当前的数字插入,最后循环结束,输出最终的结果即可,具体实现见如下代码:
#include<iostream>#include<vector>#include<string>#include<set>#include<stack>#include<queue>#include<map>#include<algorithm>#include<cmath>#include<iomanip>#include<cstring>#include<sstream>#include<cstdio>#include<deque>#include<functional>using namespace std;const int maxn = 100000 + 10;char data[maxn];int main(){int N, D;while (cin >> N >> D){if (N == 0 && D == 0) break;int ind = 0;for (int i = 0; i < N; i++){char t;cin >> t;while (ind > 0 && i - ind < D&&data[ind] < t)ind--;if (ind + D < N) data[++ind] = t;}for (int i = 1; i <= N - D; i++)cout << data[i];cout << endl;}return 0;}
阅读全文
0 0
- Erasing and Winning UVA
- Erasing and Winning UVA
- uva 11491 Erasing and Winning
- UVA - 11491 Erasing and Winning
- Uva - 11491 - Erasing and Winning
- uva 11491 - Erasing and Winning
- uva 11491/Erasing and Winning
- UVA 11491 Erasing and Winning
- UVA-11491 Erasing and Winning
- UVa 11491 - Erasing and Winning(贪心)
- UVA - 11491 Erasing and Winning 贪心
- J - Erasing and Winning UVA 11491
- uva 11491——Erasing and Winning
- Uva 11491 Erasing and Winning(贪心)
- UVA 11491 Erasing and Winning(贪心)
- UVa11491 - Erasing and Winning
- uva 11491 - Erasing and Winning【优先队列模拟】
- UVa #11491 Erasing and Winning (习题8-4)
- 极大似然估计
- 瀑布流布局
- 演绎手风琴效果
- 【学习C++】学习C++ -> 进一步了解函数
- HDOJ1032 The 3n + 1 problem
- Erasing and Winning UVA
- IOS开发中ARC下的assign和weak区别
- linux 文件时间查看及修改
- JSON.parse()和JSON.stringify()
- 占位图片生成器:holder.js
- Google File System学习笔记
- Java并发编程实战: 线程基本概念
- Centos中更新PHP版本
- Tiny-Spring源码阅读(一)IOC的理解