随笔分类 - 妙啊
CF990G
摘要:题意 https://codeforces.com/contest/990/problem/G 思考 在200000以内,因数个数最多的数位166320,共有160个因数。可以知道,从一个节点向下走最多只会有160种取值。 记集合f[u]为从u节点向下走可以取得的所有值及其个数,暴力转移即可。 至于
阅读全文
19_07_8校内训练[sort]
摘要:题意 一个排列,每次选一个子序列按顺序放在开头,要求变成升序的操作次数不超过17次,给出方案。n<=1E5。 思考 对于ai=aj-1且i<j的数字,一定要保持其相对顺序。可以根据这个关系分成若干个块,并根据每个块最小的数从小到大将块编号为1~m。 接着把所有奇数编号的块选出来放在左侧。能发现这次操
阅读全文
CF572_Div2_F
摘要:题意 http://codeforces.com/contest/1189/problem/F 思考 由于是子序列,答案只跟选法有关,与顺序无关,先排序。 直接计算答案比较困难。联想到期望的无穷级数计算公式,设gi表示beauty值大于等于i的总方案数,则答案=sigma(g1~max{a})。 对
阅读全文
CF572_Div2_D2
摘要:题意 http://codeforces.com/contest/1189/problem/D2 思考 显然地,如果出现度数为2且两条出边边权不相同的情况,是无法构造合法方案的。 下面考虑缩边后的树,此时每个非叶子节点的度数一定大于等于3。 枚举每个非叶子节点,将其重新作为树的根,并尝试将它所有的出
阅读全文
[集训]Trominoes,钩子公式运用
摘要:题意 用这四种骨牌密铺n*m的正方形矩阵,可以不选,求方案数。n*m<=1E8。多组询问。 思考 用如上的表达难以进行计算,尝试转化为一种新的组合解释。 若从右上角开始填起,我们强制要求里面的轮廓线是单调增的。例如: 这种方法既不影响合法性,又不会重复计数。 可以看见,我们只关心轮廓线的形状,不关心
阅读全文
[集训]FWT基础练习题
摘要:题意 给出n个长度为20的二进制数和数字k,每次询问给出一个二进制数,问从n个数中挑k个数(不能重复)的按位或能包含询问的组合有多少个。数字均小于等于5E5,1s。 思考 强行算出2^20个答案,再O(1)询问。 可知按位或的FWT能够将两个数组融合成新的数组。假设Fk表示挑出k个数字能组成的所有可
阅读全文
线性最长cover(无讲解)
摘要:1 #include<bits/stdc++.h> 2 using namespace std; 3 const int maxn=1E6+5; 4 int n,f[maxn],cover[maxn],R[maxn]; 5 char str[maxn]; 6 int main() 7 { 8 ios
阅读全文
19_05_21校内训练[边上的整点]
摘要:题意 有一个n条横线m条竖线的长方形网格,求出(三点在整点上的)三角形的边上整点个数的期望。要求线性。 思考 ans=所有三角形的边经过的整点总个数÷三角形个数。方便起见,默认三角形的三条边是有顺序但没方向的。 记cnt(i,j)表示平面上第i个点与第j个点连线经过了几个整点,范围是( ],易证cn
阅读全文
19_05_21校内训练[简单序列]
摘要:题意 定义一个序列的价值为其排序后所有位置(从1开始)乘以该位置元素的值的和,即∑i*ai。求一个长度为n的序列的所有连续子序列的价值和。 思考 一个序列的价值可看做所有的元素的和,加上所有无序二元组中较大的元素的值。 因此答案分为两部分:1.所有可能序列的元素和的和。考虑一个点,算出有多少区间包含
阅读全文
[计算几何+图论]doge
摘要:题意 在平面直角坐标系上,你有一只doge在原点处。doge被绳子拴住了,绳子不会打结,没有弹性(但很柔软),并且长度为L。平面上有一些目标,因此你的doge会按照顺序去捡起它们,但是doge只能走直线。此外平面上还有一些障碍,视为一些点,狗在绕圈时可能会把绳子缠在上面。问L的最小值。 坐标均为整数
阅读全文
[CERC2017]Intrinsic Interval
摘要:题意 给出一个n排列,m次询问,每次查询长度最小的区间,使得这个区间排序后出现连续的整数(即相邻的差为1),并且包含(或等于)区间[l,r]。若长度相等,取l端点最小的。 n,m<=1E5 思考 重要的性质: 1.一个区间是连续的,当且仅当其存在r-l个无序二元组(x,y),满足|x-y|=1。 2
阅读全文
19_05_01校内训练[polygon]
摘要:题意 把一个边长为1的正n边形放到一个正m边形中,要求m边形完全覆盖n边形,可以有交点,并且中心重合。求正m边形的最小边长,至少精确到6位。要求logn计算。 思考 先考虑m|n的情况。 我们知道,正m边形的边长与可行区域(即可以完全覆盖的那些角度)形成单射,当且仅当所有可行区域都成为可数的点时,答
阅读全文
19_04_25校内训练[最小割]
摘要:题意 给出有向图,有边权。选择一些边,使得所有从1到n的每条路径(可重复经过点和边)都经过了选中边恰好一条,求最小代价。 思考 首先缩点,因为一个强连通分量中的边可以重复经过,一定不会选。 若限制是至少经过一条,则是最小割模型。 考虑最小割的意义。它将点集分为S和T集,使得割去所有S集到T集中的边后
阅读全文
[HNOI2019]校园旅行
摘要:题意 https://www.luogu.org/problemnew/show/P5292 思考 最朴素的想法,从可行的二元组(u,v)向外拓展,及u的出边所指的颜色与v的出边所指的颜色若相同,继续更新二元组(u',v'),复杂度约为O(m2)。 我们发现,很多时候边上的转移其实是没有必要的,因为
阅读全文
19_04_02校内训练[图染色]
摘要:题意 给一个联通无向图,有n个点和m条边,要求用k种颜色为其染色,使得相邻的两个点颜色不同。n-m≤5,n、m≤100,000。k很大。 思考 若n、m≤8,用最小表示(例如,染色[1,5,3,1]<=>[1,3,2,1])。对于一种染色的最小表示,若使用了m种不同的颜色,最后的结果乘以k!/(k-
阅读全文
19_04_02校内训练[特殊的行列式]
摘要:弱化题意 求,( )为gcd,n≤100,000。 思考 转化为上三角,经观察得: 例如,n=6: 原始: 接下来2~6行减去第1行: 接下来4、6行减去第2行: 接下来第六行减去第3行,得到结果。 还不会证。
阅读全文
一类子树问题的总结
摘要:以下问题均允许离线,根节点都为1。 prob1 : 一棵有根树,要求线性时间求出任意子树的权值和。 prob2 : 一颗有根树,要求O(nlogn)求出与u距离不超过x且在u子树中的节点的权值和。 prob3 : 一颗有根树,要求O(nlogn)求出与u距离不超过x且在u子树中的不同颜色种类个数,颜
阅读全文
19_03_28校内训练[相似字符串]
摘要:题意 给出一个长度为n的序列,有m次询问,每次询问[l1,r1],[l2,r2]的区间,问排序后相同位置的不同数字个数是否小于等于1。如[1,3,2,2],[1,3,2,3]排序后为[1,2,2,3]和[1,2,3,3],不同的有2个,不符合。n,m≤1,000,000,数的大小≤50,000。 思
阅读全文
CF727F [Polycarp's problems] & [EX_Polycarp's problems]
摘要:原题题意 给出长度为n的有序数组,m次询问,每次给出一个正整数x。你要删除数组中最少的元素,使得数组中的前缀和+x都为非负整数。允许离线,n≤750,m≤200,000。 原题思路 首先注意到,x能成功通过测试当且仅当前缀和中最小的数≥x。 将询问从大到小排个序,对于一个新的询问,每次尝试从数组中删
阅读全文
19_03_26校内训练[魔法卡片]
摘要:题意 有n张有序的卡片,每张卡片上恰有[1,m]中的每一个数,数字写在正面或反面。每次询问区间[l,r],你可以将卡片上下颠倒,问区间中数字在卡片上方的并的平方和最大是多少。q,n*m≤1,000,000。 思考 一个很重要的性质,若区间长度≥log m+1,则答案为12+22+33+...+m2。
阅读全文
浙公网安备 33010602011771号