uva11491 奖品的价值(贪心)
uva11491 奖品的价值(贪心)
给你一个n位的整数,请你删除其中的d个数字,使得整数尽可能大。1<=d<n<=1e5。
首先因为前面的数位更重要,所以从左往右将每一位数字加入栈中。如果它比栈顶的大,就把栈顶的删掉,因为这样数肯定更大。如果删满了d个,就不再弹出栈顶了。如果全部扫完都删不满d个,只需舍弃最后的数位,使被删的数达到d即可。
#include <cstdio>
#include <cstring>
using namespace std;
const int maxn=1e5+5;
int n, m, lens, tail, dis;
char s[maxn], ans[maxn];
int main(){
while (~scanf("%d%d", &n, &m)&&n){
scanf("%s", s);
tail=0; dis=0;
for (int i=0; i<n; ++i){
while (tail>0&&dis<m&&ans[tail-1]<s[i])
--tail, ++dis;
ans[tail++]=s[i];
}
for (int i=0; i<n-m; ++i)
printf("%c", ans[i]);
puts("");
}
return 0;
}
uva11491 奖品的价值(贪心)的更多相关文章
- UVA11491 奖品的价值
奖品的价值C804 运行时间限制:1000ms: 运行空间限制:51200KB 试题描述 你是一个电视节目的获奖嘉宾.主持人在黑板上写出一个 n 位非负整数(不以 0 开头),邀请你删除其中的 d 个 ...
- UVA - 11491 Erasing and Winning(奖品的价值)(贪心)
题意:有一个n位整数(不以0开头),要求删除其中的d个数字,使结果尽量大.(1<=d<n<=10^5) 分析: 1.从头扫一遍,如果当前填的数字小于n-d,则将当前数字填上. 2.如 ...
- 8-4 奖品的价值 uva11491(贪心)
题意:给出一个n位整数 请删除d个数字 使得剩余数字最大 一开始写成窗口扫描 非常的麻烦易错 只要保证前d+1 降序即可 如果非降序 则删除 很巧妙的贪心 每次读入和已经保存的数组相比较 ...
- UVA 11491 Erasing and Winning 奖品的价值 (贪心)
题意:给你一个n位整数,让你删掉d个数字,剩下的数字要尽量大. 题解:因为最后数字位数是确定的,而且低位数字对答案的贡献是一定不及高位数字的,所以优先选择选最大且最靠左边的数字,但是有一个限制,选完这 ...
- UVa 11491 奖品的价值
https://vjudge.net/problem/UVA-11491 题意:一个n位整数,删除其中的d个数字,输出最大值. 思路:肯定从高位开始分析,代码如下. #include<strin ...
- HihoCoder - 1038 01背包 动态规划
#1038 : 01背包 时间限制:20000ms 单点时限:1000ms 内存限制:256MB 描述 且说上一周的故事里,小Hi和小Ho费劲心思终于拿到了茫茫多的奖券!而现在,终于到了小Ho领取奖励 ...
- 51nod 1257 背包问题 V3(这不是背包问题是二分)
题目链接:https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1257 题解:不能按照单位价值贪心,不然连样例都过不了 要求的 ...
- 基于Keras的OpenAI-gym强化学习的车杆/FlappyBird游戏
强化学习 课程:Q-Learning强化学习(李宏毅).深度强化学习 强化学习是一种允许你创造能从环境中交互学习的AI Agent的机器学习算法,其通过试错来学习.如上图所示,大脑代表AI Agent ...
- luogu P4437 [HNOI/AHOI2018]排列
luogu 问题本质是把\(a_i\)作为\(i\)的父亲,然后如果有环就不合法,否则每次要取数,要满足取之前他的父亲都被取过(父亲为0可以直接取),求最大价值 贪心想法显然是要把权值大的尽量放在后面 ...
随机推荐
- 代码题(14)— 合并有序链表、数组、合并K个排序链表
1.21. 合并两个有序链表 将两个有序链表合并为一个新的有序链表并返回.新链表是通过拼接给定的两个链表的所有节点组成的. 示例: 输入:1->2->4, 1->3->4 输出 ...
- http接口测试框架-遇到的问题
遇到过很多问题 如图,结果做作对比的时候,发现返回的结果有一个error_code: 0,中间有一个空格,导致对比失败 解决方法:打印出结果,再对比,case里的预期结果是否一致,有时候是填写的错误 ...
- 重拾安卓_01_安卓开发环境搭建(eclipse)
一.下载安装Android SDK 1.下载地址 (1)官网(可FQ选择):http://developer.android.com/sdk/index.html (2)不可FQ选择:http://w ...
- Oracle学习笔记_03_单行函数
1.SQL函数: 单行函数.多行函数 单行函数: 操作数据对象 接受参数返回一个结果 只对一行进行变换 每行返回一个结果 可以转换数据类型 ...
- 关于from..import 与import导入模块问题
问题来源:导入PyQt5里面的模块时老是出错 1.from PyQt5 import QtWidgets.QApplication,QtWidgets.QtDialog #出错2.from PyQt5 ...
- 如何用Mendeley引用目标期刊要求的参考文献格式
如果我们要向目标的杂志期刊投稿,则需要采用该期刊的参考文献格式.我用的mendeley管理文献,不收费且使用方便.那么,我们如何用mendeley引用目标期刊的参考文献呢?以Applied energ ...
- Cannot find PHPUnit in include path (.;C:\php5\pear)
--pear channel-discover pear.phpunit.de --pear install phpunit/PHPUnit 此时会显示: No valid packages foun ...
- bzoj 1670 Building the Moat护城河的挖掘 —— 凸包
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=1670 单调栈维护凸包即可,用叉积判断: 维护上凸壳,然后把所有点的纵坐标翻转再求上凸壳即可, ...
- Jetson TX2火力全开
Jetson Tegra系统的应用涵盖越来越广,相应用户对性能和功耗的要求也呈现多样化.为此NVIDIA提供一种新的命令行工具,可以方便地让用户配置CPU状态,以最大限度地提高不同场景下的性能和能耗. ...
- 关于系统中:/dev/mem
1)参考:https://blog.csdn.net/lsn946803746/article/details/52948036 博主:lsn946803746 2)参考:https://blog ...