07 2018 档案
摘要:description [题面][1] solution 点分治+最小割。 点分必选的重心,再在树上dfs判交,转化为最大权闭合子图。 可以做$k$棵树的情况。 code cpp include include include include include include include defi
阅读全文
摘要:description [题面][1] solution 点分治枚举路径板板题。。 cpp void getroot(int u,int fa){ sz[u]=1;f[u]=0; for(RG int i=head[u];i;i=nxt[i]){ RG int v=to[i];if(v==fa||v
阅读全文
摘要:description [题面][1] solution 这里的单点询问需要全部的修改才能统计出答案 需要用到线段树分治的另一个形式: 在树上$DFS$维护数据结构,进入叶子的时候求出询问答案,回溯的时候栈序撤销 数据结构选择的是并查集,维护连通性和到达代表元(根节点)的路径长度奇偶性,合并的时候判
阅读全文
摘要:description [题面][1] solution 线段树分治+斜率优化简单题。 code cpp include include include include include include include include include include include include i
阅读全文
摘要:description [题面][1] solution 线段树分治+斜率优化 毒瘤题 题目可以简化为: 你要维护一个包含元素$(x,c)$的集合 修改操作为从以前的一个版本更新,修改内容为添加或删除一个元素 查询操作给出$x_0$,查询某个版本中的$min\{(x x_0)^2+c\}$ 可以知道
阅读全文
摘要:description [题面][1] solution 跟着各位dalao写了一下线段树分治的题 我们把修改和询问按照时间建立线段树分治, 对于每一个修改标记永久化,对于每一个区间进行区间覆盖 主要的想法就是对每一个线段树节点开一个$vector$记录所有的修改和询问 在线段树上的一条链上插入修改
阅读全文
摘要:前言(2019.1.6) 已经是二周目了呢... 之前还是有一些东西没有理解到位 重新写一下吧 后缀自动机的一些基本概念 "参考资料和例子 from hihocoder" "DZYO神仙翻译的神仙论文" 简而言之,后缀自动机(SAM),是一个有限状态自动机(DFA) 搬一个图下来(这是字符串$aab
阅读全文
摘要:description [题面][1] 求给定字符串的第$k(k\le 10^9)$大子串。无解输出 1,$n\le 5\times 10^5$ 分不同位置的相同子串算作一个,不同位置的相同子串算作多个两种情况 solution 我们首先要建立一个$SAM$... 由于$SAM$相当于一个放了当前字
阅读全文
摘要:高维前缀和可以求出关于一个集合子集(或超集)的状态的和 从低到高枚举位数,之后枚举集合中的所有元素 总复杂度为$O(n2^n)$ cpp int n,f[1048576];//n为位数 for(RG int i=0;i
阅读全文
摘要:description [题面][1] solution 把所有字符串凑成一堆做后缀数组(中间隔开) 从高往低枚举$LCP$的长度$k$,把$Height==k$的两个后缀使用并查集连接, 查询$size$即可得到以对应长度单词为前缀的后缀个数,即出现次数 code cpp include incl
阅读全文
摘要:description [题面][1] solution 主要算法是扩展中国剩余定理,但细节较多 快速乘 求同余方程的通解 需要注意同余方程$ax\equiv b(mod\ p)$的通解 求出一个特解$x_0$后,应该有$x=x_0\pm\frac{p}{g}$ 因此最后解出的同余方程应该是$x\e
阅读全文
摘要:什么是后缀数组 后缀数组$sa[i]$表示字符串中字典序排名为$i$的后缀位置 $rk[i]$表示字符串中第$i$个后缀的字典序排名 举个例子: 那么就有$sa[rk[i]]=rk[sa[i]]=i$ 后缀数组的求法 二周目 倍增法 看一会儿还是比较好记的 但没有理解每句话是在干什么的话以后再写就会
阅读全文
摘要:description [题面][1] 我们的小朋友很喜欢计算机科学,而且尤其喜欢二叉树。 考虑一个含有$n$个互异正整数的序列$c[1],c[2],...,c[n]$。 如果一棵带点权的有根二叉树满足其所有顶点的权值都在集合$\{c[1],c[2],...,c[n]\}$中,我们的小朋友就会将其称
阅读全文
摘要:description [题面][1] 给定$n$,求$$f(n)=\sum_{i=0}^n\sum_{j=0}^i S(i,j)\times 2^j \times (j!)$$ data range $$1≤n≤100000$$ solution 第二类斯特林数及其递推式和展开式 $S(n,m)$
阅读全文
摘要:description [题面][1] 周末同学们非常无聊,有人提议,咱们扔硬币玩吧,谁扔的硬币正面次数多谁胜利。 大家纷纷觉得这个游戏非常符合同学们的特色,但只是扔硬币实在是太单调了。 同学们觉得要加强趣味性,所以要找一个同学扔很多很多次硬币,其他同学记录下正反面情况。 用H表示正面朝上,用T表示
阅读全文
摘要:[题面][1] 神仙题。 令$lim=min\{[n/s,m]\}$,容斥之后暴力推式子,有 $$ans=m!n!\sum_{i=0}^{lim}\frac{(m i)^{n is}}{(s!)^i(m i)!(n is)!}\sum_{i=0}^{j}\frac{w_i}{i!}\frac{( 1
阅读全文

浙公网安备 33010602011771号