jzoj4209-已经没有什么好害怕的了【差分】
正题
题目大意
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-已经没有什么好害怕的了【差分】相关推荐
- Jzoj4209 已经没有什么好害怕的了
小Y 最近开始学习算法姿势,但是因为小R 非常BB,给了她很多B6 题,所以她觉得自己已经没有什么前途了. 于是小R 给了她一些稍微简单的题,让她觉得已经没有什么好害怕的了,其中一道是这样的: 给定一 ...
- 欢乐纪中某B组赛【2019.1.21】
前言 成功翻车 成绩 RankRankRank是有算别人的 RankRankRank PersonPersonPerson ScoreScoreScore AAA BBB CCC 141414 201 ...
- vim block vim_如何不再害怕Vim
vim block vim 精选最流行的命令以及如何使用它们 (A curation of the most popular commands and how to use them) If you' ...
- git 代理 git_如何不再害怕GIT
git 代理 git 了解减少不确定性的机制 (Understanding the machinery to whittle away the uncertainty) 到底什么是Git? (What ...
- 为什么我害怕数据结构学得好的程序员?
我害怕数据结构学得好的程序员,一跟他们讨论技术,我就感觉自己不是程序员,仅仅是在搬砖维持生活. 我所拥有的编程技巧是什么?不就是每个程序员都会的,对数据库的增删改查吗?每一个初入职场的程序员都会.但数 ...
- 华为,你终于活成了他们害怕的样子
微信改版,加星标不迷路! 作者 | 素衣回中原 来源 | HUGO(ID:microhugo) 今天这篇文章是叔想为中国一家企业一个品牌好好说几句话,前几日华为的事你们都知道了吧,华为公司的负责人(任 ...
- 总线控制内部eep_【上周回顾】小白如何自学单片机;电子专业的十个神总结;摩尔定律54年;电子工程师常弄混的总线分类汇总;他做成了半导体害怕他做的事...
往期动态: 1.他60岁回国,做成了半导体行业都害怕他做成的事... 2.教你4招,小白如何自学单片机,绝对管用! 3.电子工程师常弄混的总线分类汇总,你中招了吗? 4.摩尔定律54年:他是如何在实验 ...
- 害怕离职,侧面说明大多数是离职了没人要的废物?
有人害怕离职,年龄越大,越害怕离职.有网友在职场论坛犀利评论,称害怕离职,侧面说明大多数是离职了没人要的废物.但这一偏激的观点引起了众网友的热议和批判. 有网友如此回击这口毒鸡汤:害怕死亡,害怕痛苦, ...
- 连岳读书|这是不让人害怕的数学,课堂上学不到的数学!
本文首发:一句日历已获得授权,转载需联系原文. "数学虐我千百遍,我待数学如初恋",相信许多人都用这句话调侃过自己和数学的关系. 各种公式.定理.几何图形,一看就会,一做就废,久而 ...
- 这个人工智能强到让人感到害怕
这个月,OpenAI 公布已久的 GPT-2 终于是在放出了两个能够供研究人员研究的模型,两个模型的大小不同,一个是小型模型,一个是中型模型,其中中型模型包含 3.45 亿参数. GPT-2 是 Op ...
最新文章
- SAP公司间STO流程里外向交货单PGI后自动触发内向交货单的实现
- 内存缓存之memcache的使用
- Python的list中的选取范围
- Logistic and Softmax Regression (逻辑回归和Softmax回归)
- bartlett方差齐性检验_基于R实现统计中的检验方法方差分析
- java iconsolefactory_java – 如何设置IOConsole的Caret
- 在学Python前学Linux,Python原来这么好学-1.2节: 在Linux中安装python
- K8s上的Go服务怎么扩容、发版更新、回滚、平滑重启?教你用Deployment全搞定!
- Android 系统(35)---Android 进程间通信的几种实现方式
- mysql复制模式有几种_MYSQL复制的几种模式
- java读取word文档内容_Python读取PDF信息插入Word文档
- labelImg 标签bug
- delphi 创建一个纯文本文件
- python3安装scapy_centos 7 安装python3.7 和scapy
- c#语言猜数字游戏,C#实现猜数字小游戏
- 光纤交换机配置zone
- STM32F103的DAC实现播放WAV音乐
- 哈夫曼树实现:统计文本信息,构造哈夫曼树,并对其进行编码与解码
- criterion of IMAP4.search 限制规范
- 准备进入ReRAM速度!Crossbar发布SMIC芯片样品
热门文章
- mysql序列increment_MySQL 序列 AUTO_INCREMENT
- 涨薪关键之反射机制,引得项目经理对你的看重,加薪触手可及!!!!
- mysql binlog oplog_mongodb 学习之oplog
- linux 7.0查看防火墙状态,centos7查看防火墙状态
- java弹窗 触发事件_关于ElementUI中MessageBox弹框的取消键盘触发事件(enter,esc)关闭弹窗(执行事件)的解决方法...
- infor wms 项目启动_广汽本田增城工厂No.2L WMS项目正式启动
- 计算机模拟分子设计,计算机模拟分子材料.pdf
- 动手实现深度学习pytroch版
- 算法——常用的数据结构/模板/基础知识
- 「3.4w字」超保姆级教程带你实现Promise的核心功能