
codeforces
Thomas_ZQQ@Runespoor
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【题解】2019-2020 ICPC, Asia Jakarta Regional Contest - D. Find String in a Grid
D. Find String in a Grid这是一道好题!方法1:首先考虑如何用后缀数组求一堆串在单个串中的出现次数加分隔符建后缀数组。然后对每个串,在rk数组上求合法区间(即在height数组上用ST表二分)然后计数区间中有多少位置合法这里可以直接把上述方法的思想迁移过来首先枚举分段点,因为我们能做的都是单个串,不能拐弯那我们现在就是要前面的用横着的串匹配,后面的用竖着...原创 2020-02-03 18:51:48 · 333 阅读 · 0 评论 -
【题解】Codeforces Round #572 (Div. 1)
VP的这场。但是做得很崩溃。B,C,D都没有想出来B题没有注意到所有数不相同的条件,根本没有想到乘一下就可以化简式子了C题原来是一个“大暴力”、推复杂度的时候还是应该仔细一点D题的idea还是很精巧。进位只会是排序后连续的一段后缀产生。瞬间把状态压到O(n * 62)用基数排序E题有空再做#include<bits/stdc++.h>using namespace std...转载 2019-08-07 11:15:00 · 213 阅读 · 0 评论 -
【题解】codeforces Forethought Future Cup - Elimination Round - H
problemsolution1DP所求5角星等价于找5个点的凸包数量把所有边按照极角排序,依次枚举边转移这样就只需要记录第一个点和当前点,不需要记录最后一条边,凸包一定合法(因为没有三点共线的情况,否则要特殊处理共线情况)#include<bits/stdc++.h>using namespace std;typedef long long ll;const ...原创 2019-08-13 20:07:30 · 188 阅读 · 0 评论 -
【题解】Codeforces Round #573 (Div. 1) E. Tokitsukaze and Explosion
题目其实官方题解已经非常清晰了。主要是记录一下自己犯的错误。最近要好好搞搞计算几何!直接用角度区间判,并且还不用eps。可能1e5的坐标,acos,atan2之类的精读还行?扩展成2 * n个时一定要保证右端点最大 - 最小 <= 2 * pi , 因为后面贪心是对右端点做得,所以不用考虑左端点。这样可以保证扩展后右端点还是递增的!3. 这个倍增的思路还是挺常见的。直接贪心做...原创 2019-08-04 20:57:46 · 228 阅读 · 0 评论 -
【学习小结】概率、期望好题
1. Hello 2018 F. Strongly Connected Tournament题意n 个人比赛,标号小的赢标号大的概率为p每轮两两比赛,不在强连通分量中的人决出排名,在强连通分量中的继续重复此步骤问期望比赛场数n<=2000n <= 2000n<=2000题解思路:答案只与人数有关,与标号无关。dp时推式子,每次计算最后一个联通块...原创 2020-02-02 14:56:32 · 182 阅读 · 0 评论 -
【比赛小结】Codeforces Global Round 2
题解Problem F - Niyaz and Small Degreesfrom OI界第一麻瓜上面的题解写得很好我强行写了treap维护还是尽量用stl,好写很多。我主要是因为太久没有写过treap了。顺便改了一下码风删除点要把边彻底删除,不能打标机,否则复杂度仍然是错的。这题首先应该想到固定x的DP。一个简单的记录到fa的边是否删除的DP。然后根据度数的性质删去无关节点。...原创 2019-04-10 12:47:49 · 222 阅读 · 0 评论 -
【题解】codeforces 1129E - Legendary Tree 交互+树的性质
problem题意n个点的树每次可以询问两个集合S,T,S->T经过x的点对有多少个确定树的形态n <= 500,11111次询问题解显然询问集合应该是一个点到一个集合,这样才能确定更多有用信息。发现如果是询问x到剩余点经过v的点对,可以确定出v子树内和子树外的点数这样可以找到所有叶子,然后再找叶子的fa。删去叶子但是这样是n2的题解上的做法利用了更好的性质:...原创 2019-03-11 14:39:34 · 235 阅读 · 0 评论 -
【题解】codeforces 814E. An unavoidable detour for home 图论计数DP+最短路
题目题解最短路DP的最常用技巧:把 图分层。按照和起点的最短路长度。然后我们可以一层一层加入点。f[i][j][k]表示当前i个点,上一层j个一度点,k个二度点。DP的时候要考虑加点顺序,否则会算重:先考虑当前图只有二度点,则应该枚举构成环。每次枚举最后一个点的环大小,不能直接连边,会连出重边。然后加入一度点,考虑最后一个加入的点和前面那种点连边然后加入当前层的点,同样考虑和前面那...原创 2019-02-25 22:07:57 · 269 阅读 · 0 评论 -
【题解】codeforces 868 F. Yet Another Minimization Problem 决策单调性优化DP
题面题解题意给定一个序列 {a1,a2,⋯,an},要把它分成恰好 k 个连续子序列。每个连续子序列的费用是其中相同元素的对数,求所有划分中的费用之和的最小值。2≤n≤105,2≤k≤min(n,20),1≤ai≤n题解显然具有决策单调性,可以用四边形不等式优化DP唯一的问题是怎么快速计算w(l,r)的贡献用分治的写法。暴力从fa区间的左右端点移动到当前左右端点计算贡献即可。考...原创 2019-02-14 11:42:55 · 334 阅读 · 0 评论 -
【题解】codeforces 1103D - Professional layer 质因数分解+状压DP
题意N个数A[i],可以给每个数除不超过K的因数,使得所有数GCD为1代价是除的数个数 * 除的数的权值和N <= 1e6 , A[i] <= 1e12题解**考虑所有数gcd的所有质因数,设D=P1a1P2a2 *…Pkak , 显然当次数为1的时候个数最大,这时最多只有11个质因数把A[i]化简为只含D的质因数的向量,不同向量只有最多M = 12000个(注意这时A[i...原创 2019-02-14 10:37:28 · 462 阅读 · 0 评论 -
【题解】codeforces 1039D. You Are Given a Tree 树形dp+二分答案
题解答案显然递减,并且变化点只有根号个。当路径长度&gt;=sqrt(n)时,答案显然小于根号n所以二分答案找变化点即可这样根号的性质很常见!还有一类思路是sz不同的子树只有根号种这题还有更厉害的做法,留坑nsqrt(n * logn) 的做法要卡常,dfs太慢,每次check应该用bfs。#include&lt;bits/stdc++.h&gt;using namespace s...原创 2019-02-12 22:19:38 · 326 阅读 · 0 评论 -
【比赛小结和题解】Codeforces Global Round 1 注意贪心,简单dp技巧,还有AC自动机+数位dp
从重要的题开始题解连接1110G - Tree-Tac-Toe题意:给出一棵树,上面有白点和未染色点,白色先手,轮流染色。当染成3个连续白点获胜。问是平局还是白胜。 n &amp;lt;= 5e5**这道贪心很好!首先通过加点把白点转化成无色。加点只要保证进行相同的染色后先后手不变,并且状态和以前一致。这样转化大大减少了分类讨论的情况。即使不转化也能讨论。但是转化后模型简单很多!***...原创 2019-02-08 09:53:49 · 1878 阅读 · 0 评论 -
codeforces 809 E. Surprise me! 点分+数学好题
codeforces 809 E. Surprise me!题解设法把求和的式子化成i,j分开,然后固定一个点统计贡献点的距离用点分化成深度之和,然后phi这样化经过一系列化简,用到对因数和倍数进行容斥,最后变成预处理sumphi(g):当前层g的倍数的phi和,这个对每个点的贡献系数可以预处理预处理部分题解写得麻烦了。仔细把容斥的式子展开(看题解,很详细),发现g对于任意g的倍数x贡...原创 2019-01-26 16:50:59 · 212 阅读 · 0 评论 -
VK Cup 2017 - Round 3 部分题解
VK Cup 2017 - Round 3找到这套tourist出的题,非常有意思!题解很详细806D - Perishable Roads有很多很巧的性质,最后转化出了这道题。利用它是一个完全图,并且答案是一条链,并且边权递减,转化成最短路。最后直接所有点一起跑dij,因为每个点的初始值可以为它的直接最优解。积累思路:1. 把最小权值的边的权值减去,最小边变为0. 统计答案的时候就很...原创 2019-01-25 17:41:49 · 508 阅读 · 0 评论 -
codeforces 995 F. Cowmpany Cowmpensation 树形dp,或多项式插值
codeforces 995 F. Cowmpany Cowmpensation题解首先想到把权值离散化,如果知道总共用了i种权值,方案数*C(D,i)一开始我的想法是dp[i][j],记录子树中有多少种不同权值(分级),但是这样合并的时候需要枚举重复的个数,只能是n^3换个角度看dp,思想一样,但是我们可以重新定义dp[i][j],根结点i的权值不超过j注意这里的权值范围是1-n,而不...原创 2019-01-24 22:21:45 · 320 阅读 · 0 评论 -
Codeforces 979 E Kuro and Topological Parity
Codeforces 979 E简要题意:每个点可以向标号更大的点连边,所以图是DAG。每个点有一个颜色,一部分点已经给出。定义交替路径为颜色交替,问给图染色和连边后,图的交替路径方案数为奇数/偶数的方案题解:首先只需要记录前i个点中,以其结尾的路径方案数为odd/even,本身颜色为black/white的点各有多少个记为ob,ow,eb,ew 令f[i][ob][ow][eb][e...原创 2019-01-24 12:20:45 · 277 阅读 · 0 评论 -
codeforces杂题记录
codeforces杂题记录这也是当前的写题队列1. 995 E. Number Clicker题解暴力!暴力从u,v bfs,只走&lt;1e7的数。或者随机总结:开脑洞,要大胆的尝试暴力待写 30min(两种写法)2. 1000 G题解:树上倍增是否进入每个子树,和每个子树经过时的最大收益可以预先DP最后倍增就好待写 30min3. 1000 F题解: 离线+线段树...原创 2019-01-17 22:31:15 · 220 阅读 · 0 评论 -
Codeforces Round #446 (Div. 1)
D. Sloth让我们暴力树形dp吧,题解的性质+分类讨论太难想了推清楚所有转移细节!!f[i][0/1][0/1][0/1/2/3] : 当前以i为根的子树,根是否匹配,子树中是否有未匹配点,删边加边的状态删边加边的状态:0:未删除1: 删除且那块中有未匹配点2: 删除且无未匹配点3: 已经删除和加边方案数要在删除和加入的时候*sz(如果可以任选点连的话)转移分几类:直接匹配...原创 2019-01-12 11:25:09 · 242 阅读 · 0 评论