1413D. Shurikens(贪心,栈)
发布日期:2021-06-30 10:25:00 浏览次数:2 分类:技术文章

本文共 486 字,大约阅读时间需要 1 分钟。

当取出一个元素 x x x,说明剩余的元素都是大于等于 x x x的物品

而且,最近一次加入的物品的限制条件最弱(也就是可以相对其他物品尽量小)

就是每次取出的元素,如果把它放在最近一次放入物品的位置

按照栈式匹配

上一次拿出去了 x x x

那么栈内所有元素的值都应该大于 x x x

这就是一个递减的序列,就可以满足要求

#include 
using namespace std;const int maxn = 2e5+10;int n,a[maxn],ans[maxn];int stac[maxn],top,num,flag = 1;int wt[maxn],laz[maxn];int main(){
cin >> n; int minn = -1e9; for(int i=1;i<=2*n;i++) {
char s; cin >> s; if( s=='+' )//新加入的元素 stac[++top] = ++num; else//取出元素 {
int x; cin >> x; if( x

转载地址:https://issue-is-vegetable.blog.csdn.net/article/details/110260917 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:HDU3830 Checkers(思维隐式建图+数学lca)
下一篇:1280A - Cut and Paste(模拟)

发表评论

最新留言

网站不错 人气很旺了 加油
[***.192.178.218]2024年04月27日 13时42分22秒