题目链接 Anton and School - 2 对于序列中的任意一个单括号对(), 左括号左边(不含本身)有a个左括号,右括号右边(不含本身有)b个右括号. 那么答案就为 但是这样枚举左右的()的话,最快情况复杂度为1e10,TLE. 所以对于每个左括号,把他右边的所有右括号一起来考虑. 对于每个左括号,令它左边(不含它本身)括号数位x,它右边右括号数位y. 那么当前答案为     复杂度O(Nlogmod),其中mod=1e9+7. PS:代码中的这个y应该是上图的y-1.   #incl…
D. Anton and School - 2 time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output As you probably know, Anton goes to school. One of the school subjects that Anton studies is Bracketology. On the Br…
Description As you probably know, Anton goes to school. One of the school subjects that Anton studies is Bracketology. On the Bracketology lessons students usually learn different sequences that consist of round brackets (characters "(" and &quo…
题目链接:https://codeforces.com/problemset/problem/785/D 题解: 首先很好想的,如果我们预处理出每个 "(" 的左边还有 $x$ 个 "(",以及右边有 $y$ 个 ")",那么就有式子如下: ① 若 $x+1 \le y$:$C_{x}^{0} C_{y}^{1} + C_{x}^{1} C_{y}^{2} + \cdots + C_{x}^{x} C_{y}^{x+1} = \sum_{i=0}…
https://codeforces.com/contest/1136/problem/E 题意 给你一个有n个数字的a数组,一个有n-1个数字的k数组,两种操作: 1.将a[i]+x,假如a[i]+k[i]>a[i+1],则a[i+1]要变成a[i]+k[i],直到某个a[j]+k[j]<=a[j+1] 2.询问某个区间的和 题解 利用题目性质将题目转化到你会的东西的性质 令\(t_i=k_1+..+k_{i-1},b_i=a_i-t_i\) \(a_i \geq a_{i-1} + k_{…
[题目链接] http://codeforces.com/problemset/problem/785/D [题目大意] 给出一个只包含左右括号的串,请你找出这个串中的一些子序列, 要求满足"(((())))",即左边全是左括号右边全是右括号且数量相等的形式. 求这样的子序列的数量. [题解] 我们枚举每个断点(,计算当这个位置作为最后一个左括号时候的方案数 设左边有x个左括号,右边有y个右括号,那么统计答案为ΣC(x,i)*C(y,i+1) 又有C(y,i+1)=C(y,y-1-i)…
https://codeforces.com/contest/1138/problem/F 题意 有一条长为t的链,一个长为c的环,定义终点为链和环相连环上的第一个点,现在有10个人在起点,你每次可以选择一部分人向前移动一步,然后会返回十个人的分组情况(在同一个点的为一组),一旦进入了环里就只会在环里转圈,让你在最多\(3*(t+c)\)次操作下,让所有人走到终点 题解 最多只能\(3*(t+c)\)次操作,但是现在t和c都不知道,所以无法用随机法 用两个人a,b,a每次走一步,b每次走两步,当…
枚举,容斥原理,范德蒙恒等式. 先预处理每个位置之前有多少个左括号,记为$L[i]$. 每个位置之后有多少个右括号,记为$R[i]$. 然后枚举子序列中第一个右括号的位置,计算这个括号的第一个右括号的方案数. 即在它左边取$k$个左括号,在右边取$k-1$个右括号都是合法的方案,这个东西可以用范德蒙恒等式化成一个组合数以及容斥原理计算. 范德蒙恒等式:http://blog.csdn.net/acdreamers/article/details/31032763 #include <cstdio…
题意:有一个只有’(‘和’)’的串,可以随意的删除随意多个位置的符号,现在问能构成((((((…((()))))….))))))这种对称的情况有多少种,保证中间对称,左边为’(‘右边为’)’. 析:通过枚举 ‘(’ 来计算有多少种情况,假设 第 i 个括号前面有 n 个 '(',右边有 m 个 ')',那么总共就有 sigma(1, n, C(n-1, i-1)*C(m, i)),其中 1,n 表示从上下限.. 然后这样算的话就是 n 方的复杂度,会超时,再利用范德蒙恒等式(不会的请点击:htt…
Plant [题目链接]Plant [题目类型]推公式 &题解: 这个是可以推公式的: 每年的总个数是4^n个,设n年时向上的个数是x个,向下的个数是y个,那么n+1年时,向上的个数是3* x+y个,向下的个数是3* y+x个,这时你发现,如果他们两个相减,等于2* (x-y).x+y=4^n,2* (x-y)=4^(n+1)=4* 4^n.所以x-y=2* 4^n 所以(4^n+2^n)/2就是答案,但因为有取模的除法,所以要求2的逆元,又M是素数,所以用费马小定理就可以求逆元了. 参考逆元:…