A:暴力赋值即可,并查集维护下一个未被赋值的位置。 B:显然应该连成菊花套链。 C:注意到字符集大小很小询问串长度很短,对每种字符每种长度分别维护bit即可。 D:先跑一棵MST。对于不在MST中的边,显然要使其满足条件,其权值应比MST中两点路径上的权值最大值小。倍增查一下即可。对于在MST上的边 ...
分类:
其他好文 时间:
2019-03-15 09:14:23
阅读次数:
150
当区间$[a,b]$和$[c,d]$对应相等时。 我们把两个区间对应位置上的数所在并查集合并。 最后并查集的数量为$num$答案就是$9 10^num$因为是个数,不能有前置$0$。 但是两个区间对应位置上的数所在并查集合并太浪费时间。 怎么办。 考虑使用倍增。 我们用$(i,j)$代表$[i,i+ ...
分类:
其他好文 时间:
2019-03-12 22:36:58
阅读次数:
237
第一种:树上倍增 f[x,k]表示x的2^k辈祖先,即x向根结点走2^k步达到的结点。 初始条件:f[x][0]=fa[x] 递推式:f[x][k]=f[ f[x][k-1] ][k-1] 一次bfs预处理f数组(nlogn),然后每次询问都可以在(logn)时间内求出x,y的lca 求lca的步骤 ...
分类:
其他好文 时间:
2019-03-11 00:55:51
阅读次数:
169
4569: [Scoi2016]萌萌哒 链接 分析: 每次给出的两个区间长度是一样的,对应位置的数字也是一样的,那么可以将两两对应的数字用并查集合并,设最后有$cnt$个不同的集合,答案就是$9\times 10 ^{cnt-1}$,第一个数不能是0。 暴力合并太慢了,考虑优化。对于一段区间,用倍增 ...
分类:
其他好文 时间:
2019-03-08 09:45:04
阅读次数:
137
"[LCT]P4172水管局长" $Solution$ 如果没有删除,那么就是维护一个最小生成树,然后倍增求两点之间的最大边权(货车运输). 因为有删边操作,想到 ,但这是删除,最大值 不满足减法 ,所以不好搞。 但注意到 只有删除没有添加 ,所以我们可以 倒过来处理 ,一条一条边 维护最小生成树以 ...
分类:
其他好文 时间:
2019-03-01 19:54:52
阅读次数:
259
题面: 给你一个串S以及一个字符串数组T[1..m],q次询问,每次问S的子串S[p_l..p_r]在T[l..r]中的哪个串里的出现次数最多,并输出出现次数。如有多解输出最靠前的那一个。 分析: 第一次见这道题时,由于对算法十分陌生,就将其压进了任务计划,这一天又提到了这道题,这才算是重见天日。 ...
分类:
其他好文 时间:
2019-02-23 10:23:06
阅读次数:
189
Misha and Grisha are funny boys, so they like to use new underground. The underground has n stations connected with n?-?1 routes so that each route co ...
分类:
其他好文 时间:
2019-02-21 21:48:34
阅读次数:
153
脚本语言Batch入门教程第二章:认识变量相关概念 i春秋助您提升技能,实力倍增! ...
分类:
其他好文 时间:
2019-02-20 13:05:36
阅读次数:
179
题意 给定一个有向图,每条边的花费为1。现在有一个空间跑路器,可以走2^k长度的路,只用花1秒的时间。问从1走到n最少的时间。n <= 50, k <= 64。 思路 这道题说是倍增,但是写起来不见倍增的影子,我觉得真妙,对倍增有了更膜拜的认识。我们可以开一个bool矩阵dp【i】【j】【k】,表示 ...
分类:
其他好文 时间:
2019-02-14 23:47:07
阅读次数:
165
转自大佬博客 : https://blog.csdn.net/lw277232240/article/details/72870644 描述:倍增法用于很多算法当中,通过字面意思来理解 LCA是啥呢 在一棵树当中 lca表示的是两个节点最近公共祖先, 大家看这课树哈节点5 ,3的lca就是1,13和 ...
分类:
其他好文 时间:
2019-02-14 16:34:24
阅读次数:
230