摘要:
求数组中前后缀可互相包含的集合对的数量 #include<bits/stdc++.h> #define rep1(i,s,e) for(register int i=s;i<=e;i++) #define rep2(i,e,s) for(register int i=e;i>=s;i--) usin 阅读全文
摘要:
N个不同的正整数,找出由这些数组成的最长的等差数列(子序列) 3 ⇐ N ⇐ 10000 这题起初被数据吓得不敢用$n^2$解法,可是不用又怎么解呢?一气之下...MLE结束 **思路:**f[i][d]表示前i个数中公差为d的最长等差数列的长度,如果在a[i]-a[j]==d,j位置和i位置形成公 阅读全文
摘要:
一个长度为N的数组A,从A中选出若干个数,使得这些数的和是N的倍数。 2<=N<=50000;0<A[i]<=10^9 **思路:**A[i]对N取模的结果为1~N-1(共N-1个数),而A有N个数,这就说明这些模N的数中至少有两个数是一样的(抽屉原理保证了数据一定有解);然后就是分两种情况: 前缀 阅读全文