需要注意的點是:
1.如何表示這些票發給了某人(開始我想的是用陣列,然後陣列下標代表人,陣列中存票數,不過這裡資料量太大,不可)。
2.通過奇,偶性來知道要找的人在那個區間。
3.如何定義較大的資料變數。
4.二分搜尋結束後,想找的人如何表示
#include#include#includeusing namespace std;
int n;
long long a[200001], b[200001], c[200001];
long long cal(long long mid)
return sum;
}void solve()
if(l == 1ll << 31)//找完也沒有
else{
while(cal(r)%2 == 0) r++;//因為r和l交錯後迴圈結束,所以向右尋找合適的r(也可向左尋找合適的l)
cout<
CODEVS 4768 跳石頭 二分
跳石頭更新嘍 2017.10.13 題目描述 description 一年一度的 跳石頭 比賽又要開始了!這項比賽將在一條筆直的河道中進行,河道中分布著一些巨大岩石。組委會已經選擇好了兩塊岩石作為比賽起點和終點。在起點和終點之間,有n塊岩石 不含起點和終點的岩石 在比賽過程中,選手們將從起點出發,每...
Code vs 4768 跳石頭 二分答案
一年一度的 跳石頭 比賽又要開始了!這項比賽將在一條筆直的河道中進行,河道中分布著一些巨大岩石。組委會已經選擇好了兩塊岩石作為比賽起點和終點。在起點和終點之間,有n塊岩石 不含起點和終點的岩石 在比賽過程中,選手們將從起點出發,每一步跳向相鄰的岩石,直至到達終點。為了提高比賽難度,組委會計畫移走一些...
二分搜素演算法
二分搜尋演算法的三種情況 推薦部落格,真的寫的非常好!1 當陣列中沒有重複元素時 public int binarysearchimplement int array,int target else if array mid target else if flag return index else...