
二分
garett.
这个作者很懒,什么都没留下…
展开
-
[LeetCode] 求出 MK 平均值 树状数组+二分
题目链接:求出MK平均值 题面: 思路: 起初看到题目,觉得难以下手(我太菜了T^T),后面看到num最大只有1e5,便想到根据num的值域建立树状数组...详情请看代码。 class MKAverage { public BIT bit; //维护数字的个数 public BIT sum; //维护数字的和 public ArrayList<Integer> buf; public int m; public int k;原创 2021-04-11 14:23:13 · 216 阅读 · 0 评论 -
[LeetCode] 子数组中占绝大多数的元素 线段树+二分+摩尔投票法(Python语言实现)
题面: 思路: 首先介绍一下摩尔投票法: 以上截取自博客。我们可以发现摩尔投票法中每个区间记录的num(表示当前区间的绝对众数)和cnt(等于当前区间绝对众数出现次数减去其他数字出现的次数)是可以进行区间合并的,于是我们可以考虑用线段树来维护每个区间的num和cnt,然而这还不够,因为我们需要判断当前区间绝对众数的出现次数是否大于等于threshold,由于arr[i]<=20000,我们可以考虑使用20000个list记录下每个数字出现的下标(注意这是有序的),然后通过二分来计算出当前原创 2021-04-03 14:15:46 · 247 阅读 · 1 评论 -
[codeforces] #608 div2 部分题解
A题: 签到。 public class Main { public static void main(String[] args) throws IOException { InputStream inputStream = System.in; OutputStream outputStream = System.out; Inpu...原创 2019-12-15 23:43:41 · 265 阅读 · 0 评论 -
[LeetCode] 第167场周赛题解
第一次进第一页QAQ,然而还是手慢,在第二题浪费了好久的时间。 第一题: public class Solution { public int getDecimalValue(ListNode head) { int ans=0; ListNode temp=head; while(temp!=null) { an...原创 2019-12-15 15:16:34 · 192 阅读 · 2 评论 -
[codeforces920G] 容斥+二分
题意:求出与p互质并且大于x的第k个数 思路:首先我们可以求出p的所有质因子,可以根据a/b表示[1,a]中以b为因子的数的个数,然后用这个通过容斥来求得[1,a]中与与p互质的数的个数,然后就可以愉快地二分了。 import java.io.OutputStream; import java.io.IOException; import java.io.InputStream; impor...原创 2019-11-25 11:39:29 · 164 阅读 · 0 评论