随笔分类 -  OJ——CodeForces

摘要:题目链接 Tree Requests 阅读全文
posted @ 2017-05-02 22:23 cxhscst2 阅读(463) 评论(0) 推荐(0)
摘要:题目链接 Blood Cousins Return 阅读全文
posted @ 2017-05-02 21:52 cxhscst2 阅读(457) 评论(0) 推荐(0)
摘要:题目链接 Lomsat gelral 占坑……等深入理解了再来补题解…… 阅读全文
posted @ 2017-05-02 21:42 cxhscst2 阅读(321) 评论(0) 推荐(0)
摘要:题目链接 New Year Tree 考虑到$ck <= 60$,那么用位运算统计颜色种数 对于每个点,重新标号并算出他对应的进和出的时间,然后区间更新+查询。 用线段树来维护。 阅读全文
posted @ 2017-05-02 21:37 cxhscst2 阅读(235) 评论(0) 推荐(0)
摘要:题目链接 The Sum of the k-th Powers 其实我也不懂为什么这么做的……看了无数题解觉得好厉害哇…… 阅读全文
posted @ 2017-05-02 21:11 cxhscst2 阅读(301) 评论(0) 推荐(0)
摘要:题目链接 Tree $dp[x][i]$表示以x为根的子树中x所属的连通快大小为i的时候 答案最大值 用$dp[x][j]$ * $dp[y][k]$ 来更新$dp[x][j + k]$。 (听高手说这类题的套路其实都差不多) 因为这题输出数据会很大所以用Java…… QAQ 阅读全文
posted @ 2017-05-02 21:08 cxhscst2 阅读(248) 评论(0) 推荐(0)
摘要:题目链接 Coloring Brackets 考虑树型DP。(我参考了Q巨的代码还是略不理解……) 首先在序列的最外面加一对括号。预处理出DFS树。 每个点有9中状态。假设0位不涂色,1为涂红色,2为涂蓝色。 0:0 0 1:0 1 2:0 2 3:1 0 4:1 1 5:1 2 6:2 0 7:2 阅读全文
posted @ 2017-04-27 19:15 cxhscst2 阅读(258) 评论(0) 推荐(0)
摘要:题目链接 Xors on Segments 预处理出$x[i]$ $=$ $1$ $xor$ $2$ $xor$ $3$ $xor$ $……$ $xor$ $i$ 话说这题$O(n^{2})$居然能过 先对询问离线。 然后$dp[i]$表示以$a[i]$为开头的所有连续序列中最大答案。 然后依次处理 阅读全文
posted @ 2017-04-16 22:51 cxhscst2 阅读(317) 评论(0) 推荐(0)
摘要:题目链接 Summer Earnings 类似MST_Kruskal的做法,连边后sort。 然后对于每条边,依次处理下来,当发现存在三角形时即停止。(具体细节见代码) 答案即为发现三角形时当前所在边长度的一半。 阅读全文
posted @ 2017-04-16 22:13 cxhscst2 阅读(295) 评论(0) 推荐(0)
摘要:题目链接 Bear and Tree Jumps 考虑树形DP。$c(i, j)$表示$i$最少加上多少后能被$j$整除。 在这里我们要算出所有$c(i, k)$的和。 其中$i$代表每个点对的距离,$k$为输入的$k$值。 $f[i][j]$表示以$i$为根结点,深度对$k$取模为$j$的点的个数 阅读全文
posted @ 2017-04-11 22:37 cxhscst2 阅读(382) 评论(0) 推荐(0)
摘要:题目链接 Zuma 区间DP……好奇妙啊……参考了别人的代码……现在都有点糊涂…… 阅读全文
posted @ 2017-04-10 21:35 cxhscst2 阅读(174) 评论(0) 推荐(0)
摘要:题目链接 Mahmoud and a xor trip 树形DP。先考虑每个点到他本身的距离和,再算所有点两两距离和。 做的时候考虑二进制拆位即可。 阅读全文
posted @ 2017-04-07 10:21 cxhscst2 阅读(194) 评论(0) 推荐(0)
摘要:题目链接 Phillip and Trains 考虑相对位移。 每一轮人向右移动一格,再在竖直方向上移动0~1格,列车再向左移动两格。 这个过程相当于每一轮人向右移动一格,再在竖直方向上移动0~1格,然后人再向右移动两格。 然后就可以进行状态转移了。 f[i][j]表示能否走到i行j列的位置。最后在 阅读全文
posted @ 2017-04-06 20:44 cxhscst2 阅读(236) 评论(0) 推荐(0)
摘要:题目链接 Interesting Array 区间更新。然后对于每一个约数重新求一遍区间的&值,不符合就跳出。 阅读全文
posted @ 2017-04-06 20:15 cxhscst2 阅读(245) 评论(0) 推荐(0)
摘要:题目链接 The Meeting Place Cannot Be Changed 二分答案即可。 check的时候先算出每个点可到达的范围的区间,然后求并集。判断一下是否满足l <= r就好了。 eps我设了1e-7。 阅读全文
posted @ 2017-03-28 21:19 cxhscst2 阅读(241) 评论(0) 推荐(0)
摘要:对于序列中的任意一个单括号对(), 左括号左边(不含本身)有a个左括号,右括号右边(不含本身有)b个右括号。 阅读全文
posted @ 2017-03-23 21:25 cxhscst2 阅读(361) 评论(0) 推荐(0)
摘要:题目链接 Hanoi Factory 很容易想到这是一个DAG模型,那么状态转移方程就出来了。 但是排序的时候有个小细节:b相同时看a的值。 因为按照惯例,堆塔的时候肯定是内半径大的在下面。 因为N有1e5,那么DP的时候用线段树优化一下,就可以了。 阅读全文
posted @ 2017-03-08 21:02 cxhscst2 阅读(306) 评论(0) 推荐(0)
摘要:题目链接 Xor-sequences 利用矩阵加速。 先预处理出当序列长度为$2$的时候的方案数。 也就是说这个序列起点是$a[i]$终点是$a[j]$且中间没有任何元素。 但是所求的$k$很大,序列长度远远不止$2$。这个时候就要考虑乘法原理。 然后利用矩阵乘法来模拟乘法原理,那么就用到了矩阵快速 阅读全文
posted @ 2017-03-08 20:55 cxhscst2 阅读(277) 评论(0) 推荐(0)
摘要:题目链接 Distance in Tree $k <= 500$ 这个条件十分重要。 设$f[i][j]$为以$i$为子树,所有后代中相对深度为$j$的结点个数。 状态转移的时候,一个结点的信息由他的儿子转移过来。 那么一边进行状态转移,一边统计答案即可。 阅读全文
posted @ 2017-03-08 20:39 cxhscst2 阅读(162) 评论(0) 推荐(0)
摘要:题目链接 Cloud of Hashtags 题目还是比较简单的,直接贪心,但是因为我有两个细节没注意,所以FST了: 1、用了cin读入,但是没有加 std::ios::sync_with_stdio(false); 这条语句; 2、开了太多string。 也算是经验教训吧。 阅读全文
posted @ 2017-02-26 10:09 cxhscst2 阅读(496) 评论(0) 推荐(0)