CodeForces898F

题意:给你一个字符串,把它表示成a+b=c的形式。

12345168

123+45=168

思路:(这里的a,b,c表示长度)c=n-a-b,而且max(a,b)-1<=c<=max(a,b),所以两重循环即可

for(int i=1;i<=len/2&&sign==0;i++)//a的长度/b的长度
    for(int j=len-2*i-1;j<=len-2*i&&sign==0;j++)//b的长度/a的长度

那么如何判断是否正确呢?先可以哈希(取模)判断一下是否正确,再大数加法,这个思想跟之前有一道斐波那契的差不多。

ACM竞赛高校联盟训练赛 第8场 J

哇这道题并不是补不动 只是不能补

就说一种思想吧 原来括号匹配还可以转化为1和-1然后求前缀和的 将左括号’(‘视为1,右括号’)’视为-1则序列合法等价于所有前缀和非负且最后为零。

哇 如果早知道这么想就不会做不出了啊qwq


本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!

POJ3784 动态插入求中位数 Previous
分块思想 Next