codeforces
文章平均质量分 58
AAATK
蒟蒻
从零奋战的Acmer
展开
-
Codeforces Round #506 (Div. 3) C(区间交集中的前缀后缀思想)
题目链接:Codeforces Round #506 (Div. 3) C 题目大意:给n个区间,至多可以去掉一个其中一个区间,最终使得剩下所有区间交集的长度最大,即max(r-l)。且当l==r或交集为空集时,区间长度为0。 初步想法很显然,求L。但问题是确定弃掉的区间。刚开始想着用暴力的方法对区间依照长度排序后,根据l和r的大小情况剪枝并获得答案,但自己实现了一阵发现代码复杂得要命而且判断...原创 2018-08-26 21:35:03 · 314 阅读 · 0 评论 -
Hello 2019 D. Makoto and a Blackboard(积性函数,概率DP)
题目链接:Hello 2019 D. Makoto and a Blackboard 题目大意:给你一个N,定义一个操作:将N替换为他的一个因子(包括1和N),现在重复K次以上操作,问最后期望的值是多少? 思路:显然是一道概率DP。我们先考虑对于一个素数幂,dp[i][j]表示第i次操作后变成的概率,对其进行DP。若不是一个素数幂,将其分解为。在这里有一个非常重要的结论:期望是积性函数。即可分...原创 2019-02-07 10:26:05 · 197 阅读 · 0 评论 -
Codeforces Global Round 1 D. Jongmah
题目链接:D. Jongmah 题目大意:一些数字,有两种方式组成一个三元组(三角形),[x,x,x],[x,x+1,x+2],(刻子或顺子)每个数字只能用一次,求最多组成多少三元组。 思路:显然3个顺子和3个刻子对结果的贡献一样,即3组[i,i+1,i+2]和[i,i,i],[i+1,i+1,i+1],[i+2,i+2,i+2]对答案的贡献一样。所以我们不妨假设每个以i为开头的三元组[i,i...原创 2019-02-09 23:42:14 · 207 阅读 · 0 评论 -
Codeforces Round #548 (Div. 2) D. Steps to One
题目链接:Codeforces Round #548 (Div. 2) D. Steps to One 题目大意:一个数列,一开始是空的,每次往他最后一个位置随机的加上一个[1,m]范围内的数字,然后对当前数列所有的数字求gcd,如果gcd不为1,那么就继续添加,否则停止。问最后这个数列期望的长度。 思路:拿到题目首先明白一定是道期望dp。我们考虑dp[x]为此时序列gcd为x,到序列gcd为...原创 2019-03-28 00:28:13 · 201 阅读 · 0 评论 -
Codeforces Round #547 (Div. 3):F. Same Sum Blocks
题目链接(hard版):F2. Same Sum Blocks (Hard) 题目大意:给你一个序列,让你再其中选出若干个子区间(l1,r1),(l2,r2),…,(lk,rk),且子区间没有交集,每个子区间的权值和相等。问取出最多区间的方案,即最多有几个区间满足上述题意,并输出每个区间的. 注意easy版和hard版区别仅限于序列中元素个数的不同,easy版n<50,hard版n<...原创 2019-03-28 13:26:54 · 106 阅读 · 0 评论 -
BAPC2018 K-Kingpin Escape(Gym - 102007K)
题目大意:给你一棵树,求出最小的连接方法使得切去任意一条边能从任何点回到根。 题解: 结论1:每个度数为一的点至少连一条边 结论2:连接 i 和 i + 叶子节点个数的上取整可以保证不存在只在一颗子树内连边的情况 官方给的题解就是对n个叶子节点,i连n/2+i,i+1连n/2+i+1...,考虑叶子节点个数奇偶情况依此类推,同时特判根节点是否只有一棵子树,若只有一颗子树,将根节点也加入将要...原创 2019-05-15 12:55:25 · 306 阅读 · 0 评论 -
BAPC2018 G-Game Night
题目大意:给出一个只有A,B,C组成的字符串(环状),问:要使字母相同的聚在一起,至少需要多少个字母交换位置。 思路:最终字符串的结果一定是A,B,C的全排列,共6种A..AB..BC..C,A..AC..CB..B等,但考虑到字符串成环,我们将最终所得字符串简化为A..AB..BC..C,A..AC..CB..B两种。接下来用原串与这两个串匹配即可。这里的匹配方式很巧妙,像是滑动窗口。 代码...原创 2019-05-15 13:13:53 · 528 阅读 · 0 评论