摘要:
取进制数为131,每次$O(N)$时间预处理出幂次和母串的滚动哈希值。 代码如下 cpp include using namespace std; const int maxn=1e6+10; const int base=131; char s1[maxn],s2[maxn]; unsigned 阅读全文
摘要:
题目:给定一个序列,求其第 K 大的数是多少。 时间复杂度$O(n)$ 代码如下: cpp include using namespace std; const int maxn=5e6+10; inline int read(){ int x=0,f=1;char ch; do{ch=getcha 阅读全文
摘要:
题目:给定一个序列a[ ],共 N 个正数,现有 M 次询问,每次给出一个 T ,需要求出最大的 k ,满足$\Sigma_{i=1}^ka[i] using namespace std; const int maxn=1e5+10; int sum[maxn],n,m; int main(){ s 阅读全文
摘要:
这道题是典型的环形石子归并模型,破环成链后时间复杂度为$O(n^3)$ 不过,因为题目中所给的数字可能是负数,仅仅记录区间内合并之后的最大值并不满足动态规划的最优子结构性质。因此,还需要额外记录下区间合并后的最小值,由最小值和最大值即可组合出整个区间的最大值。 代码如下: cpp include i 阅读全文