
二分
Exception2017
OI总结
展开
-
快乐AK场2 D issue与lifehappy给学生分组 二分
链接:https://ac.nowcoder.com/acm/contest/11471/D来源:牛客网issue与lifehappy在给学生分组 现在他们手里有一组n分学生量化好的数据a 这份数据是一个数字,代表学生的大致实力他们要给学生分成m组并且要求总实力和的最大值最小(ccpc抢名额战略,分散一点)不过学生们已经拉帮结派的排好队了 所以 issue与lifehappy只能选取这组数据中的连续队列。题解:二分最大值,线性求分组,通过和m的比较判断变大还是变小。#include<bit原创 2021-01-23 20:48:13 · 141 阅读 · 0 评论 -
牛客练习赛76 E 牛牛数数 线性基 二分
原题:https://ac.nowcoder.com/acm/contest/10845/E题意:给任意n个数,求任意异或后有多少比K大。题解:我们刚刚学习过了线性基,考虑用线性基的知识,我们可以求出第k小数,不妨求出第一个比K大的数是多少位,显然这是有单调性的,直接二分就行了,注意到0时的问题。#include<bits/stdc++.h>using namespace std;typedef long long ll;ll b[100],v[100];int L,cnt,n;原创 2021-01-21 14:55:59 · 148 阅读 · 0 评论 -
noip2015 运输计划(二分+LCA+树上差分)
公元 2044 年,人类进入了宇宙纪元。L 国有 n个星球,还有 n-1条双向航道,每条航道建立在两个星球之间,这 n-1 条 航道连通了 L 国的所有星球。小 P 掌管一家物流公司,该公司有很多个运输计划,每个运输计划形如:有一艘物 流飞船需要从 ui 号星球沿最快的宇航路径飞行到 vi 号星球去。显然,飞船驶过一条航道是需要时间的,对于航道 j,任意飞船驶过它所花费的时间为 tj,并且任意...原创 2018-11-09 19:23:25 · 168 阅读 · 0 评论 -
poj1743 后缀数组+二分
原题:http://poj.org/problem?id=1743题解:求最长主旋律,主旋律的定义是 长度大于5,重复出现(只要差值一样就可以),不重叠。对输入做差,求主串的不重叠子串的最大长度。很容易想到后缀数组求子串,同时二分主旋律的长度,检查是否有不重叠的子串就可以。二分L,凭借L可以将h[i]>=L,分成几组,h[i]<L求是这几组的分界线,如图(出自论文)判断 sa[i]...原创 2019-02-12 22:19:28 · 203 阅读 · 0 评论 -
[HEOI2016/TJOI2016]排序 二分+线段树 || 80分的桶排序
原题:https://www.luogu.org/problemnew/show/P2824题解:两种操作,区间升序,降序排序。先写一种暴力的桶排序,每次排序的时间复杂度为O(n)。原理和基数排序类似,开一个桶(数组),扫一遍区间在对应的下标+1,然后在从前往后(后往前查)一遍就行了,只用扫两遍就行了,比快排还快。80分的桶排序。#include<cstdio>#inc...原创 2019-03-15 21:47:01 · 153 阅读 · 0 评论 -
[SDOI2010]粟粟的书架 主席树+二分+dp
原题:https://www.luogu.org/problemnew/show/P2468题解:题目的意思是在子矩阵中选出最小的数量,使这些数的和大于等于h。注意到有一半的数据明显不同,先考虑50分,暴力的做法是将这些数排序,从大往小选,但这样显然不行。注意到pi.j并不大,考虑dp的思想,val[i][j][k]表示(1,1)-(i,j)的矩阵所有大于等于k的数的和,num[i][j][k...原创 2019-04-05 21:23:23 · 137 阅读 · 0 评论 -
CF484E Sign on Fence 主席树+二分
原题:http://codeforces.com/contest/484/problem/E题解:要求[l,r]中长度为k的子序列最小值最大。通过分析可以发现,k长的子序列不好求,类似于TJOI2016排序的那一题,二分一个值mid,将所有大于等于mid的都给1,其余都给0,只要查询给定区间最长连读1的长度就好了。尝试用一下线段树,需要对每一个值都建一颗线段树,同时还要不停的修改,这样显然是不...原创 2019-04-20 21:52:50 · 239 阅读 · 0 评论 -
[TJOI2017]不勤劳的图书管理员 数列分块+二分
原题:https://loj.ac/problem/2639题解:就是求动态逆序对的和。考虑暴力的方法,对于区间[L,R] 把[L+1.R-1]的元素和L,R比,其实就是要求[L+1,R-1]中所有大于L的和,所有小于L的和,很容易想到数列分块,把每一个块排序,二分查找求和。要注意不要用STL,注意常数优化。#include<bits/stdc++.h>#define ll...原创 2019-04-26 19:09:18 · 174 阅读 · 0 评论 -
[TJOI2017]DNA 哈希+二分
原题:https://www.luogu.org/problemnew/show/P3763题解:要把第二条串和第一条串匹配,可以有三个不一样的。首先考虑暴力的方法,一个一个查,就是要找出S,T串的lcp,如果不行的话就要跳过在查后面一段的。那么这道题就转化为如何求出S,T上某一段的lcp。当然有很多办法,最简单的肯定是哈希了。通过哈希可以判断字符串是否是一样的,再配合二分找出最长的相同的长度...原创 2019-04-27 11:56:23 · 178 阅读 · 0 评论