题目链接: http://www.lightoj.com/volume_showproblem.php?problem=1088 题目描述: 给出一个n位数升序排列的数列,然后q个查询,每个查询问指定的区间覆盖了数列中几个数? 解题思路: 二分枚举区间的起始点和终点在数列中的位置. upper_bound() 返回数列中第一个大于所查询数的位置,或者没有大于所查询的数返回数列长度(越界) lower_bound()  返回数列中第一个等于或者大于所查询数的位置,或者没有等于,大于所查询数返回数列…
http://www.lightoj.com/volume_showproblem.php?problem=1088 题意:给出N个点,Q个查询,问在区间内的点数有多少个. 思路:直接在线二分,注意边界问题 /** @Date : 2016-12-17-19.03 * @Author : Lweleth (SoungEarlf@gmail.com) * @Link : https://github.com/ * @Version : */ #include<bits/stdc++.h> #de…
题目链接:http://www.lightoj.com/volume_showproblem.php?problem=1088 题意: 有一维的n个点和q条线段.询问每条线段上的点有多少个. 思路:寻找这些点中对于每条线段的上下界就可以. 代码: #include <stdio.h> #include <ctime> #include <math.h> #include <limits.h> #include <complex> #include…
http://www.lightoj.com/volume_showproblem.php?problem=1089 题意:给出许多区间,查询某个点所在的区间个数 思路:线段树,由于给出的是区间,查询的是点,考虑将其离线并离散化,普通线段树即可. /** @Date : 2016-12-17-20.49 * @Author : Lweleth (SoungEarlf@gmail.com) * @Link : https://github.com/ * @Version : */ #include…
题目大意:给n个0~m之间的数,如果是0,那么0可以变为任意的一个1~m之间的一个数.从中选出若干个数,使构成一个连续的序列.问能构成的最长序列的长度为多少? 题目分析:枚举连续序列的起点,二分枚举二分序列的终点. 代码如下; # include<iostream> # include<cstdio> # include<queue> # include<vector> # include<list> # include<map> #…
思路:维护一个森林,二分枚举最小的最大值. #include<set> #include<map> #include<cmath> #include<queue> #include<cstdio> #include<vector> #include<string> #include<cstdlib> #include<cstring> #include<iostream> #includ…
http://acm.sdibt.edu.cn/JudgeOnline/problem.php?id=3237 Problem H:Boring Counting Time Limit: 3 Sec  Memory Limit: 128 MB Submit: 8  Solved: 4 [Submit][Status][Discuss] Description In this problem you are given a number sequence P consisting of N int…
题目:http://poj.org/problem?id=3273 二分枚举,据说是经典题,看了题解才做的,暂时还没有完全理解.. #include <stdio.h> #include <string.h> int n, m; ]; bool judge(int x) { , cnt = ; ; i < n; i++) { if(money + a[i] <= x) money += a[i]; else { money = a[i]; cnt++; } } if(c…
题意:有K台挤奶机,C头奶牛,每个挤奶机每天只能为M头奶牛服务,下面给的K+C的矩阵,是形容相互之间的距离,求出来走最远的那头奶牛要走多远   输入数据: 第一行三个数 K, C, M  接下来是  (K+C)*(K+C)的矩阵 表示每个物体之间的距离, 0 表示两者之间是不通的. 挤奶机 1, 挤奶机2 .... 挤奶机 K, 奶牛1,奶牛2...奶牛M 题目思路: 对输入进来的数据先进行闭包传递,然后再对奶牛到挤奶机的距离进行二分枚举,枚举出来的值进行多重匹配 #include<stdio.…
Problem Description 给定序列A={A1,A2,...,An}, 要求改变序列A中的某些元素,形成一个严格单调的序列B(严格单调的定义为:Bi<Bi+,≤i<N). 我们定义从序列A到序列B变换的代价为cost(A,B)=max(|Ai−Bi|)(≤i≤N). 请求出满足条件的最小代价. 注意,每个元素在变换前后都是整数.   Input 第一行为测试的组数T(≤T≤). 对于每一组: 第一行为序列A的长度N(≤N≤),第二行包含N个数,A1,A2,...,An. 序列A中的…