随笔分类 - OJ -- CodeForces
摘要:#Codeforces Round #656 (Div. 3) ##A. Three Pairwise Maximums ###题意 给你三个数 构造使得其满足题目给定的。 ###题解 讨论一下是否存在两
阅读全文
摘要:【CF1172E】Nauuo and ODT(Link Cut Tree) 题面 "CF" 给你一棵树,每个节点有一个颜色。 定义一条路径的权值为路径上不同颜色的数量。求所有有向路径的权值和。 有次单点颜色修改操作,每次修改之后输出答案。 题解 如果只有黑白两色,我们要求白色的贡献,那么我们可
阅读全文
摘要:【CF528E】Triangles 3000(计算几何) 题面 "CF" 平面上有若干条直线,保证不平行,不会三线共点。 求任选三条直线出来围出的三角形的面积的期望。 题解 如果一定考虑直接计算这个三角形的面积,我们很难不去弄出这三个交点。 我们需要的是低于的复杂度,而$O(n^3)
阅读全文
摘要:【CF1053E】Euler tour 题面 "CF" "洛谷" 大概意思是你有一棵树,然而你并不知道这棵树是啥。给你一个确定了一些位置的欧拉序(就是表求的那个序列),问你是否存在一个合法的序列,如果可以构造出一个。 题解 首先我们一定能够确定的是以下性质: $a_1=a_{2n
阅读全文
摘要:【CF933E】A Preponderant Reunion(动态规划) 题面 "CF" "洛谷" 题解 直接做很不好搞,我们把条件放宽,我们每次可以选择两个相邻的非零数让他们减少任意值,甚至可以减成负数(虽然你肯定不会把它弄成负数的)。代价为减少的值。不难证明这个问题的答案不会优于原题目。 我们假
阅读全文
摘要:【CF704D】Captain America(上下界网络流) 题面 "CF" "洛谷" 题解 如果没有限制,似乎就不用做了。。。因为我们只需要贪心的选择代价较小的颜色就行了。 那么我们不妨假设染红色的代价较小,即。 接下来把限制加进来,每个限制一定是限制了在某一行中染蓝色以及染红色
阅读全文
摘要:【CF241E】Flights(差分约束) 题面 "CF" 有个点条边,要求给每条边赋一个或的边权,判断能否使得每一条到的路径的权值和都相等,如果可以给出一个方案。 题解 首先有这样一个结论:从号点到达任意一个点的所有路径的权值都相同。比较显然,就不证明了。
阅读全文
摘要:Codeforces Global Round 3 A. Another One Bites The Dust 有若干个 ,有若干个 ,有若干个 。你现在要把这些串拼成一个串,使得任意两个相邻的位置都是不同字符,求可能的最长串长度。 枚举一下开头还是开头,那么接下来就被唯一确定了。 B.
阅读全文
摘要:【CF285E】Positions in Permutations(动态规划,容斥) 题面 "CF" "洛谷" 题解 首先发现恰好很不好算,所以转成至少,这样子只需要确定完一部分数之后剩下随意补。 然后套一个二项式反演进行容斥就可以得到答案了。 考虑怎么算至少个的贡献, 设$f[i][j][S
阅读全文
摘要:Codeforces Round 556 (Div. 1) A. Prefix Sum Primes 给你一堆1,2,你可以任意排序,要求你输出的数列的前缀和中质数个数最大。 发现只有是偶质数,那么我们先放一个,再放一个,接下来把全部放掉再把全部放掉就行了。 cpp i
阅读全文
摘要:【CF1152F】Neko Rules the Catniverse(动态规划) 题面 "CF" 题解 我们先考虑一个需要扫一遍所有位置的做法。 那么状态一定是然后什么什么表示考虑到当前第个位置的答案。 看看我们还需要记录什么,首先肯定要记录的是当前已经选了几个,所以多了一维
阅读全文
摘要:【CF932E】Perpetual Subtraction(NTT,线性代数) 题面 "洛谷" "CF" 题解 设表示轮之后这个数恰好为的概率。 得到转移:$\displaystyle f_{i,j}=\sum_{k=j}^{n}f_{i 1,k} \frac{1}{k
阅读全文
摘要:【CF1151E】Number of Components 题面 "CF" 题解 联通块个数=点数 边数。 然后把边全部挂在较小的权值上。 考虑从小往大枚举左端点,等价于每次删掉一个元素,那么删去点数,加上边数,修改一下当前值就行了。 这个东西对于任意形态的树都可以做。 cpp include in
阅读全文
摘要:【CF1151F】Sonya and Informatics(动态规划,矩阵快速幂) 题面 "CF" 题解 考虑一个暴力。假设有个,个。设表示当前做到了第个操作,前个元素中有个的方案数。 转移就枚举交换哪两个东西就可以了。
阅读全文
摘要:Educational Codeforces Round 62 A. Detective Book 一本书有页,每一页都有一个谜题,第页谜题的答案在。现在一个人看书,他每天往后看一页,然后一直往后看,直到他看到了他已知的所有谜题的答案就停止。 问这个人要看多少天。 模拟题。 c
阅读全文
摘要:Codeforces Round 551 (Div. 2) 题解 A. Serval and Bus 有若干种公交车,第种会从时刻开始,每过秒会出现一次。现在有一个人在时刻到达车站,问它会碰到的第一辆车是哪一种。 傻逼题 cpp include include u
阅读全文
摘要:Codeforces Global Round 2 因为省选所以没打 orz打了的1tst上红了,成为了全机房唯一制定GM。 A. Ilya and a Colorful Walk 给你一个数列,问任意两个不同元素的距离的最大值是多少。 这个随便做吧。。 C. Ramesses and Corner
阅读全文
摘要:【CF1132F】Clear the String(动态规划) 题面 "CF" 题解 考虑区间。 增量考虑,每次考虑最后一个字符和谁一起删去,然后直接转移就行了。 cpp include include include using namespace std; define MAX 505
阅读全文
摘要:【CF1132G】Greedy Subsequences(线段树) 题面 "CF" 题解 首先发现选完一个数之后选择下一个数一定是确定的。 对于每个数预处理出左侧第一个比他大的数,那么这个数加入进来之后的答案都会增加一,拿线段树维护一下就行了。
阅读全文
摘要:【CF1133E】K Balanced Teams(动态规划,单调队列) 题面 "CF" 让你把一堆数选一些出来分成不超过组,每一组里面的最大值和最小值之差不超过,求最多有多少个人元素可以被分组。 题解 设表示把前个数分成组的最多人数。 然后单调队列转移一下
阅读全文