Description 求一个字符串内重复次数最多的连续字串。 Solution "丢一个hihocoder的链接" 先考虑如何如何求一个串给定的串的最大重复次数,枚举一个可能的循环节长度 $l$,然后求原串和原串去掉前 $l$ 个字符后两个串的 $lcp$(最长公共前缀),如果能完全匹配上,就是一 ...
分类:
编程语言 时间:
2020-01-08 14:34:04
阅读次数:
82
带权并查集: 增加一个 value 值,并且每次合并和查找的时候需要去维护这个 value 例题一 :POJ 1182 食物链(经典) 题目链接:https://vjudge.net/contest/339425#problem/E 带权并查集的解法 定义两个数组fa[ ]和rela[ ],fa用来 ...
分类:
其他好文 时间:
2019-11-02 09:20:46
阅读次数:
173
逆序单词 HIhoCoder 1366 字典序 题意 在英文中有很多逆序的单词,比如dog和god,evil和live等等。 现在给出一份包含N个单词的单词表,其中每个单词只出现一次,请你找出其中有多少对逆序单词。 第1行:1个整数,N,表示单词数量。2≤N≤50,000。 第2..N+1行:每行1 ...
分类:
其他好文 时间:
2019-10-29 23:22:51
阅读次数:
143
题目:http://hihocoder.com/problemset/problem/1873 题解:采用分治的思想,将大问题逐步分解到小问题: 首先,我们可以把问题理解成,我当前站在pos 点,需要m 种方案到达终点,这样我们可以分类讨论: <1>m是偶数: 方案数=m/2 在pos+1 位置建立 ...
分类:
其他好文 时间:
2019-10-11 18:14:13
阅读次数:
92
题意:有n堆石头,盘古每次可以选择连续的x堆合并,所需时间为x堆石头的数量之和,x∈[l,r],现在要求,能否将石头合并成一堆,如果能,最短时间是多少。 思路:(参考了ACM算法日常)DP[i][j][k],表示当前状态下[i,j]这个区间分成了k堆。 状态转移:1.k=1时,dp[i][j][k] ...
分类:
其他好文 时间:
2019-10-04 14:53:45
阅读次数:
95
题目来源:http://hihocoder.com/problemset/problem/1174 描述 我们都知道大学的课程是可以自己选择的,每一个学期可以自由选择打算学习的课程。唯一限制我们选课是一些课程之间的顺序关系:有的难度很大的课程可能会有一些前置课程的要求。比如课程A是课程B的前置课程, ...
分类:
编程语言 时间:
2019-09-24 14:12:01
阅读次数:
83
"题目链接" Implementation c++ int n, q; scan(n,q); vi p(n + 1); vi nson(n + 1); up (i, 1, n) { scan(p[i]); nson[p[i]]++; } vi leaf; up (i, 1, n) { if (nso ...
分类:
其他好文 时间:
2019-09-23 22:35:47
阅读次数:
124
"Pangu and Stones HihoCoder 1636" 题意 给你$n$堆石子,每次只能合成$x$堆石子$(x\in[L, R])$,问把所有石子合成一堆的最小花费。 思路 和合石子的那题很像,多加了的一个限制,所有我们可以想到要多开一维数组来计算。 $dp[i][j][x]:$表示区间 ...
分类:
其他好文 时间:
2019-09-21 23:35:09
阅读次数:
82
https://hihocoder.com/problemset/problem/1430 思路: 要用前缀去推Sigma总公式,比较方便。https://blog.csdn.net/weixin_37517391/article/details/83821752 ...
分类:
其他好文 时间:
2019-09-14 11:14:34
阅读次数:
87
题目:https://vjudge.net/contest/323605#problem/A 题意:一棵树,让你选择m个点的一个连通块,使得得到的权值最大 思路:树上背包,我们用一个dp数组,dp[i][j] ,代表以i为根时的选其子树j个节点所得到的最大值,然后我们对于每个以i为根我们当做有m件物 ...
分类:
其他好文 时间:
2019-09-01 20:12:01
阅读次数:
130