02 2019 档案
摘要:题意 给定一个$1$为根的树,每个点有$c,w$两个属性,你需要从某个点$u$子树里选择$k$个点,满足选出来的点$\sum_{i=1}^k w(i)\leq m$,最大化$k\times c(u)$ 题解 可以启发式合并$splay$来做,$\text{dfs}$每个点,每次和儿子的$splay$
阅读全文
摘要:题意 你需要维护若干连通快,有两个操作 合并$x,y$所在的连通块 询问$x$所在连通块中权值从小到大排第$k$的结点编号 题解 可以启发式合并$splay$,感觉比较好些的 一个连通块就是一个$splay$,每次合并挑小的$splay$遍历一遍把点按中序遍历存下来,然后一个一个插入大的$splay
阅读全文
摘要:题意 你有一个森林,你需要支持两个操作 查询两个结点路径上权值第$k$小 两个点之间连一条边 强制在线,结点数$\leq 8\times 10^4$ 题解 如果可以离线,这就是一个主席树板子题,每个点开一个主席树表示树上的前缀和。询问的时候拿出来$4$棵主席树,$x,y,lca(x,y)$和$fa(
阅读全文
摘要:题意 记$s_R$为$s$翻转后的串,求一个串最长的形如$ss_Rss_R$的子串长度 题解 这有一个复杂度明显$O(n)$的做法,思路来自网上某篇博客 一个双倍回文串肯定当且仅当本身是一个回文串且左右两边都是回文串 所以对于右边的回文串,到它中心$i$的时候,$manacher$记录的$maxr$
阅读全文
摘要:题意 求$\gcd(a, b)$,其中$a,b\leq10^{10000}$ 题解 使用$\text{Stein}$算法,其原理是不断筛除因子$2$然后使用更相减损法 如果不筛$2$因子的话复杂度是线性的,比如$a=1,b=10^{10000}$ 再证明下更相减损术,即$\gcd(a,b)=gcd(
阅读全文
摘要:题意 求$\sum_{i=1}^n i^k$,$n \leq 10^9,k \leq 10^6$ 题解 观察可得答案是一个$k+1$次多项式,我们找$k+2$个值带进去然后拉格朗日插值 $n+1$组点值$(x_i,y_i)$,得到$n$次多项式$f$的拉格朗日插值方法: $$f(x) = \sum_
阅读全文
摘要:题意 有一个打字机,支持三种操作: 字符串末尾加一个小写字母 字符串末尾减一个字符 输出这个字符串 经过不超过$n$次操作后有$m$组询问:$(x,y)$,表示第$x$次输出第字符串在第$y$次输出第字符串里出现几次 $n,m \leq 10^5$ 题解 每次加减字符就在trie树上走,输出的话记录
阅读全文
摘要:题意 有一张 $n\times m$ 的数表,其第$i$行第$j$列的数值为能同时整除$i$和$j$的所有自然数之和。 $T$组数据,询问对于给定的 $n,m,a$ , 计算数表中$\leq a$ 的数之和。 $T \leq 2\times 10^4,1 \leq n,m\leq 10^5$. 题解
阅读全文
摘要:题意 设$d(x)$为$x$的约数个数,求$\sum_{i=1}^{n}\sum_{j=1}^{m}d(ij)$。 题解 首先证个公式: $$d(ij) = \sum_{x|i}\sum_{y|j} [gcd(x,y)=1]$$ 可以这么考虑:利用唯一分解定理把$i,j$分解,即: $i=\prod
阅读全文
摘要:题意 基环树上找到一个点(可以在边上)使得它到树上最远点的距离最小,输出最小距离 题解 如果是一棵树,答案就是树的直径$/2$ 如果是基环树,那么很好证明删去环上的某一条边是不影响答案的。于是断环为链,单调队列维护$dep+sum,dep sum$的最大值和次大值,然后算直径,如果两个最大值是同个结
阅读全文
摘要:题意 $T$组数据,每次询问第$k$个无平方因子的数($1$不算平方因子),$T\leq 50,k\leq 10^9$ 题解 $k$的范围很大,枚举肯定不行,也没什么奇妙性质,于是可以想到二分。 二分的话我们需要实现一个函数$f(n)$表示$n$以内的数中无平方因子的数个数 这十分经典,相当于求$f
阅读全文
摘要:题意 边权$w \in [1, 9]$的$n$个结点的有向图,图上从$1$到$n$长度为$d$的路径计数,$n \leq 10$. 题解 如果边权为$1$很经典,设$f[k][i]$表示从$1$到$i$,长度为$k$的路径条数,则$f[k][i] = \sum_{j=1}^n f[k 1][j] a
阅读全文
摘要:题意 给定一个长度为$n$,值域为$[1,k]$,某些位置不确定的数组,求最小的逆序对。$n\leq 10^4, k \leq 100$ 题解 这题有人用前缀和优化$dp$过了,但是这里还是讲一种逐一填的做法 首先证明:填进去的数一定是单调不减的,换句话说不构成逆序对。证明很简单,因为假设在$i$,
阅读全文
摘要:题意 求基环树森林所有基环树的直径之和 题解 考虑的一个基环树的直径,只会有两种情况,第一种是某个环上结点子树的直径,第二种是从两个环上结点子树内的最深路径,加上环上这两个结点之间的较长路径。 那就找环,然后环上每个结点做树形$dp$。然后把环断成长度为$2n$的链,记录环上的前缀和$sum$。假设
阅读全文
摘要:Day1 做高铁来广州 晚上开幕式,亮点在CCF的日常讲话。dzd有事换wh讲。 我们WC比赛的人数是最多的,性价比是最高的 然后掌声雷动 相信大家鼓掌是同意我的话 再次掌声雷动(雾 Day2 Day5 听不懂,真冬眠 Day6 早上是WC考试,日常咕咕咕。发了一大堆修正、注意事项。 先浏览题目。T
阅读全文
摘要:题意 :给定一个$5\times 6$的棋盘的$01$状态,每次操作可以使它自己和周围四个格子状态取反,求如何操作,输出一个$01$矩阵 题解 :这题可以通过枚举第一行的状态然后剩下递推来做,但是这里还是写一种好理解的高斯消元解异或方程组的方法。 对于每个格子列一个方程,未知数就是要求的答案矩阵,系
阅读全文
摘要:应该算高斯消元经典题了吧。 题意 :一个无向连通图,有两个人分别在$s,t$,若一个人在$u$,每一分钟有$p[u]$的概率不动,否则随机前往一个相邻的结点,求在每个点相遇的概率 题解 : 首先求一个$mov[i]=\frac{1 p[i]}{deg[i]}$表示结点i每次移动到某个相邻结点的概率,
阅读全文

浙公网安备 33010602011771号