摘要:
/*CodeForces839D[莫比乌斯反演]*/ #include typedef long long LL; const LL MOD = 1000000007LL; using namespace std; int n, maxa = 0, mina = 0x3f3f3f3f; LL m[200005], F[1000005], f[1000005]; int sum[1000005]... 阅读全文
摘要:
/*hdu6098[RMQ+筛法] 2017多校6*/ #include using namespace std; int T, n, st[100005][20], len[100005], a[100005]; void st_init() { len[0] = -1; for (int i = 1; i 2) printf(" "); printf... 阅读全文
摘要:
/*hdu6103[尺取法] 2017多校6*/ #include using namespace std; int T, m; char str[20005]; void solve() { int ans = 0; int n = strlen(str); for (int i = 0; i = 0 && p2 + r = 0 && p2 + r < n) { ... 阅读全文
摘要:
比赛的时候忘记判断复根了!! QAQ 阅读全文
摘要:
还有升级版本, 太强了. 阅读全文
摘要:
/*hdu6038[找规律+循环节] 2017多校1*/ #include using namespace std; typedef long long LL; const double eps=1e-8; const int inf=0x3f3f3f3f; const int mod=1000000007; int n,m,lop,kase=1,maxlop; int a[100005],b[... 阅读全文
摘要:
/*hdu6035[dfs+思维] 2017多校1*/ //合并色块, 妙啊妙啊 #include using namespace std; const double eps=1e-8; const int inf=0x3f3f3f3f; typedef long long LL; vectorG[200005]; LL sum[200005]; int c[200005],son[200005... 阅读全文
摘要:
/*hdu6034[模拟] 2017多校1*/ //暴力模拟26个26进制数即可, 要注意进位 #include using namespace std; typedef long long LL; const double eps=1e-8; const int inf=0x3f3f3f3f; struct node{ char num[100005]; int ch,high... 阅读全文
摘要:
看了标答感觉思路清晰了许多,用并查集来维护全联通块的点数和边权和。 用另一个up[]数组(也是并查集)来保证每条边不会被重复附权值,这样我们只要将询问按权值从小到大排序,一定能的到最小的边权和与联通块中的点数。 下面是过程分析。过程中一共运用了两个并查集。 [数据]110 31 21 32 42 5 阅读全文
摘要:
这道题一眼看过去好像和最长公共子序列有点像。 一开始只想到暴力的推法, 令dp[i][j][k]表示 a[i]=b[j](即以ai,bj为结尾的波浪序列的方案数), 且最终状态为k(0,1分别代表下降与上升)的方案数。 所以我们可能需要优化一下,用一个sum[i][j][k]表示枚举到ai时,能构成 阅读全文