本题介绍了BZOJ3238的解法,并分享了代码和一些普通的sam的基础技巧 ...
分类:
其他好文 时间:
2016-06-16 17:45:25
阅读次数:
181
考虑CDQ分治 把这半边对后半边没有影响的操作做了 然后分治
用并查集维护 开个栈暴力还原
#include
#include
using namespace std;
inline char nc()
{
static char buf[100000],*p1=buf,*p2=buf;
if (p1==p2) { p2=(p1=buf)+fread(buf,1,100000,s...
分类:
其他好文 时间:
2016-05-13 01:38:21
阅读次数:
210
以前一直听说什么后缀数组height合并之类的 表示我这种后缀数组都敲不熟的蒟蒻怎么会写 但是做了做觉得还是很简单的嘛 这个题是有两问的,第一问是求LCP>=R的后缀对有多少个 这个就是AHOI2013 差异 稍微变个形啦 直接逆序建后缀自动机,在parent树上做一个很简单的树P就可以了 因为对于 ...
分类:
其他好文 时间:
2016-04-08 06:42:26
阅读次数:
199
题目链接 树状数组+单调栈 计算出每个后缀的前面、后面第一个h[]比它小的(前闭后开),乘起来计算答案 1 #include<algorithm> 2 #include<iostream> 3 #include<cstdlib> 4 #include<cstring> 5 #include<cstd
分类:
其他好文 时间:
2016-02-28 21:14:55
阅读次数:
226
dp(x)表示最大面值为x时需要的最少硬币数.枚举x的质因数p, dp(x) = min( dp(x/p) - (p-1) * sigma[a[i]/x] ). ---------------------------------------------------------------------
分类:
其他好文 时间:
2016-02-16 23:28:58
阅读次数:
242
题目:http://www.lydsy.com/JudgeOnline/problem.php?id=3233多一点硬币是没有关系的,不用就行了。然后有一个dp,f[i]=min(f[j]-∑a[k]/i* (i/j-1) )然后只要枚举i的质因子就可以了。(先线性筛出最大的质因子。。#includ...
分类:
其他好文 时间:
2016-01-14 23:50:28
阅读次数:
269
莫队..用两个树状数组计算.时间复杂度应该是O(N1.5logN). 估计我是写残了...跑得很慢...-------------------------------------------------------------------------#includeusing namespace s...
分类:
其他好文 时间:
2015-09-03 15:15:30
阅读次数:
301
DescriptionInputOutputSample InputSample OutputHINTSource
BZOJ无题面233
反正网上一堆自己下载叭>_<
对反串建SAM然后DP
第一问和AHOI2013差异完全一样
具体解法:
设Ans1[i]为lcp恰为i的后缀对数,Ans2[i]为lcp恰为i的后缀的价值乘积的最大值
建出SAM后,记录子树中后缀个数、价值的最大值、价...
分类:
其他好文 时间:
2015-08-26 12:13:16
阅读次数:
199
题目大意:给定nn个数,求一种混合进制使得每个数各个位之和之和最小
令fif_i表示表示最大硬币面值为ii时零头部分(即ak mod ia_k\ mod\ i部分)的最小硬币数
那么有转移方程:fj=min{fi+∑nk=1?ak mod ji?}(i|j)f_j=min\{f_i+\sum_{k=1}^n\lfloor\frac{a_k\ mod\ j}i\rfloor\}(i|j)
然后a...
分类:
其他好文 时间:
2015-06-09 22:06:19
阅读次数:
637