02 2019 档案
摘要:题意 给定一个1为根的树,每个点有c,w两个属性,你需要从某个点u子树里选择k个点,满足选出来的点∑ki=1w(i)≤m,最大化k×c(u) 题解 可以启发式合并splay来做,dfs每个点,每次和儿子的splay
阅读全文
摘要:题意 你需要维护若干连通快,有两个操作 合并x,y所在的连通块 询问x所在连通块中权值从小到大排第k的结点编号 题解 可以启发式合并splay,感觉比较好些的 一个连通块就是一个splay,每次合并挑小的splay遍历一遍把点按中序遍历存下来,然后一个一个插入大的$splay
阅读全文
摘要:题意 你有一个森林,你需要支持两个操作 查询两个结点路径上权值第k小 两个点之间连一条边 强制在线,结点数≤8×104 题解 如果可以离线,这就是一个主席树板子题,每个点开一个主席树表示树上的前缀和。询问的时候拿出来4棵主席树,x,y,lca(x,y)和$fa(
阅读全文
摘要:题意 记sR为s翻转后的串,求一个串最长的形如ssRssR的子串长度 题解 这有一个复杂度明显O(n)的做法,思路来自网上某篇博客 一个双倍回文串肯定当且仅当本身是一个回文串且左右两边都是回文串 所以对于右边的回文串,到它中心i的时候,manacher记录的maxr
阅读全文
摘要:题意 求gcd,其中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每次移动到某个相邻结点的概率,
阅读全文