上一页 1 ··· 15 16 17 18 19 20 21 22 23 ··· 38 下一页
摘要: 扫描线,从左到右依次处理每棵树。 用set按时间顺序维护影响了这棵树的所有操作,那么一个点的父亲就是它前面第一个操作1。 用Splay维护树的括号序列,那么两点间的距离就是括号数量减去匹配的括号个数。 添加或删除操作0就是单点换父亲,添加或删除操作1就是区间换父亲。可以通过添加虚点来实现区间换父亲操 阅读全文
posted @ 2016-05-13 20:08 Claris 阅读(1473) 评论(0) 推荐(1) 编辑
摘要: 首先将值域离散化成$O(n)$个连续段。 设$f[i][j][k]$表示第$i$个学校派出的数量在第$j$个连续段,在第$j$个连续段一共有$k$个学校的方案数。用组合数以及前缀和转移即可。 时间复杂度$O(n^3)$。 阅读全文
posted @ 2016-05-11 15:09 Claris 阅读(1026) 评论(0) 推荐(2) 编辑
摘要: $f[i][j]$表示仅考虑$[i,j]$区间的答案,则 $f[i][j]=\min(\max(f[i][k-1],f[k+1][j])+a[k]),i\leq k\leq j$ 维护出$\max$的分界点后用一堆线段树维护即可。 时间复杂度$O(n^2\log n)$。 阅读全文
posted @ 2016-05-09 19:14 Claris 阅读(592) 评论(0) 推荐(0) 编辑
摘要: 一个长度为$|S|$的串在树上匹配有两种情况: 1.在LCA处转弯,那么这种情况只有$O(|S|)$次,暴力提取出长度为$2|S|$的链进行KMP即可。 2.不转弯,那么可以拆成两个到根路径的询问。 对所有串的正反串建立AC自动机,求出fail树上每个点的DFS序。 然后DFS原树,记录在AC自动机 阅读全文
posted @ 2016-05-07 02:18 Claris 阅读(1445) 评论(0) 推荐(0) 编辑
摘要: 考虑反面,用状压DP求出不合法的方案数。 设$f[i][j][S][x][y]$表示填到了$(i,j)$,轮廓线上每个位置作为末尾是否完全匹配第一个串的状态为$S$,与第一个串kmp到了$x$,与第二个串kmp到了$y$的方案数。 然后直接转移即可。 时间复杂度$O(nm2^{m-c+1}c^2)$ 阅读全文
posted @ 2016-05-02 18:16 Claris 阅读(1068) 评论(0) 推荐(2) 编辑
摘要: 树的点分治,每次求出重心后,求出重心到每个点路径上的数的线性基。 对于每个询问,只需要暴力合并两个线性基即可。 时间复杂度$O(60n\log n+60^2q)$。 阅读全文
posted @ 2016-05-02 02:07 Claris 阅读(1530) 评论(0) 推荐(0) 编辑
摘要: 建立ST表,每层维护一个并查集。 每个信息可以拆成两条长度为$2$的幂次的区间相等的信息,等价于ST表里两对点的合并。 然后递归合并,一旦发现已经合并过了就退出。 因为一共只会发生$O(n\log n)$次合并,所以时间复杂度为$O(n\log n\alpha(n))$。 阅读全文
posted @ 2016-05-01 23:38 Claris 阅读(781) 评论(0) 推荐(0) 编辑
摘要: 省赛后一天就是期中考真刺激,可以体验连续滚粗的快感。 听说今天是鸟神的生日,于是凌晨造了个大新闻,强行给鸟神灌了一大口毒奶。 热身赛写模拟写到结束也没调出来,给下午滚粗奠定了坚实的基础。 正赛,打开题目,习惯性地先从最后一题开始看,于是我发现L题就是个签到题,花1分钟敲完,打算抢FB。 正打算交的时 阅读全文
posted @ 2016-04-27 01:26 Claris 阅读(1500) 评论(4) 推荐(1) 编辑
摘要: 设$f(x)=\sum_{x|d}p(d)$。 则$ans=\sum_{i=1}^n\sum_{j=1}^n\sum_{k=1}^n\mu(i)\mu(j)\mu(k)f(lcm(i,j))f(lcm(i,k))f(lcm(j,k))$。 转化成图论模型,$i$到$j$有边的条件是$\mu(i)\n 阅读全文
posted @ 2016-04-21 12:25 Claris 阅读(787) 评论(1) 推荐(0) 编辑
摘要: 用主席树维护DFS序来支持询问某个点的子树中第$k$小的编号。 然后建出模板树和缩块之后的树。 如果两个点在同一个树块内,那么答案就是它们在模板树上的距离。 否则先在缩块后的树上求出块顶之间的距离,然后加上内部距离。 时间复杂度$O(n\log n)$。 阅读全文
posted @ 2016-04-19 17:09 Claris 阅读(674) 评论(0) 推荐(1) 编辑
摘要: 将边按$a$从小到大排序,每$\sqrt{m}$个取一个关键点。 对于每个关键点,将这个点之前的边以及要在这个关键点回答的询问按$b$排序。 依次加入这个关键点之前的每条边,用并查集维护每个连通块$a$和$b$的最大值。 对于零碎部分,只有$\sqrt{m}$条边,暴力加入即可。 用一个栈按时间记录 阅读全文
posted @ 2016-04-18 21:39 Claris 阅读(1936) 评论(0) 推荐(3) 编辑
摘要: 求出这棵树的dfs序,对于一条链$u-v$,假设$st[u]\leq st[v]$,那么一条链不经过点$x$当且仅当它满足下面任意一个条件: 1.$st[v]<st[x]$ 2.$st[u]>en[x]$ 3.$st[x]<st[lca(u,v)]\leq en[x]$ 4.$st[u]<st[x] 阅读全文
posted @ 2016-04-18 00:51 Claris 阅读(852) 评论(0) 推荐(0) 编辑
摘要: 先把所有数减去最小值,防止负数出现问题。 $d=0$,直接$O(n)$扫过去即可。 $d\neq 0$,首先通过双指针求出每个数作为右端点时往左可以延伸到哪里,中间任意两个数差值都是$d$的倍数且不重复。 然后从左往右枚举右端点$i$,那么左端点$j$需要满足: $\lfloor\frac{\max 阅读全文
posted @ 2016-04-15 00:57 Claris 阅读(503) 评论(0) 推荐(0) 编辑
摘要: 从左往右枚举右端点,用一棵线段树维护每个左端点的去重后的区间和。 那么对于$a[r]$,需要在$[pre[a[r]]+1,r]$里区间加上$a[r]$。 将线段树可持久化,并维护区间最大值,就可以在线询问形如“给定$r$以及$a,b$”,问$l$在$[a,b]$里$[l,r]$的区间和的最大值的问题 阅读全文
posted @ 2016-04-08 01:05 Claris 阅读(1041) 评论(3) 推荐(0) 编辑
摘要: \[\begin{eqnarray*}x_i&=&x_{i-1}+x_{i-2}\\x_i^2&=&x_{i-2}^2+x_{i-1}^2+2x_{i-2}x_{i-1}\\x_{i-1}x_i&=&x_{i-1}^2+x_{i-2}x_{i-1}\end{eqnarray*}\] 故可以构造转移矩 阅读全文
posted @ 2016-04-04 17:42 Claris 阅读(640) 评论(0) 推荐(0) 编辑
摘要: 首先判断一下是否无解,并剔除孤立点。 根据best theorem,有向图中以$i$为起点的欧拉回路个数为: 以$i$为根的树形图个数$\times\prod_{i=1}^n (deg(i)-1)!$。 根据matrix tree theorem,以$i$为根的树形图个数$=$基尔霍夫矩阵去掉第$i 阅读全文
posted @ 2016-04-03 00:37 Claris 阅读(625) 评论(2) 推荐(0) 编辑
摘要: 首先要将这个图连通,方法是通过扫描线+set求出每个连通块最高的点上方的第一条边,然后向交点连边。 然后把边拆成两条双向边,每次找到一条没走过的边,找到极角排序后它的反向边的后继,直到回到这条边。 根据叉积可以求出面积,如果面积非负,那么就说明找到了一个封闭区域。 然后再进行一次扫描线,找到一个点上 阅读全文
posted @ 2016-03-30 01:00 Claris 阅读(512) 评论(0) 推荐(0) 编辑
摘要: $(i,1)$对答案的贡献为$l_iC(2n-i-2,n-i)a^{n-1}b^{n-i}$。 $(1,i)$对答案的贡献为$t_iC(2n-i-2,n-i)*a^{n-i}b^{n-1}$。 $(i,j)$的$c$对答案的贡献为$cC(2n-i-j,n-i)a^{n-j}b^{n-i}$。 $c$ 阅读全文
posted @ 2016-03-22 22:26 Claris 阅读(960) 评论(0) 推荐(1) 编辑
摘要: 首先将坐标离散化,因为区间互不包含,可以理解为对于每个起点输出最少需要多少个战士。 将环倍长,破环成链,设$f[i]$表示区间左端点不超过$i$时右端点的最大值,可以通过$O(n)$递推求出。 那么如果将$f[i]$看成$i$的祖先的话,它实际上形成了一棵以$2n$为根的树。 首先暴力计算出1号点的 阅读全文
posted @ 2016-03-21 23:48 Claris 阅读(1389) 评论(0) 推荐(0) 编辑
摘要: 最大流=最小割,而因为本题点的度数不超过3,所以最小割不超过3,EK算法的复杂度为$O(n+m)$。 通过分治求出最小割树,设$f[i][j][k]$表示最小割为$i$时,$j$点在第$k$次分治过程中是否与$S$连通,$h[i][j]$为$f[i][j][k]$的hash值,那么如果$h[k][i 阅读全文
posted @ 2016-03-20 03:02 Claris 阅读(807) 评论(0) 推荐(0) 编辑
上一页 1 ··· 15 16 17 18 19 20 21 22 23 ··· 38 下一页