07 2019 档案
摘要:cf1179D 链接 "cf" 思路 "csdn" 很玄学,正解是斜率优化dp,但被一个奇妙的贪心过了。 代码 cpp include define ll long long using namespace std; const int _=5e5+7; int n,siz[_],S,id; ll
阅读全文
摘要:[TOC] A 模拟出A不是最大值的情况,存起来。 最多有n个。当A为最大值的时候,后面n 1个数开始循环。 查询分两种情况讨论就行了 C 转化一下,首先我们先排序a,没有影响。c为i选的菜的价格 那考虑一下b,ic[j]就不管咯,最后b也是有序的了。 判断时候排序a,b,一对对的比较,第一个买不起
阅读全文
摘要:P5055 【模板】可持久化文艺平衡树 链接 "luogu" 思路 可持久化fhq treap套一套就行了,pushdown和split都要可持久化,但merge不用可持久。以前以为很难一直没看,就是个板子。 错误 这两句话居然不一样。 我靠我靠我靠,调试了一下午。 代码 cpp include d
阅读全文
摘要:bzoj4605: 崂山白花蛇草水 链接 "bzoj" "loj" 思路 强制在线,那就权值线段树套KDtree好了,没啥好讲的。 KDtree要加平衡因子来重构。另外,那水真难喝。 错误 树套树一边写过了,然后是各种傻屌错误。 我居然离散化了权值,要被gzy嘲笑了。 我一开始还笑话那些写动态开点的
阅读全文
摘要:luoguP4173 残缺的字符串 FFT 链接 "luogu" 思路 和昨天做的题几乎一样。 匹配等价于(其实我更喜欢fft从0开始) $\sum\limits_{i=0}^{m 1}(S[i+j] T[i])^2 T[i] S[i]=0$ 展开得到 $\sum\limits_{i=0}^{m 1
阅读全文
摘要:[HNOI2016]序列 CDQ 链接 "loj" 思路 一个点最小变为l,最大变为r,不变的时候为v 那么j能在i前面就要满足。 $j using namespace std; const int _=1e5+7; int n,m,f[_],ans; struct node {int i,v,l,
阅读全文
摘要:写完分块+BIT了之后我才发现我不知道这个题到底要干啥,天啊。
阅读全文
摘要:loj2058 「TJOI / HEOI2016」求和 NTT 链接 loj 思路 $$S(i,j)=\frac{1}{j!}\sum\limits_{k=0}^{j}(-1)^{k}C_{j}^{k}(j-k)^{i}$$ $$\sum\limits_{i=0}^{n}\sum\limits_{j
阅读全文
摘要:4503: 两个串 链接&&题意 "bzoj" 兔子们在玩两个串的游戏。给定两个字符串S和T,兔子们想知道T在S中出现了几次, 分别在哪些位置出现。注意T中可能有“?”字符,这个字符可以匹配任何字符。 思路 没有通配符。 $\sum\limits_{i=1}^{m 1}(S[j+i] T[i])^2
阅读全文
摘要:P4721 【模板】分治 FFT 链接 "luogu" 题目描述 给定长度为 $n 1$ 的数组 $g[1],g[2],..,g[n 1]$,求 $f[0],f[1],..,f[n 1]$,其中 $$f[i]=\sum_{j=1}^if[i j]g[j]$$ 边界为 $f[0]=1$ 。答案模 $9
阅读全文
摘要:4520: [Cqoi2016]K远点对 链接 "bzoj" 思路 用K Dtree求点的最远距离。 求的时候顺便维护一个大小为2k的小根堆。 不知道为啥一定会对。 代码 cpp include define ll long long define ls (t[u].ch[0]) define rs
阅读全文
摘要:[SDOI2010]捉迷藏 链接 "luogu" 思路 k dtree模板题 代码 cpp include define ls (t[u].ch[0]) define rs (t[u].ch[1]) define cmin(a,b) (a b?a=b:a) define cmax(a,b) (a b
阅读全文
摘要:「NOI2019」回家路线 链接 "loj" 思路 f[i][j]第i个点,时间为j,暴力转移 复杂度O(m t),好像正解是斜率优化,出题人太不小心了233 代码 cpp include using namespace std; const int N=2e5+7,INF=0x3f3f3f3f;
阅读全文
摘要:bzoj4066: 简单题 链接 "bzoj" 思路 强制在线。k dtree。 卡常啊。空间开1e6就T了。 代码 cpp include define my_min(a,b) (ab?a:a=b) using namespace std; const double alpha=0.75; con
阅读全文
摘要:P4169 [Violet]天使玩偶/SJY摆棋子 链接 "luogu" 思路 luogu以前用CDQ一直过不去。 bzoj还是卡时过去的。 今天终于用k dtree给过了。 代码 cpp include using namespace std; const int INF=0x3f3f3f3f,N
阅读全文
摘要:luoguP4112 [HEOI2015]最短不公共子串 链接 "luogu" "loj" 思路 子串可以用后缀自动机,子序列可以用序列自动机。 序列自动机是啥,就是能访问到所有子序列的自动机。 每个点记录下一个字母最近出现的位置。不过我这里构造是$O(n^2)$。 然后进行bfs进行广搜就行了。
阅读全文
摘要:luogu P4248 [AHOI2013]差异 链接 "luogu" 思路 $\sum\limits_{1 define int long long using namespace std; const int N=1e6+7; int n,c[N=1; i) add(s[i] 'a',i); f
阅读全文
摘要:luogu P3975 [TJOI2015]弦论 链接 "bzoj" 思路 建出sam。 子串算多个的,统计preant tree的子树大小,否则就是大小为1 然后再统计sam的节点能走到多少串。 然后就可以在sam的贪心的走了。 代码
阅读全文
摘要:cf1191 解题报告 A 简单模拟 脑内算出来让计算机输出 B 细节模拟 脑内算出来让计算机输出。wa了几发、、、 E 博弈 咕咕咕 F 数据结构 离散化后,枚举a的位置。 然后考虑一行的贡献。 把此行及其以上的点压缩到数轴上。 贡献显然产生在有此行的点的区间内,计算出来区间个数就是此行的贡献。
阅读全文
摘要:bzoj3676 [Apio2014]回文串 SAM+树上倍增 链接 "bzoj" "luogu" 思路 根据manacher可以知道,每次暴力扩展才有可能出现新的回文串。 所以推出本质不同的回文串个数是O(n)级别的。 每次查询一个串出现的个数。 建立出parent树,一个串出现的个数就是对应pa
阅读全文
摘要:cf1187解题报告 "cf" A 去掉都有的,剩下的取最大值+1 C 1的区间是相同的个数,能降就降,最后check。 wrong了几发:先n^2判断包含判断NO,然后直接YES,显然是错的。 cpp include using namespace std; const int N=1e5+7;
阅读全文
摘要:cf1189div2解题报告 "codeforces" A 答案要不是一串要不就是去掉最后一个字母的两串 cpp include define ll long long using namespace std; const int N=107; int a[N define ll long long
阅读全文