随笔分类 -  技巧 二分

摘要:链接: http://codeforces.com/contest/689/problem/D 题意: 给出两个数组,问有多少个区间l,r满足 题解: 先用st表预先处理任意一个区间的最值,然后枚举每个左端点,二分找到满足条件的最近和最远的右端点即可 代码: 阅读全文
posted @ 2017-08-17 11:58 Flowersea 阅读(193) 评论(1) 推荐(1)
摘要:链接: http://codeforces.com/contest/818/problem/E 题意: 给你n个数,问有多少个子串的乘积模k等于0 题解: 我们先用线段树保存每一段的乘积%k 然后枚举每一个位置i,二分找到最后一个pos,使得从pos到i之间的乘积能被k整除 这样从1到pos之间任意 阅读全文
posted @ 2017-08-14 17:28 Flowersea 阅读(121) 评论(0) 推荐(0)
摘要:链接: http://poj.org/problem?id=2773 题意: 给出两个数m,k,要求求出从1开始与m互质的第k个数。 题解: 二分一个答案mid,容斥统计出在区间[1,mid]中是m的质因子的倍数的数的个数ans,然后我们可以用mid-ans得到区间中有多少个与m互质的数,不断二分下 阅读全文
posted @ 2017-05-18 08:19 Flowersea 阅读(207) 评论(0) 推荐(0)
摘要:D. Alyona and a tree 链接: http://codeforces.com/contest/740/problem/D 题解: 对于在v的子树中的u,dis(u,v)其实就是dep[u]-dep[v]<=a[u],移一下就是dep[u]-a[u]<=dep[v], 那么直接dfs下 阅读全文
posted @ 2017-03-09 19:48 Flowersea 阅读(144) 评论(0) 推荐(0)
摘要:D. String Game 链接: http://codeforces.com/contest/779/problem/D 代码 : 阅读全文
posted @ 2017-02-26 20:03 Flowersea 阅读(260) 评论(0) 推荐(0)
摘要:C. Primes on Interval 链接: http://codeforces.com/contest/237/problem/C 代码: 阅读全文
posted @ 2017-02-23 12:37 Flowersea 阅读(233) 评论(0) 推荐(0)
摘要:D. Exams 链接: http://codeforces.com/contest/732/problem/D 题解: 二分答案,只需要判断能不能完成就行了, 判断的时候从后往前遍历,遇到的第一个考试时间就加入队列, 如果已经加入队列或者没有考试,就优先复习队列前面的课程, 最后判断一下是不是所有 阅读全文
posted @ 2016-10-18 19:00 Flowersea 阅读(229) 评论(0) 推荐(0)