Jzoj4209 已经没有什么好害怕的了
小Y 最近开始学习算法姿势,但是因为小R 非常BB,给了她很多B6 题,所以她觉得自己已经没有什么前途了。
于是小R 给了她一些稍微简单的题,让她觉得已经没有什么好害怕的了,其中一道是这样的:
给定一个长度为n 只包含左括号和右括号的序列,现在小R 想要知道经过每一个位置的合法子串有多少个。
空串是一个合法的串,如果A 和B 都是合法的串,那么(A) 和AB 都是合法的串。 n<=1000000
又是差分的题目,非常坑
先给括号配对,让后记一对合法的括号为[l,r)
我们分别按顺序和倒序处理每对括号[l,r)
对于括号[l,r)我们先对区间[l,r)加上1,让后考虑它的影响
若l是另一对括号[l',r')的右端点(r'=l)那么显然这里的[l,r)贡献可以全部加过去
若r是另一对括号[l',r')的左端点,那么显然也可以把[l,r)的贡献全加过去
不合法的括号位置会自动抵消
#pragma GCC optimize("O3")
#pragma G++ optimize("O3")
#include<stdio.h>
#include<string.h>
#include<algorithm>
#define N 1000010
#define M 1000000007
using namespace std;
long long ans,f[N]; char s[N];
int n,m,t,w[N],l[N],r[N],cl[N],cr[N];
int _18520(){scanf("%s",s+1); n=strlen(s+1);for(int i=1;i<=n;++i)if(s[i]=='(') w[++t]=i;else if(t){ r[w[t]]=i+1; l[i+1]=w[t--]; }for(int i=n+1;i;--i) cr[l[i]]+=++cr[i];for(int i=1;i<=n;++i) cl[r[i]]+=--cl[i];for(int i=1;i<=n;++i) f[i]=f[i-1]+cl[i]+cr[i];for(int i=1;i<=n;++i) ans=ans+i*f[i]%M;printf("%lld\n",ans);
}
int main(){int T; for(scanf("%d",&T);T--;_18520()){memset(f,0,N<<3);memset(l,0,N<<2);memset(r,0,N<<2);memset(cl,0,N<<2);memset(cr,0,N<<2);t=ans=0;}
}
转载于:https://www.cnblogs.com/Extended-Ash/p/9477153.html
Jzoj4209 已经没有什么好害怕的了相关推荐
- 欢乐纪中某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 ...
最新文章
- vs2008添加excel类编译错误解决方法
- YbtOJ-序列计数【组合数学,莫队】
- oracle临时表空间占用率过高,ORACLE 临时表空间使用率过高的原因及临时解决方案...
- 【项目管理】技术债务
- 12096 - The SetStack Computer
- Hive之函数与自定义函数
- HttpClient Get请求实例
- WPF 文字换行TextWrapping 显示不全用省略号TextTrimming 显示不全弹提示内容ToolTip
- python人口普查数据数据分析_美国人口普查数据可视化探索和收入水平预测建模...
- MATLAB安装破解教程(内涵所需文件)
- Postman 安装
- 硬盘录像机常见问题解答硬盘录像机故障解决
- java首行缩进两个字符,都是首行缩进2字符,为什么缩进又不相同.d – 手机爱问...
- 微信字号调整问题 html,解决h5 开发 ,设置手机字体大小微信设置字体大小 页面变形问题...
- 创建简易的金融数据库
- 浅谈微信小程序对于创业者,意味着什么?
- MySQL--函数--使用/示例
- 高版本CAD画直线时,点击F8正交卡死解决方法
- 【codeforces 718E】E. Matvey's Birthday
- PaddleOCR新发版v2.2:开源版面分析与轻量化表格识别
热门文章
- jquery日历插件 途牛_jquery日历插件SimpleCalendar
- JAVA中一维数组的作用,JAVA中一维数组和二维数组的定义
- java方法6_6.1 JAVA方法入门
- 怎么监控一个接口的传输数据_监控安装超详细教学教程,学会又多一门技能
- vue中computed和methods区别
- Unable to instantiate Action,
- 网页制作遵循四大原则让网站建设更加优质
- camera客观测试_光学图像测试之屏幕色彩管理测试
- WeakReference回收问题
- 一行代码快速搞定Flowable断点下载(上)