+++二分查找
ramay7
Life is not short,but float.
展开
-
UVALive 7009 Secret Binary Tree(二分查找、dfs)
题目链接: UVALive 7009 Secret Binary Tree 分析: 先用dfs把所有可能的构造方案都处理出来,然后用二分查找处理出s[i],排序。 要想使的secret number最小,一定是将比较大的数放在完全二叉树的最下层,将小的数放在完全二叉树的倒数第二层。#include <iostream>#include <cstdio>#include <cstring>原创 2016-05-01 17:16:34 · 533 阅读 · 0 评论 -
POJ 2533 Longest Ordered Subsequence(最长上升子序列长度、O(nlogn))
题目链接: POJ 2533 Longest Ordered Subsequence 题意; 求最长上升子序列长度。 数据范围:n≤1000n\leq 1000 分析: 直接用O(nlog(n))O(nlog(n))的方法,在数组中二分查找并替换,使得最长上升子序列的“潜力”更大。#include <iostream>#include <cstdio>#include <cstrin原创 2016-07-20 23:30:14 · 474 阅读 · 0 评论 -
UVALive 6694 - Toy Boxes(思维+二分)
题目链接: UVALive 6694 - Toy Boxes 题意: 有nn个物品,需要分在三个箱子里,每个箱子的花费是(箱子中物品个数∗箱子中物品的总重量(箱子中物品个数*箱子中物品的总重量(箱子重量忽略不计),求总花费最少是多少?(n≤20000,每个物品的重量≤1000)(n \leq 20000,每个物品的重量\leq 1000) 分析: 先考虑将其分为两堆的情况。我们需要证明一个原创 2016-07-02 10:13:59 · 891 阅读 · 0 评论 -
LightOJ 1138 Trailing Zeroes (III)(二分)
题目链接: LightOJ 1138 Trailing Zeroes (III) 题意: 求最小的自然数n使得n的阶乘结果以Q个0结尾。如果不存在这样的数输出impossible。 1<= Q <= 1e8. 分析: 首先如果存在解的话,n一定是5的倍数。 5的阶乘后面有1个0; 10的阶乘后面有2个0; 15的阶乘后面有3个0; 20的阶乘后面有4个0; 25的阶乘后面有6个原创 2016-05-22 22:45:25 · 433 阅读 · 0 评论 -
UVA 11865 Stream My Contest(最小树形图+二分)
题目链接: UVA 11865 Stream My Contest 题意: 有n个点编号为0–n-1,0为根节点,m条有向边,u,v,w,val表示从u到v的花费是w,可以传输数据的带宽是val, 每个点只可以从指向它的边中选择一个带宽(带宽不可以叠加),一张连通图的带宽是所有连通边中的最小带宽。 问在总花费不超过C的条件下,将n个点连通的最大带宽?如果无法连通输出”streaming n原创 2016-05-21 21:41:30 · 531 阅读 · 0 评论 -
UVALive 6442 Coins on a Ring(二分查找答案)
题目链接: UVALive 6442 Coins on a Ring 题意: 一个圆环上有n个位置,编号为0–n-1,已知存在m个点,需要移动这些点使得这些点两两间隔距离为n/m,输入保证m是n的因数,问最移动每个点的最大步数的最小值是多少?即在所有可行方案中,第i个方案有一个单点移动最大值move_max[i],需要知道min(move_max[i])。 分析: 因为数据范围是n<=1原创 2016-04-24 17:38:36 · 451 阅读 · 0 评论 -
Codeforces #591 D Chip 'n Dale Rescue Rangers(二分查找/转换参考系)
题目链接: Codeforces #591 D Chip ‘n Dale Rescue Rangers 题意: 需要从(px1,py1)开飞船到达(px2,py2),在前t时间风速是(vx1,vy1)(x方向和y方向速度),之后的风速是(vx2,vy2).飞船的最大允许速度是vmax(vmax严格大于风速),问最少需要多少时间从(px1,py1)到达(vx2,vy2)? 分析: 首先飞船原创 2016-04-24 15:26:12 · 506 阅读 · 0 评论 -
HDU 3264 Open-air shopping malls(二分查找)
题目链接: HDU 3264 Open-air shopping malls 题意: 给出n个圆的圆心和半径,以这些圆的某个圆圆心为圆心画一个半斤为R的圆,使得这个半径为R的圆覆盖这n个圆每个圆的面积至少一半,求出最少的R. n<=20. 分析: 枚举圆心,二分查找最小半径。#include <iostream>#include <cstdio>#include <cstring>原创 2016-05-15 20:25:44 · 521 阅读 · 0 评论 -
BestCoder #83 1003 zxa and leaf(二分查找/BFS)
题目链接: BestCoder #83 1003 zxa and leaf 题意: zxa有一棵含有nn个节点的无根树,包含(n-1)条无向边,点从1到n编号,定义每个点的度数为与这个点相连的边的数量,度数为1的节点被称作这棵树的叶子节点。 zxa想给每个节点设置它的好看度,好看度必须为正整数。他的无根树有m(1≤m≤n)个叶子节点,其中的k(1≤k≤m)个叶子节点的好看度已经确定,zxa只原创 2016-05-15 02:42:42 · 560 阅读 · 0 评论 -
Codeforces #352 Div2 D Robin Hood(二分查找)
题目链接: Codeforces #352 Div2 D Robin Hood 题意: 给出n个数,每次可以将最大数-1,最小数+1,问K次后最大数和最小数之差? 分析: 二分查找k次最大数的最小值y和最小数的最大值x. 如果x>=y并且这些数的和sum能被n整除则ans为0; 如果x>=y并且这些数的和sum不能被n整除则ans为1. 否则(x#include <iostream>原创 2016-05-12 23:20:52 · 490 阅读 · 0 评论 -
UVALive 3675 Sorted bit sequence(数位dp+二分)
题目链接UVALive 3675 Sorted bit sequence题意将区间[L,R][L,R]内的所有整数按照其二进制表示中1 的数量从小到大排序。如果 1 的数量 相同,则按照数的大小排序。求这个序列中的第KK个数。其中,负数使用补码来表示:一个负数的二进制表示与其相反数的二进制之和恰好等于2322^{32}。 数据规模:L×R≥0,−231≤L≤R≤231−1,1≤K≤min(R−L+原创 2016-09-02 23:50:57 · 703 阅读 · 0 评论