二分
Self-Discipline
在校大学生
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
第k大数 两个数组元素相乘后的第k大
分析:二分,两边夹,细节见代码。(复杂度为O(2nlog(maxa*maxb))) 代码一: #include <cstdio> #include <cstring> #include <algorithm> #include <iostream> using namespace std; typedef long long LL; cons...原创 2018-06-30 22:36:54 · 1657 阅读 · 0 评论 -
CodeForces 981F Round Marriage(二分答案+贪心)
F. Round Marriage time limit per test:3 seconds memory limit per test:256 megabytes input:standard input output:standard output It's marriage season in Ringland! Ringland has a form of a circ...转载 2018-07-01 11:18:10 · 485 阅读 · 1 评论 -
牛客网暑期ACM多校训练营(第五场)A. gpa
题目:点击打开链接 题意:删掉k个s[i]和对应的c[i],使得最大,输出最大值。 分析:01分数规划问题,二分答案。入门可参考https://blog.csdn.net/Bet_C_R/article/details/78154319 代码: #pragma comment(linker, "/STACK:102400000,102400000")///手动扩栈 #include<...原创 2018-08-02 21:29:12 · 327 阅读 · 0 评论 -
ACM-ICPC 2018 焦作赛区网络预赛 J
题目:点击打开链接 题意: (bzoj1213原题)让你分别判断n或(n-1)*n/2是否是完全平方数。 分析:二分即可,或者(牛顿迭代法求平方根),本质都是一样的,都是二分的思想,很久没写Java了,手生了。 代码: import java.util.Scanner; import java.math.BigInteger; class Main { public stati...原创 2018-09-15 23:16:46 · 434 阅读 · 3 评论 -
hdu-5289
题目:点击打开链接 题意:给出一个数列,问其中存在多少连续子序列,子序列的最大值-最小值< k 。 分析: 解法一:二分+RMQ,枚举左端点,RMQ预处理(st表),二分找到每个左端点满足条件的右界。 解法二:单调队列,维护两个单调队列,一个单调递增,一个单调递减,双指针,第一个第二个指针初始指向第一个数据,第一个指针按顺序不断向队尾添加数据,当最大值最小值的差大于等于k后,就意味着新添...原创 2018-10-28 15:11:50 · 530 阅读 · 0 评论 -
HDU 6231
题意:给你数列A,对于A的每一个区间,求第K大,插入到数列B中,最后再求数列B的第M大。 解题思路:二分+尺取。对于当前答案,如果当前答案作为第K大的区间的总数大于M,则实际答案要比当前答案大,反之则小。统计答案作为第K大的区间个数用尺取,注意尺取法的细节问题。 代码: #include<bits/stdc++.h> using namespace std; typedef l...原创 2019-05-21 21:48:27 · 349 阅读 · 0 评论 -
HDU 6241 Color a Tree
题意:给你一棵树,然后让你对树上的节点进行黑白染色。然后染色有一些要求,对于A类要求,要求在x的子树中,至少有y个节点被染成了黑色;对于B类要求,要求在树的所有节点除了x以及其子树节点外,至少有y个节点被染成了黑色。初始状态树是白色的,现在问你,最少给多少个节点染成黑色之后,能够满足所有的A、B类要求。 思路:二分最后的染成黑色的节点数目,然后判定这个答案是否可行。对于A类要求,相当于直接对节点...原创 2019-05-22 11:37:12 · 446 阅读 · 0 评论 -
LA 3268 Jamie's Contact Groups 二分+最大流
题意:给出n个人和m个分组,每个人可以属于很多组,现在要求给出一组分组方案,使得分组后的结果中最大组尽量小,输出最后最大组中的人数。 思路:从源点S连接一条弧到n个人,流量为1,代表每个人只能有一个选择,然后把每个人连接一条弧到这个人所属的组,流量为1,然后二分答案flow,把每个组引出一条弧到汇点T,流量为flow,表示最大组人数为flow,求最大流,如果最大流等于n,表示当前最少人数是小于或...原创 2019-06-07 08:59:04 · 2345 阅读 · 0 评论 -
POJ3662 Telephone Lines(二分+最短路)
题意:求一条路径从1到n使第k+1大的边最小。 分析:双端队列BFS,详见《算法竞赛进阶指南》P356、P120。 代码: #include <deque> #include <cstdio> #include <cstring> #include <iostream> #include <algorithm> using nam...原创 2019-07-29 20:44:39 · 198 阅读 · 0 评论 -
hdu5726 GCD(倍增+二分or线段树+预处理)
题意:给你n个数a1,a2,a3...an(n<=1e5,1<=ai<=1e9),给你q个询问[l,r]。问你gcd(al,al+1,al+2...ar)为多少?再问你有多少个pair(l',r')(1<=l'<=r'<=n)使得gcd(al',al'+1...ar')与gcd(al,al+1,al+2...ar)为多少? 分析: 方法一:倍增+二分。先rmq...原创 2019-08-03 21:26:03 · 286 阅读 · 0 评论 -
HDU6621 K-th Closest Distance 第 k 小绝对值(主席树 + 二分)
题意:给一个数组,每次给 l ,r, p, k,问区间 [l, r] 的数与 p 作差的绝对值的第 k 小,这个绝对值是多少。 分析:二分答案ans,然后从主席树中查询[p - ans, p + ans]的区间和是否大于等于k即可。这里用的是动态开点的写法。 代码(by许): #include<bits/stdc++.h> using namespace std; const ...原创 2019-08-01 09:47:10 · 652 阅读 · 6 评论 -
Codeforces 749D Leaving Auction(set+二分)
题意:有几个人在拍卖场竞价,一共有n次喊价,有q个询问,每一个询问有一个num,接下来num个人从这次拍卖中除去,问对于每一个询问减掉num个人后是谁赢了拍卖,最小的价格是多少。 分析:完了,水题都做不动了。。。对于每个人用 set(S) 装起来其每次喊价的下标,然后用一个数组order按价格从大到小的顺序将每个人装起来,对于每一个询问,把这num个人丢到另一个 set(s)里面,然后在orde...原创 2019-08-11 00:11:53 · 208 阅读 · 0 评论
分享