lower_bound這個函式是從已經排好序的序列a中利用二分搜尋找出指向滿足ai >= k的ai的最小的指標,注意是指標。upper_bound函式類似,就是求出滿足ai > k的ai的最小的指標。
#include
#include
using
namespace
std;
int a[100];
int main()
sort(a, a+k);
printf("輸入查詢的數:\n");
int t;
scanf("%d",&t);
printf("lower_bound:%d\n",lower_bound(a, a+k, t)-a);
printf("upper_bound:%d\n",upper_bound(a, a+k, t)-a);
return
0;}
因為lower_bound函式是查詢 ai >= k 的最小的指標。
而upper_bound函式是查詢ai > k的最小的指標,那麼就可以通過這個差異求出序列a中k的個數:
upper_bound(a, a+n, k) - lower_bound(a, a+n, k)
m為放置的個數
bool c(int d)
if(crt == n) return false;
last = crt;
}return true;
}
bool c(double d)
return
sum >= 0;
}
bool c(int d)
if(cnt >= m) return
true;
else
return
false;
}
類似這種二分套二分的思想,二分第k大的值統計<=k的個數,與k相比較來縮小範圍。 2023年暑假ACM集訓日誌
hdu1074,hdu1087,hdu1114,hdu1159,hdu1160,hdu1171,hdu1176,hdu1010,hdu1203 hdu1231,hdu1257,hdu1260,hdu1284,hdu1421,hdu1789,hdu1978,hdu2059,hdu2084 hdu215...
ACM常用模板 數論
一 全排列 設一組數p 全排列為perm p pn p 則perm p r1perm p1 r2perm p2 r3perm p3 rnperm pn 當n 1時perm p r1。如 求的全排列 1 首先看最後兩個數4,5。它們的全排列為4 5和5 4,即以4開頭的5的全排列和以5開頭的4的全排列...
ACM常用模板套用
常規法返回的型別是bool型,時間複雜度是o sqrt n bool isprime int x return true 尤拉篩法 時間複雜度最小o n 數開的過大也會tl。呼叫函式 prime max 可以求max以內的素數,存放在陣列primenum 裡。陣列num 裡,值等於0代表下標是素數 ...