摘要:
题目 Solution 首先,有一个贪心思想:选择行被 h h h整除,列被 w w w整除的点作为关键点,值为负数,其他点全是正数 设关键点的点权为 x x x,其他点为 y y y 那么,有 x + y ( h w − 1 ) < 0 x+y(hw-1)<0 x+y(hw−1)<0 阅读全文
摘要:
题目 Code f a [ x ] fa[x] fa[x]表示 x x x路径压缩后的父亲 d [ x ] d[x] d[x]表示 x x x到 f a [ x ] fa[x] fa[x]的距离(有向, f a [ x ] fa[x] fa[x]到 x x x的距离为 − d [ x ] -d[x] 阅读全文
摘要:
题目 Description 求第 k k k个不包含平方因子的数 Solution 首先肯定是二分答案 x x x,然后求 < = x <=x <=x的不包含平方因子的数的个数 然后推样例的时候发现: 个 数 = x − x 2 2 − x 3 2 − x 5 2 + x 6 2 − 阅读全文
摘要:
Description 区间加减、区间 g c d gcd gcd Solution 因为 g c d ( a , b ) = g c d ( a , b − a ) gcd(a,b)=gcd(a,b-a) gcd(a,b)=gcd(a,b−a), 所以可以差分, g c d ( a l , a l 阅读全文
摘要:
题目 Solution 关于dp: 题意可以转换为:给出一个的无向图,边有边权。定义一个子图的权值为所有边权的乘积,问所有使全部 n n n个点连通的图的权值和为多少 f [ s ] f[s] f[s]表示当前联通状态为 s s s, g [ s ] g[s] g[s]表示选 s s s的状态的点, 阅读全文
摘要:
题目 Solution 我感觉这题比这场的CD难多了(E以后没时间看,但99%是做不出的) 刚开始想过 d p dp dp,但发现要保存前 i i i个数, 0 0 0和 1 1 1的个数差,还有 s 1 s1 s1中选择的长度,会爆 然后想到了模拟,枚举两个串中 1 1 1的个数 k k k 对于 阅读全文
摘要:
题目 题解 Solution 首先把询问点根据原树 d f s dfs dfs序排序,显然这些点都要出现在虚树中来,而且为了保证结构不被破坏,另外一些跟他们有关系的点都要加入到虚树中来 我们用一个栈维护原树上的一条链,自栈底到栈顶,深度由小变大 每次考虑插入询问点进栈 如果插入点的祖先是栈顶元素,那 阅读全文
摘要:
题目 题解 边分治 #include<bits/stdc++.h> using namespace std; typedef long long ll; const int N=200002; struct node{ int to,ne,w; }e[N<<1]; struct kk{ int v, 阅读全文