- 博客(5)
- 收藏
- 关注
原创 Codeforces Round #576 (Div. 2)
A扫一遍就好了n*14#include <bits/stdc++.h> using namespace std;typedef long long ll;const int N = 1000010;inline int read(){ int p=0,f=1; char ch=getchar(); while(ch<'0' || ch>'9'){if...
2019-07-31 20:00:21 105
原创 2019 Multi-University Training Contest 3
Distribution of books这道题模型不熟练所以做不出来首先二分答案,然后就是要分成k段,使得每一段的和小于等于x定义dp[i]dp[i]dp[i]表示前i个最多能分多块满足dp[i]=dp[j]+1(sum[i]−sum[j]≤x)dp[i] = dp[j] + 1 (sum[i]-sum[j] \leq x)dp[i]=dp[j]+1(sum[i]−sum[j]≤x)然...
2019-07-30 14:10:41 134
原创 2019牛客暑期多校训练营(第四场) I-string 广义后缀自动机+回文自动机
题意分析考虑两个串如果反过来不相同个数怎么统计其实就是正串和反串都放在一个广义后缀自动机上统计,然后 答案/2这样对吗?我们考虑自己本身回文的情况,还要加上本质不同的回文串个数直接上回文自动机就可以了代码#include <bits/stdc++.h>using namespace std;typedef long long ll;const ll N = 800...
2019-07-29 10:09:17 232
原创 2019牛客暑期多校训练营(第四场) C-sequence 分治
题意分析我们首先可以知道a的每个元素都能影响到一个区间,且区间是包含或者不相交的然后我们要找包括a中某一个位置的sumb,考虑到a有正负,我们的b也要维护和的最大最小值包含一个位置的区间里面的一个子区间和最大最小值我们要想办法求考虑把这个位置的左右两边分开,进行从小到大分治,然后再合并就可以了,记录左边和右边和区间的最大最小一段,和区间的和代码#include <bits/s...
2019-07-28 23:58:49 178
原创 HDU 6599:I Love Palindrome String Manacher+回文自动机
题意Problem DescriptionYou are given a string S=s1s2…s|S| containing only lowercase English letters. For each integer i∈[1,|S|] , please output how many substrings slsl+1…sr satisfy the following cond...
2019-07-25 18:21:44 166
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人