随笔分类 -  cf

上一页 1 2 3 4 5 6 ··· 10 下一页
摘要:C - Cram Time 思路:首先找到最大的x,使得x*(x+1)/2 <= a+b 那么一定存在一种分割使得 a1 <= a 且 b1 <= b 证明: 从x 到 1枚举过去,对于某个i 如果 a >= i, 那么这个i放在第一天 如果a < i,那么后面肯定会遇到一个a把第一天填满(因为我们 阅读全文
posted @ 2018-10-22 20:11 Wisdom+.+ 阅读(452) 评论(0) 推荐(0)
摘要:C - Putting Boxes Together 思路: 求带权中位数 用树状数组维护修改 代码: 阅读全文
posted @ 2018-10-04 16:56 Wisdom+.+ 阅读(191) 评论(0) 推荐(0)
摘要:B - Vasya and Good Sequences 思路: 满足异或值为0的区间,必须满足一下条件: 1.区间中二进制1的个数和为偶数个; 2.区间二进制1的个数最大值的两倍不超过区间和. 如果区间长度大于128,第二个条件肯定满足,所以我们只要暴力区间长度小于128的就可以了 代码: 阅读全文
posted @ 2018-10-02 17:00 Wisdom+.+ 阅读(169) 评论(0) 推荐(0)
摘要:E - GukiZ and GukiZiana 思路:分块, 块内二分 代码: 阅读全文
posted @ 2018-08-27 20:40 Wisdom+.+ 阅读(126) 评论(0) 推荐(0)
摘要:D - Table 思路:dp 首先,第i列的个数肯定和第i - n列个数一样,假设[i - n + 1, i - 1] 之间的个数之和为x,那么第i列和第i-n列的个数应该是n - x 那么我们可以用dp求方案数 状态:dp[i][j] 表是到第 i 列为止 填了 j 个的方案数 初始状态: dp 阅读全文
posted @ 2018-08-27 13:35 Wisdom+.+ 阅读(150) 评论(0) 推荐(0)
摘要:D - Leha and another game about graph 思路:首先,如果所有点的度数加起来是奇数,且没有-1,那么是不可以的。 其他情况都可以构造,我们先dfs出一个生成树,然后从叶子节点开始往上处理 对于节点u和v,边u -> v,如果d[v]等于1,那么就要选这条边,d[u] 阅读全文
posted @ 2018-08-26 15:13 Wisdom+.+ 阅读(170) 评论(0) 推荐(0)
摘要:B - Diverging Directions 思路: 用dfs序+线段树维护子树中距离(从1到u,再从u到1)的最小值 代码: 阅读全文
posted @ 2018-08-24 16:57 Wisdom+.+ 阅读(221) 评论(0) 推荐(0)
摘要:思路: 首先,inedible tails 的个数最多为C(18+9,9)个(用隔板法),所以我们暴力出所有的 inedible tails,然后检查一下在[L, R]这段区间是否存在这个inedible tails 检查的时候用了和数位dp差不多的方法,设一个下界和上界,只要之前的既没有达到上界也 阅读全文
posted @ 2018-08-24 13:43 Wisdom+.+ 阅读(288) 评论(0) 推荐(0)
摘要:D - Distinctive Character 思路:bfs 使最大的匹配数最小,转换一下,就是使最小的不匹配数最大,用bfs找最大的距离 代码: 阅读全文
posted @ 2018-08-24 09:45 Wisdom+.+ 阅读(367) 评论(0) 推荐(0)
摘要:思路: 如果所有的图形都是三角形,那么答案是2*n+1 否则轮廓肯定触到了最上面,要使轮廓线最短,那么轮廓肯定是中间一段平的 我们考虑先将轮廓线赋为2*n+2,然后删去左右两边多余的部分 如果最左边或最由边是正方形,那么不需要删 如果最左边或最由边是圆形,那么删取2 - pi/2 如果如果最左边或最 阅读全文
posted @ 2018-08-23 17:29 Wisdom+.+ 阅读(205) 评论(0) 推荐(0)
摘要:C - DZY Loves Colors 思路: 分块,复杂度有点玄学,和普通分块不同的是在这个块被一次染色的时候暴力染整个块。 代码: 阅读全文
posted @ 2018-08-23 16:11 Wisdom+.+ 阅读(223) 评论(0) 推荐(0)
摘要:F - Xor-Path 思路: 双向搜索dfs 如果普通的搜索复杂度是n 那么双向搜索复杂度是√n 代码: 阅读全文
posted @ 2018-07-17 09:46 Wisdom+.+ 阅读(257) 评论(0) 推荐(0)
摘要:E - Number Clicker 思路:双向搜索 代码: 阅读全文
posted @ 2018-07-16 16:59 Wisdom+.+ 阅读(561) 评论(0) 推荐(0)
摘要:E - Lomsat gelral 思路1: 树上启发式合并 代码: 思路2: dfs序+分块 求区间众数和 代码: 阅读全文
posted @ 2018-07-16 15:50 Wisdom+.+ 阅读(196) 评论(0) 推荐(0)
摘要:F - Dominant Indices 思路:树上启发式合并 先跑轻子树,然后清除轻子树的信息 最后跑重子树,不清除信息 然后再跑一遍轻子树,重新加回轻子树的信息 由于一个节点到根节点最多有logn个轻边,所以复杂度为nlogn 代码: 阅读全文
posted @ 2018-07-16 15:16 Wisdom+.+ 阅读(726) 评论(0) 推荐(0)
摘要:C - Sky Full of Stars 思路: 容斥原理 题解:http://codeforces.com/blog/entry/60357 注意当i > 1 且 j > 1,是同一种颜色 代码: 阅读全文
posted @ 2018-07-13 17:38 Wisdom+.+ 阅读(233) 评论(0) 推荐(0)
摘要:E2 - Median on Segments (General Case Edition) 思路: 首先我们计算出solve(m):中位数大于等于m的方案数,那么最后答案就是solve(m) - solve(m+1) 那么怎么计算sovle(m)呢? 对于一个区间[l,r],如果它的中位数大于等于 阅读全文
posted @ 2018-07-10 17:19 Wisdom+.+ 阅读(711) 评论(0) 推荐(0)
摘要:F - Berland and the Shortest Paths 思路: bfs+dfs 首先,bfs找出1到其他点的最短路径大小dis[i] 然后对于2...n中的每个节点u,找到它所能改变的所有前驱(在保证最短路径不变的情况下),即找到v,使得dis[v] + 1 == dis[u],并把u 阅读全文
posted @ 2018-07-10 17:06 Wisdom+.+ 阅读(451) 评论(0) 推荐(0)
摘要:C - Two Squares 思路: 点积叉积应用 代码: 阅读全文
posted @ 2018-07-07 16:39 Wisdom+.+ 阅读(358) 评论(0) 推荐(0)
摘要:F - AND Graph 思路: 首先,x & (~x) == 0 其次,~x 的 子集 y = ((~x) ^ (1<<k)), 0<= k < n(如果k这一位是1),y&x == 0 所以枚举 a[i] ,如果a[i]每被标记,搜索 (~a[i])的子集, 子集的子集......,边搜索边标 阅读全文
posted @ 2018-06-01 15:26 Wisdom+.+ 阅读(274) 评论(0) 推荐(0)

上一页 1 2 3 4 5 6 ··· 10 下一页