随笔分类 - CF
摘要:分析: 首先考虑如何计算整个数组有多少个good区间 容易发现一个区间是good区间当且仅当max-min-len=-1,且任意区间max-min-len>=-1 我们可以枚举右端点,然后维护前面每个位置到当前右端点的max-min-len值,容易发现我们只需要维护区间最小值和最小值的个数就行了,于
阅读全文
摘要:分析: 假设在第一个树上我们有一个长度为x的环,在第二树上我们有一个长度为y的环,那么可以在叉积树上构造出$\binom{x+y}{x}$个长度为x+y的环 问题的关键就变成了如何统计出在一个树上的长度为i的环的个数 设$f(u,v,k)$表示从u点出发走k步回到u点,中途不经过点v的方案数,其中v
阅读全文
摘要:题意: 有n个点,编号为1~n。有的点颜色是黑色,有的点颜色是白色,有的点的颜色待涂。你还可以连一些边,但这些边一定是从小编号连到大编号的点。 对于一个确定的图,我们去统计有多少条路径满足“该路径经过的所有点的颜色都是黑白相间的”,如果这种路径总数的奇偶性为p(p是输入的,p=0或1),那么该图就被
阅读全文
摘要:B(two point) 题意: 给出长度为n的非递减数组E[1..n],对于所有三元组(i,j,k),1<=i<j<k<=n且Ek-Ei<=U,我们需要计算出最大的(Ek-Ej)/(Ek-Ei) n<=1e5 分析: 考虑枚举i和k,那么j一定是i+1 容易发现k越靠右值越大,所以k是满足Ek-E
阅读全文
摘要:C(分段) 题意: 分析: 我们分别考虑p=2和p>=3的情况 当p=2的时候,个数明显是[L,R]内完全平方数的个数 当p>=3的时候,我们注意到这样的数字个数是1e6级别的,且a最多也不超过1e6 我们可以对于每个a去枚举对应的p,然后丢到一个set里去重 还有一点要注意的,p=2可能会和p>=
阅读全文
摘要:开头致敬原文:http://codeforces.com/blog/entry/44351 dsu on tree 是一个很神奇的技术,可以替代启发式合并、点分治,可以处理无修改的子树询问问题,可以处理任何乱搞的询问,是“树上的莫队”。 一、什么是dsu on tree 从一个例题看起:现在有一个树
阅读全文
摘要:题意: 有一个无向连通图,支持三个操作: 1 x y d : 新建一条x和y的无向边,长度为d 2 x y :删除x和y之间的无向边 3 x y :询问x到y的所有路径中(可以绕环)最短的是多少(路径长度是经过所有边的异或) n,m,q<=2e5 分析: 如果没有加边和删边操作,那么就是个经典的线性
阅读全文
摘要:题意: 给一个长度为n的字符串,定义$k=\floor{log_2 n}$ 一共k轮操作,第i次操作要删除当前字符串恰好长度为$2^{i-1}$的子串 问最后剩余的字符串字典序最小是多少? 分析: 首先很容易得到一个性质,那就是删除的那些串是可以不交叉的 很容易想到一个很简单的dp dp[i][j]
阅读全文
摘要:题意: 定义F(x,p)表示的是一个数列{y},其中gcd(y,p)=1且y>x 给出x,p,k,求出F(x,p)的第k项 x,p,k<=10^6 分析: 很容易想到先二分,再做差 然后问题就变成了[1,x]内有多少个数是和p互质的 我们可以先将p质因数分解,然后用这些数组合去在[1,x]容斥就行了
阅读全文
摘要:题意: n(n<=200000)个点的完全图删去了m(m<=200000)条边,求剩下图的连通分量。 分析: 将未访问过的点用一个链表串起来 仍旧进行BFS,每次BFS扩展一个点u的时候,暴力去for链表,如果发现有与u相连的点则该点入队且从链表删除 直至链表为空 我们来分析一下这个的复杂度,首先明
阅读全文
摘要:A、B、C 略 D(dfs+强连通分量) 题意: 给出一个n(n<=500)点m(m<=100000)边的有向图,问能否通过删去一条边使得该图无环。 分析: 最简单的想法就是枚举一条边删去然后判断图是否有环,这样是O(m^2)的不能接受 仔细想想,如果图中环数<=1,则YES;如果图中环数>=2,那
阅读全文
摘要:补题进度:10/12 地址:http://codeforces.com/gym/101194 A(签到) 略 B(数位DP) 题意: 定义一个01字符串为good串当且仅当将其奇数位或者偶数位单独拎出来是个回文串。 输出长度为n(<=1e5)的字典序排在第k(<=1e18)位的good串 分析: 很
阅读全文
摘要:题意 给出一个n个点m条边的无向联通图(n,m<=5e5),有q(q<=5e5)个询问 每个询问询问一个边集{Ei},回答这些边能否在同一个最小生成树中 分析 要知道一个性质,就是权值不同的边之间是独立的,即权值为x的所有边的选取不影响权值>x的边的选取 于是我们可以把所有询问离线,按边权排序,对于
阅读全文
摘要:A =w= B QvQ C 题意: 有n条线段(n<=2e5) 每条线段有左端点li,右端点ri,价值cost(1<=li<=ri<=2e5,cost<=1e9) 对于一个给定的x(x<=2e5),寻找两个不相交的线段,使它们的长度和恰好为x,并且价值和最小 分析: 想法肯定是枚举一个线段,然后去c
阅读全文
摘要:题意: 给出一个有向图,要求给每条边重定向,使得定向后出度等于入度的点最多,输出答案和任意一种方案。 分析: 将图看作无向图,对每条边重定向 首先我们肯定分成多个连通分量来考虑,每一个连通分量都是一个无向图 如果一个无向图每个点的度数都是偶数,那么必定存在欧拉回路,于是每个点的入度=出度 如果一个无
阅读全文
摘要:A = = B 题意: 在一个正n边形中,画一个三角形,找这个三角形里的一个角,使得这个角最接近给定的angle 分析: 画画图会发现,相邻三个点构成的三角形的最小角是所有可能角中的最小角 然后发现其它角都是这个最小角的整数倍 所以只要枚举整数倍就行了 C 题意: 初始有一串长度为a的序列,是26个
阅读全文
摘要:题意: 冈伦从二维平面上(0,0)走到(k,0),(k<=1e18),每次有三个行动方向:右上一格、右方一格、右下一格,问一共有多少种走的方案 限制:每段x都有一个天花板,一共有n段天花板(n<=100),每段天花板都有一个高度(<=15),不能走得比该段天花板高 分析: 将其分成n段 发现就是执行
阅读全文
摘要:题意: 给出n个节点,以及和这个节点指向的节点fi,表示从i能够到达fi,问至少需要添加多少条边能够使得原图变为强连通分量, 输出边数及添加的边,多解输出任意一组解。 2 <= n <= 1e5, 1 <= fi <= n && i != fi。 分析: 注意隐含条件,每个点只有一条出边 所以对于每
阅读全文
摘要:A emmmmmmmmm B emmmmmmmmm C(套路) 题意: 给定n和s(n,s<=1e18),计算n以内有多少个数x满足(x-x的各个位置数字之和)>=s 分析: 容易想到如果x相对于s很大很大,那么肯定是满足条件的 那些小于s的数,肯定是不行的 于是x就可以从s开始,往后枚举1e6个,
阅读全文
摘要:A =w= B qvq C(贪心) 题意: Alice和Bob分别有长度为n(n<=1e5)的字符串,Alice先手,每次从自己的字符串中抽出一个字母放到新字符串的某个位置,一共轮流n次,也就是说最后新字符串长度为n。Alice的决策时希望最后结果字典序最小,Bob则是希望最大,他们都是聪明的,请输
阅读全文