题目链接 题意:给定一个字符串,求重复次数最多的连续重复子串 题目思路:先穷举长度L,然后求长度为L的子串最多能连续出现几次。首先连续出现1次是肯定可以的,所以这里只考虑至少2次的情况。假设在原字符串中连续出现2次,记这个子字符串为S,那么S肯定包括了字符r[0], r[L], r[L2],r[L3 ...
分类:
编程语言 时间:
2020-11-12 14:07:06
阅读次数:
10
#include<iostream> #include<memory.h> #include<cmath> #include<algorithm> using namespace std; typedef struct { int x, y; }node; node d[6000]; int r, ...
分类:
其他好文 时间:
2020-11-08 17:11:46
阅读次数:
15
题意:给你四组长度为$n$序列,从每个序列中选一个数出来,使得四个数字之和等于$0$,问由多少种组成情况(仅于元素的所在位置有关). 题解:$n$最大可以取4000,直接暴力肯定是不行的,我们可以先对后两个数组$c$和$d$,枚举他们每个元素的和,用一个新数组$CD$记录,然后再去枚举$a$和$b$ ...
分类:
其他好文 时间:
2020-10-31 01:32:05
阅读次数:
17
题目链接 题意 给出 n 个数字,求满足$a+b+c=d$的 d 的最大值,注意(a,b,c,d) 互不相等。 思路 折半枚举。 首先我们把任意两个数的和求出,排序。 然后从大到小枚举 d 的值,再枚举 c 的值,对于$d-c$,我们二分找到其在两个数的和中出现的次数。 接下来开始将重复的情况删去。 ...
分类:
其他好文 时间:
2020-10-06 21:16:10
阅读次数:
46
题意 问题转化成, 有 \(N\) 堆石子, 博弈双方每次可以选择不超过 \(M\) 堆, 每堆取不超过 \(X\) 个, 总的取石子数至少为一. 问胜利方. 题解 对于单堆来说是一个巴什博弈, \(SG\) 值为石子数模 \(X+1\). 我们回忆 \(M=1\) 时的 \(Nim\) 博弈, 它 ...
分类:
其他好文 时间:
2020-10-05 21:47:14
阅读次数:
26
题目链接:http://poj.org/problem?id=1050 和序列中无长度限制的最大子段和相同,如果当前的sum>0,那么它还有一定的价值,所以继续往上累加;如果当前sum<0,即sum不仅没有价值,反而会使后面的和更小,所以将sum重置为0为最优。 矩阵中维护每一列上的前缀和,枚举所选 ...
分类:
其他好文 时间:
2020-09-17 23:21:37
阅读次数:
35
题目链接:https://vjudge.net/problem/POJ-2182 题意:n头牛,身高为1到n的一个排列。已知每头牛前面比它矮的个数,求每头牛的身高 这题和习题里的poj2828基本一样。倒着考虑,如果最后一头牛前面有k1个比它矮,那么它的身高就是k1+1。倒数第二头如果有k2个比它矮 ...
分类:
其他好文 时间:
2020-09-17 23:12:01
阅读次数:
30
题目链接 题意:求n个串的公共子串 思路:由于数据比较小,所以可以暴力枚举第一个串的所有子串,进行kmp匹配。 #include<bits/stdc++.h> using namespace std; typedef long long ll; char ans[100]; int Next[100 ...
分类:
其他好文 时间:
2020-09-17 20:43:05
阅读次数:
30
hyh大佬很热爱学习,他打算偷偷跑回学校学习,为了多学习他希望可以找最快的路线回到学校。 广州市里有N个(2 <= N <= 1000)个地铁站,编号分别为1..N。zzj家在1号地铁站旁边,五山站是N号地铁站。地铁站之间共有M (1 <= M <= 2000)条双向路径。 hyh现在在1号地铁站, ...
分类:
其他好文 时间:
2020-09-17 12:30:28
阅读次数:
28
题目 The merchant 简化题意 给你一棵树,点有点权,到达一个点你可以花费该点的点权买入一个东西,然后在另一个点把这个东西卖出(卖出的时候手上必须有东西),只能买入卖出一次,问你从一个点 \(u\) 到一个点 \(v\) 的路径上能获得的最大收益。 思路 倍增。 除了正常倍增需要维护的东西 ...
分类:
其他好文 时间:
2020-08-29 15:18:55
阅读次数:
56