二分乙個答案,然後做一做字首和,用滿足區間大小的最小值減一減,判斷答案合不合法
然而還要輸出乙個最小的區間 太毒瘤了
但其實最後答案中最小區間的端點就只能是剛才做的那個最小值,因為如果不是最小值,那這個答案一定不是最優的
然後再隨便對比一下就完事了
(感覺什麼都沒說清,看**吧**好看**也不好看)
1 #include2#define pa pair3
#define ll long long
4using
namespace
std;
5const
int maxn=1e6+5;6
7inline ll rd()
10while(c>='
0'&&c<='
9') x=x*10+c-'
0',c=getchar();
11return x*neg;12}
1314
intn,k,ma,mi,num[maxn];
15double
sum[maxn];
1617 inline bool judge(int &x,int &y,double
r)26 }if(re) x=a+1,y=b;
27return
re;28}29
30int
main()printf("
%d %d %.4f
",a,b,l);
40return0;
41 }
二分查詢 二分區間 快速冪(二分冪)
include include using namespace std 二分查詢 初始區間 0,n 1 intbinarysearch int a,int left,int right,int x else return 1 二分 找出元素的區間左閉右開 初始區間 0,n intlower boun...
考前看 57 插入區間 二分 區間合併
解題思路 利用二分法找到合適的位置插入區間 1.列舉特殊情況 插入最左端和插入最右端 2.找到第乙個區間,使得區間的右端點大於目標區間的左端點 3.找到第二個區間,使得區間的右端點大於目標區間的右端點 4.處理一種特殊情況,就是這個區間單獨成為區間段,不與其他區間合併 class solution ...
hdu 5875(ST 二分區間)
題意 給乙個序列,有n個數字和m次詢問。每次詢問給乙個區間,問這個區間從l開始一直對l後面的陣列取模,一直到r。分析 乙個較小的數字對乙個較大的數字取模,值不發生改變。所以每次只要找最近的比自己小的數字取模更新答案即可。用rmq維護區間最小值。每次查詢乙個區間就在這個區間內進行二分。如果左區間有比l...