这道题看了别人的博客才做出来的,思路还是不行。

解题思路:因为要获得最大的数,所以从高位开始枚举,再从这一位向前扫一遍删掉比这一位小的数,当碰到比它大的数时结束。最后扫完一遍后,如果删的数不够m,再从个位开始删,直到删到m个为止。

#include<cstdio>
#include<cstring>
#include<vector>
#include<set>
#include<algorithm>
using namespace std;
const int maxn = 1e5 + 10;
char a[maxn];
int vis[maxn];
int main(){int n, m;while(~scanf("%d%d", &n, &m) && ( n || m)){memset(vis, 0, sizeof vis);scanf("%s", a);int pre = 0, t = 0;for(int i = 1; i < n; i++){if(!vis[i])for(int j = i - 1; j >= 0; j--){if(!vis[j] && a[j] < a[i] && t < m){vis[j] = 1;t++;}if(!vis[j] && a[j] >= a[i]) break;}pre = a[i];}if(t < m)for(int i = n - 1; i >= 0 && t < m; i--)if(!vis[i]){vis[i] = i;t++;}for(int i = 0; i < n; i++)if(!vis[i]) printf("%c", a[i]);printf("\n");}return 0;
}

Uva 11491 Erasing and Winning(贪心)相关推荐

  1. UVA 11491 - Erasing and Winning 贪心水题

    题目链接:UVA 11491 - Erasing and Winning(考虑到UVA的访问不是很方便,这里就放个vjudge的链接吧) 题目 Description Juliano is a fan ...

  2. UVA 11491 Erasing and Winning 奖品的价值 (贪心)

    题意:给你一个n位整数,让你删掉d个数字,剩下的数字要尽量大. 题解:因为最后数字位数是确定的,而且低位数字对答案的贡献是一定不及高位数字的,所以优先选择选最大且最靠左边的数字,但是有一个限制,选完这 ...

  3. UVA - 11491 Erasing and Winning(奖品的价值)(贪心)

    题意:有一个n位整数(不以0开头),要求删除其中的d个数字,使结果尽量大.(1<=d<n<=10^5) 分析: 1.从头扫一遍,如果当前填的数字小于n-d,则将当前数字填上. 2.如 ...

  4. uva 11491——Erasing and Winning

    题意:给定一个n位的整数,要求从中去掉k位,使得剩下的数字最大. 思路:单调队列.在满足删除的数等于k 的前提下求一个不敌减的序列. code: #include <iostream> # ...

  5. uva 11491 Erasing and Winning

    明明10e5*10不会超时的, 超了半天, 伤心死了, 优化半天才勉强过了. Accepted 0 KB 882 ms C++ 4.8.2 代码应该还算好理解吧. #include<cstdio ...

  6. UVA - 11491 Erasing and Winning

    // 在满足要求的情况下找已经选出的答案. // #include<iostream> #include<cstdio> #include<string> usin ...

  7. 11491 - Erasing and Winning(贪心)

    一开始真的没想到这竟然是一道贪心题目.  不过后来仔细想想也就明白了. 我采取的做法是自前向后扫一遍,用一个指针rear动态维护答案数组中的最后一个元素,如果遇到一个比它大的数s[i],那么从它开始将 ...

  8. Erasing and Winning UVA - 11491 解题报告

    题目大意:给你一个N位数字,让你删除其中的D位,使得剩下的数字最大. 思路:这道题是一道贪心题,一开始自己的贪心思想是这样的,使用一个结构体保存原本的位置和数字,读完后排次序消除前D个最小值,再根据结 ...

  9. Erasing and Winning UVA - 11491

    题目传送门 题意:给你n个数字让你从这n个数字当中删除m个,使得最后得到的数字的大小最大. 思路:贪心即可,从前面仅可能选择最大的数字. #include <algorithm> #inc ...

最新文章

  1. electron调用python_在Electron app中运行python脚本
  2. (七)OpenStack---M版---双节点搭建---Dashboard安装和配置
  3. 宏基微型计算机c650使用方法,C650卧式普通车床PLC改造
  4. POJ 3241Object Clustering曼哈顿距离最小生成树
  5. emacs c语言 自动补全,Emacs 与 C/C++ 代码自动补全
  6. c语言编译错误 原文,C语言常见错误与警告
  7. MVC(Java , C# ,php)
  8. C++ 前置操作符与后置操作符
  9. Thinking in Java之匿名内部类
  10. 通讯录管理系统JAVA版本
  11. 内存分区0x00000000-0x0000FFFF共64K是null指针
  12. ❤️ 硬核玩游戏:200行代码给你整个俄罗斯方块 ❤️
  13. Java华氏度与摄氏度之间的转换
  14. android中的简单animation(三)accelerate(加速),decelerate(减速),anticipate,overshoot,bounce...
  15. 重装电脑麻烦,但值得
  16. 【shell】scp 同时向多个主机拷贝数据
  17. 干货 | 如何确定是否属于关键信息基础设施?
  18. acwing 846. 树的重心
  19. Spring错误之org.springframework.beans.factory.BeanNotOfRequiredTypeException: Bean named ‘bookService‘
  20. 30K的月薪,是个什么段位?

热门文章

  1. UCML--编译型应用框架快速开发工具体系介绍
  2. Hive SQL 语法大全 整理(建议收藏)
  3. WIFI 测试和调试
  4. Drawable系列之-Drawable简介
  5. 数独游戏-蓝桥杯-C语言,数独游戏_java_深搜+回溯
  6. 空气质量查询api使用场景大合集它来了~
  7. 衍生式设计+纤维增强3D打印对汽车零部件进行轻量化设计制造
  8. 七上八下猜数字_集体郊游在大巴车上搞活气氛的互动游戏
  9. ffmpeg 打包TS介绍
  10. Qt中利用QMediaPlayer添加背景音乐