正题


题目大意

ansians_iansi​表示包含字符iii的括号匹配子串个数

求∑i=1n(ansi∗imod  (1e9+7))\sum_{i=1}^n(ans_i*i\mod (1e9+7))i=1∑n​(ansi​∗imod(1e9+7))


解题思路

计算出每个匹配括号的前一个括号位置和后一个括号位置。
一个差分数组
先计算加的,其实对于每一些同级括号,差分数组就按顺序从1到kkk(k表示括号个数)
减的同理
举个例子

sss ((( ))) ((( ))) endendend
addaddadd 1 0 2 0 0
reducereducereduce 0 0 1 0 2

codecodecode

#include<cstdio>
#include<algorithm>
#include<cstring>
#include<stack>
#define ll long long
using namespace std;
const ll XJQ=1e9+7,N=1e6+10;
char s[N];
stack<int> ss;
ll n,t,last[N],next[N],r[N],l[N],sum[N],ans;
int main()
{scanf("%lld",&t);while(t--){scanf("%s",s+1);ans=0;memset(l,0,sizeof(l));memset(r,0,sizeof(r));memset(last,0,sizeof(last));memset(next,0,sizeof(next));memset(sum,0,sizeof(sum));while(!ss.empty()) ss.pop();n=strlen(s+1);for(ll i=1;i<=n;i++)if(s[i]=='(') ss.push(i);else if(!ss.empty()){last[i+1]=ss.top();next[ss.top()]=i+1;ss.pop();}for(ll i=n+1;i>=1;i--){r[i]++;r[last[i]]+=r[i];}for(ll i=0;i<=n;i++){l[i]--;l[next[i]]+=l[i];}for(ll i=1;i<=n;i++)sum[i]=sum[i-1]+l[i]+r[i],ans+=sum[i]*i%XJQ;printf("%lld\n",ans);}
}

jzoj4209-已经没有什么好害怕的了【差分】相关推荐

  1. Jzoj4209 已经没有什么好害怕的了

    小Y 最近开始学习算法姿势,但是因为小R 非常BB,给了她很多B6 题,所以她觉得自己已经没有什么前途了. 于是小R 给了她一些稍微简单的题,让她觉得已经没有什么好害怕的了,其中一道是这样的: 给定一 ...

  2. 欢乐纪中某B组赛【2019.1.21】

    前言 成功翻车 成绩 RankRankRank是有算别人的 RankRankRank PersonPersonPerson ScoreScoreScore AAA BBB CCC 141414 201 ...

  3. vim block vim_如何不再害怕Vim

    vim block vim 精选最流行的命令以及如何使用它们 (A curation of the most popular commands and how to use them) If you' ...

  4. git 代理 git_如何不再害怕GIT

    git 代理 git 了解减少不确定性的机制 (Understanding the machinery to whittle away the uncertainty) 到底什么是Git? (What ...

  5. 为什么我害怕数据结构学得好的程序员?

    我害怕数据结构学得好的程序员,一跟他们讨论技术,我就感觉自己不是程序员,仅仅是在搬砖维持生活. 我所拥有的编程技巧是什么?不就是每个程序员都会的,对数据库的增删改查吗?每一个初入职场的程序员都会.但数 ...

  6. 华为,你终于活成了他们害怕的样子

    微信改版,加星标不迷路! 作者 | 素衣回中原 来源 | HUGO(ID:microhugo) 今天这篇文章是叔想为中国一家企业一个品牌好好说几句话,前几日华为的事你们都知道了吧,华为公司的负责人(任 ...

  7. 总线控制内部eep_【上周回顾】小白如何自学单片机;电子专业的十个神总结;摩尔定律54年;电子工程师常弄混的总线分类汇总;他做成了半导体害怕他做的事...

    往期动态: 1.他60岁回国,做成了半导体行业都害怕他做成的事... 2.教你4招,小白如何自学单片机,绝对管用! 3.电子工程师常弄混的总线分类汇总,你中招了吗? 4.摩尔定律54年:他是如何在实验 ...

  8. 害怕离职,侧面说明大多数是离职了没人要的废物?

    有人害怕离职,年龄越大,越害怕离职.有网友在职场论坛犀利评论,称害怕离职,侧面说明大多数是离职了没人要的废物.但这一偏激的观点引起了众网友的热议和批判. 有网友如此回击这口毒鸡汤:害怕死亡,害怕痛苦, ...

  9. 连岳读书|这是不让人害怕的数学,课堂上学不到的数学!

    本文首发:一句日历已获得授权,转载需联系原文. "数学虐我千百遍,我待数学如初恋",相信许多人都用这句话调侃过自己和数学的关系. 各种公式.定理.几何图形,一看就会,一做就废,久而 ...

  10. 这个人工智能强到让人感到害怕

    这个月,OpenAI 公布已久的 GPT-2 终于是在放出了两个能够供研究人员研究的模型,两个模型的大小不同,一个是小型模型,一个是中型模型,其中中型模型包含 3.45 亿参数. GPT-2 是 Op ...

最新文章

  1. SAP公司间STO流程里外向交货单PGI后自动触发内向交货单的实现
  2. 内存缓存之memcache的使用
  3. Python的list中的选取范围
  4. Logistic and Softmax Regression (逻辑回归和Softmax回归)
  5. bartlett方差齐性检验_基于R实现统计中的检验方法方差分析
  6. java iconsolefactory_java – 如何设置IOConsole的Caret
  7. 在学Python前学Linux,Python原来这么好学-1.2节: 在Linux中安装python
  8. K8s上的Go服务怎么扩容、发版更新、回滚、平滑重启?教你用Deployment全搞定!
  9. Android 系统(35)---Android 进程间通信的几种实现方式
  10. mysql复制模式有几种_MYSQL复制的几种模式
  11. java读取word文档内容_Python读取PDF信息插入Word文档
  12. labelImg 标签bug
  13. delphi 创建一个纯文本文件
  14. python3安装scapy_centos 7 安装python3.7 和scapy
  15. c#语言猜数字游戏,C#实现猜数字小游戏
  16. 光纤交换机配置zone
  17. STM32F103的DAC实现播放WAV音乐
  18. 哈夫曼树实现:统计文本信息,构造哈夫曼树,并对其进行编码与解码
  19. criterion of IMAP4.search 限制规范
  20. 准备进入ReRAM速度!Crossbar发布SMIC芯片样品

热门文章

  1. mysql序列increment_MySQL 序列 AUTO_INCREMENT
  2. 涨薪关键之反射机制,引得项目经理对你的看重,加薪触手可及!!!!
  3. mysql binlog oplog_mongodb 学习之oplog
  4. linux 7.0查看防火墙状态,centos7查看防火墙状态
  5. java弹窗 触发事件_关于ElementUI中MessageBox弹框的取消键盘触发事件(enter,esc)关闭弹窗(执行事件)的解决方法...
  6. infor wms 项目启动_广汽本田增城工厂No.2L WMS项目正式启动
  7. 计算机模拟分子设计,计算机模拟分子材料.pdf
  8. 动手实现深度学习pytroch版
  9. 算法——常用的数据结构/模板/基础知识
  10. 「3.4w字」超保姆级教程带你实现Promise的核心功能