挖草,AtCoder实在是太吊了~

%%%,目前只A了两题;

A题:

就是利用栈模拟一下就好了;S进栈,T的话有S就出栈,然后len减一下就好了;

#include <bits/stdc++.h>
using namespace std; char s[200020];
stack<int>q; int main()
{
scanf("%s",s+1);
int len=strlen(s+1);
int ans=0;
for(int i=1;i<=len;i++)
{
if(s[i]=='S')
{
q.push(1);
}
else
{
if(!q.empty())
{
ans+=2;
q.pop();
}
}
}
printf("%d\n",len-ans);
return 0;
}

B题【单调栈】

题意:

简单粗暴:

就是求所有区间的最小值之和

思路:

对于a[i]找他的对于区间的贡献,利用单调栈可以降低复杂度求得前面多少个比他大num1,后面多少个比他大num2,然后贡献就是区间长度*a[i];

#include <bits/stdc++.h>
using namespace std;
typedef long long LL; const int N=2e5+10; struct asd{
LL pre;
LL num;
LL next;
LL k;
};
stack<asd>q; LL t[N];
int n; int main()
{
scanf("%d",&n);
for(int i=1;i<=n;i++)
scanf("%lld",&t[i]);
LL ans=0;
asd tmp;
tmp.num=t[1];
tmp.pre=tmp.next=1;
tmp.k=1;
q.push(tmp);
LL x=0,y=0;
for(LL i=2;i<=n;i++)
{
asd tmp1;
tmp1.num=t[i];
tmp1.pre=tmp1.next=1;
tmp1.k=i;
while(!q.empty()&&tmp1.num<=q.top().num)//如果说这个元素是小于栈顶的,那么它里面的栈就要被更新,这个元素的pre也要被更新
{
tmp=q.top();
q.pop();
if(!q.empty())
q.top().next+=tmp.next;
tmp1.pre+=tmp.pre;
ans+=tmp.pre*tmp.next*tmp.num;
}
q.push(tmp1);
}
while(!q.empty())
{
tmp=q.top();
q.pop();
if(!q.empty())
q.top().next+=tmp.next;
ans+=tmp.num*tmp.next*tmp.pre;
}
printf("%lld\n",ans);
}

最新文章

  1. 折腾一两天,终于学会使用grunt压缩合并混淆JS脚本,小激动,特意记录一下+spm一点意外收获
  2. 了解HTML表单之input元素的23种type类型
  3. 《Inside UE4》-0-开篇
  4. OpenSSL命令---passwd
  5. 用canvas实现图片滤镜效果详解之视频效果
  6. ISO-8859-1
  7. linux内核启动参数
  8. OpenWrt opkg 在线源默认配置
  9. PHP_零基础学php_3PHP函数、传参函数、默认参数、函数返回值
  10. n人围成一圈报数
  11. Linux服务器,服务管理--systemctl命令详解,设置开机自启动
  12. mysql常用操作小节
  13. wriesharek同时监听多个端口
  14. MAC下搭建个人博客
  15. Docker 入门 第三部分: 服务
  16. 一场关于 .net core 和 .net framework 编码的案情分析
  17. 《杜增强讲Unity之Tanks坦克大战》10-相机控制
  18. 数据结构与算法之排序(4)希尔排序 ——in dart
  19. C语言——stdio.h
  20. PHP简单模拟登录功能实例分享

热门文章

  1. JS 怎么把数组类型的参数传递到后台,后台怎么获取
  2. c# 怎么获取自己的IP地址
  3. Java笔记之利用反射访问或修改private成员
  4. ABAP OLE常用方法和属性
  5. CoreGraphics(转)
  6. 信息发布员和频道管理员如何查看dedecms自定义表单内容
  7. zkdash部署
  8. BZOJ 1623 [Usaco2008 Open]Cow Cars 奶牛飞车:贪心
  9. 用python做自动化测试--Python实现远程性能监控
  10. BZOJ_3781_小B的询问_莫队