uva 11491——Erasing and Winning

题意:给定一个n位的整数,要求从中去掉k位,使得剩下的数字最大。


思路:单调队列。在满足删除的数等于k 的前提下求一个不敌减的序列。


code:

#include <iostream>
#include <cstdio>
#include <cmath>
#include <algorithm>
#include <cstring>
#include <sstream>
#include <string>
#include <vector>
#include <list>
#include <queue>
#include <stack>
#include <map>
#include <set>
#include <bitset>using namespace std;typedef long long ll;
typedef unsigned long long ull;
typedef long double ld;const int INF=0x3fffffff;
const int inf=-INF;
const int N=100005;
const int M=2005;
const int mod=1000000007;
const double pi=acos(-1.0);#define cls(x,c) memset(x,c,sizeof(x))
#define cpy(x,a) memcpy(x,a,sizeof(a))
#define fr(i,s,n) for (int i=s;i<=n;i++)
#define lson l,m,rt<<1
#define rson m+1,r,rt<<1|1
#define lrt  rt<<1
#define rrt  rt<<1|1
#define middle int m=(r+l)>>1
#define lowbit(x) (x&-x)
#define pii pair<int,int>
#define mk make_pair
#define IN freopen("in.txt","r",stdin);
#define OUT freopen("out.txt","w",stdout);int s[N];
int main()
{int n,k,x;while (~scanf("%d %d",&n,&k)&&n&&k){k=n-k;int len=0;fr(i,0,n-1){scanf("%1d",&x);//cout<<"bug"<<endl;   //每次输入一位while (len&&n-i+len>k&&x>s[len-1]) len--;  //假如还没选够k个并且当前较大,就弹出前面所选的数。其实是一个不递减的序列。if (len<k) s[len++]=x;} //cout<<len<<endl;fr(i,0,len-1) printf("%d",s[i]);puts("");}
}


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/381945.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

工作组和域的区别

局域网上的资源需要管理&#xff0c;“域”和“工作组”就是两种不同的网络资源管理模式。那么二者有何区别呢&#xff1f;看了这篇文章&#xff0c;您就会明白了。工作组 Work Group在一个网络内&#xff0c;可能有成百上千台电脑&#xff0c;如果这些电脑不进行分组&#xff…

uva 12545——Bits Equalizer

题意&#xff1a;给定两个等长的串s和t&#xff0c;其中s串包括0&#xff0c;1&#xff0c;&#xff1f;&#xff0c;T包含0&#xff0c;1&#xff0c;每次可以把s中的0变成1或者交换任意两个数或者&#xff1f;变成任意01.求由s到t的最小步数。 思路&#xff1a;杂。所有带&am…

Ananagrams Uva 156

Ananagrams (map的使用) Most crossword puzzle fans are used to anagrams–groups of words with the same letters in different orders–for example OPTS, SPOT, STOP, POTS and POST. Some words however do not have this attribute, no matter how you rearrange their…

流星

我的心情像下雨故乱飞溅 静落一地因为没有你 我的心情像流星划破天际 惨淡的光阴因为没有你 我的心情像风铃没有主见 无法成形因为没有你 我的心情像问号钩子心碎 一点茫然因为没有你 我的心情像冰块没有温度 化了一地因为没有你 我好想你我好想你我好想你 http://photo.…

uva 1623——Enter The Dragon

题意&#xff1a;有n个装满水的湖&#xff0c;可以预知将来m天下雨情况&#xff0c;每次下满一个湖&#xff0c;或者不下&#xff0c;不下雨的时候可以让某个湖变干&#xff0c;问是否存在一种方案使得每次下雨之前湖总是干的。 思路&#xff1a;贪心。什么时候下雨&#xff0c…

CodeForce 2A —— Winner

A. Winner The winner of the card game popular in Berland “Berlogging” is determined according to the following rules. If at the end of the game there is only one player with the maximum number of points, he is the winner. The situation becomes more diffi…

GARFIELD@12-30-2004

tele-murderer 转载于:https://www.cnblogs.com/rexhost/archive/2004/12/30/84230.html

[codevs] 1098 均分纸牌

均分纸牌 题目描述 Description 有 N 堆纸牌&#xff0c;编号分别为 1&#xff0c;2&#xff0c;…, N。每堆上有若干张&#xff0c;但纸牌总数必为 N 的倍数。可以在任一堆上取若于张纸牌&#xff0c;然后移动。   移牌规则为&#xff1a;在编号为 1 堆上取的纸牌&#xf…

uva 11536——Smallest Sub-Array

题意&#xff1a;给定n个数&#xff0c;这n个数在m的范围之内。v[i](v[i-1]v[i-2]v[i-3])%m1; 然后求一个最短连续子序列使得序列内包括1-k个数。 思路&#xff1a;枚举。枚举以v[i]结尾的最短序列。用ct维护已经找到的k个数中的个数&#xff0c;queue跳转区间。 code&#x…

好消息,关于2005的default provider

好消息&#xff0c;关于2005的default provider 看到一则消息&#xff0c;说在vs.net 2005 bETA 2以后&#xff0c;关于Membership, Roles, Profile and Personalization 的会默认使用 SQL SERVER 2005的provider(现在BETA 1使用的是ACCESS&#xff0c;所以在做MEMBERSHIP&…

[Qt] 解决toggled无法触发setVisible

解决toggled无法触发setVisible 解决方法&#xff1a; 在QT Designer中&#xff0c;创建QPushButton时需要将按钮修改为checkable。在默认情况下&#xff0c;checkable是不选中的&#xff0c;默认为触发按钮&#xff08;trigger button&#xff09;&#xff0c;也就是按下之后…

周华健,歌声伴我成长(四)

1997年&#xff0c;经典的朋友《朋友》 朋友 这些年一个人 风也过雨也走 有过泪有过错 还记得坚持甚麽 真爱过才会懂 会寂寞会回首 终有梦终有你在心中 朋友一生一起走 那些日子不再有 一句话一辈子 一生情一杯酒 朋友不曾孤单过 一声朋友你会懂 还有伤还有痛 还要走还有我 199…

hihoCoder挑战赛16 A—— 王胖浩与三角形

思路&#xff1a;开始没有思路&#xff0c;想到了用三边乱搞&#xff08;每条边按照比例增加&#xff09;然而样例都无法通过。后来想到了海伦公式sqrt((abc)(ab-c)(bc-a)(ac-b))/4&#xff0c;那么这样以来就是让这个三角形趋于正三角形了&#xff0c;即三边的方差最小&#x…

虚析构函数

需要虚析构函数的原因&#xff1a; 首先看一下这段代码&#xff1a; #include <iostream> using namespace std;class A { private: int *a; public: A() { a new int; cout << "A::A() is called.\n"; }~A() { delete a; cout << "A::~A(…

关于编写流程的一些经验

关于编写流程的一些经验 各位同行有时编写较多的流程。在很多情况下需要修改其他同事的流程。在修改的过程中需要了解流程的结构、看懂原流程各部分编写的情况 &#xff0c;了解每个变量存放的内容。但由于在编写过程中会不断的修改增加流程&#xff0c;所以有时有些地方的情况…

CodeForces 501B——Misha and Changing Handles

题意&#xff1a;给定一些姓名的原来姓名和修改后的名字&#xff0c;由于一个名字可以被修改多次&#xff0c;所以求所有用户的初始姓名和当前姓名。 思路&#xff1a;暴力。数据量很小&#xff0c;对于每次修改直接判断其是否有原来的名字即可&#xff0c;有的话更新&#xff…

静态多态 动态多态

一. 静态多态 1. 何为静态多态&#xff1f; 又称编译期多态&#xff0c;即在系统编译期间就可以确定程序将要执行哪个函数。例如&#xff1a;函数重载&#xff0c;通过类成员运算符指定的运算。 2. 示例代码 函数重载示例&#xff1a; class A { public:A() {}A( int x ) …

来几个FUNNY PICS,让大家笑一笑!

点解蜡笔小新成日都可以甘猥琐&#xff5e;转载于:https://www.cnblogs.com/hdclub/archive/2005/04/26/145761.html

uva 10954——Add All

<p>题意&#xff1a;给定一个序列&#xff0c;然后从中选择两个数&#xff0c;相加后放入原来的序列&#xff0c;消耗的费用为两个数 的和&#xff0c;问最小的代价。</p><p></p><p>思路&#xff1a;贪心。用优先队列维护&#xff0c;每次取得时…

jsoncpp学习笔记

jsoncpp 一. json基础 类型&#xff1a; 1. Json::Value为主要数据类型&#xff1b; 2. Json::Reader将文件流或字符串创解析到Json::Value中&#xff0c;主要使用parse函数&#xff1b;3. Json::Writer&#xff1a;与JsonReader相反&#xff0c;将Json::Value转换成字符串流…