NOIp複習計畫 二分答案

2021-09-30 14:08:52 字數 2319 閱讀 3438

[bzoj 1614] [usaco2007 jan]telephone lines架設**線

二分答案,把小於k的設成0否則為1,然後spfa判斷。

#include

using namespace std;

const int maxn = 20005;

int h[maxn],to[maxn<<1],nx[maxn<<1],v[maxn<<1],tot;

int n,p,k,v2[maxn<<1],d[maxn];

intq[maxn<<2],l,r;

bool inq[maxn];

void ins(int a,int b,int c)

int spfa(int

x)else

}l=r=0;

memset(d,0x3f,sizeof d);

q[r++]=1;d[1]=0;inq[1]=1;

while(l!=r)}}

inq[t]=0;

}if(d[n]==0x3f3f3f3f)

return d[n]<=k;

}int main()

int l=0,r=0x3f3f3f3f,ans=0;

while(l<=r)else

if(rt==0)else

}printf("%d",ans);

return

0;}

[luogu 1850]借教室

二分答案,然後用差分數列維護區間加減,檢驗是否有負數o(n),總複雜度o(nlgm)

#include

using

namespace

std;

const

int maxn = 1000006;

typedef

long

long ll;

int read()

while(ch>='0'&&ch<='9')

return rt*fl;

}int n,m,data[maxn];

struct persondata2[maxn];

ll divid[maxn];

bool check()

return0;}

int main()

int l=1,r=m,pr=0,ans=0;

while(l<=r)while(prwhile(pr>mid)

if(check())else

}if(ans==0)puts("0");

else

printf("-1\n%d",ans);

return

0;}

[bzoj 3695]滑行

根據費馬原理,延光的折射的路線時間最短,這樣我們可以二分最開始的角度,根據折射定律計算每次跨越矩形的角度,注意折射角的定義。

折射定律si

nα:v

α=si

nβ:v

β

#include

using

namespace

std;

const

int maxn = 150;

const

double eps = 1e-12;

const

double pi = acos(-1);

double h[maxn],v[maxn];

int n,x;

double ans,buf;

bool check(double alphi)

// coutreturn sum<=x;

}int main()else

}printf("%.3lf",buf);

return

0;}



[bzoj 1699][usaco2006 oct]hungry cows飢餓的奶牛

裸題,沒啥好說的

#include

using

namespace

std;

const

int maxn = 5005;

int n,data[maxn],ans2,arr[maxn],maxval=0;

int find(int l,int r,int val)

int ans=0;

while(l<=r)else

}return ans;

}int main()

printf("%d",ans2);

return

0;}

to be continued……

NOIP2015運輸計畫(二分答案)

公元2044年,人類進入了宇宙紀元。l國有n個星球,還有n 1條雙向航道,每條航道建立在兩個星球之間,這n 1條航道連通了l國的所有星球。小p掌管一家物流公司,該公司有很多個運輸計畫,每個運輸計畫形如 有一艘物流飛船需要從ui號星球沿最快的宇航路徑飛行到vi號星球去。顯然,飛船駛過一條航道是需要時間...

二分答案 收入計畫

問題描述 高考結束後,同學們大都找到了乙份臨時工作,渴望掙得一些零用錢。從今天起,matrix67將連續工作n天。每一天末他可以領取當天及前面若干天裡沒有領取的工資,但他總共只有m次領取工資的機會。matrix67已經知道了在接下來的這n天裡每一天他可以賺多少錢。為了避免自己濫用零花錢,他希望知道如...

樹鏈剖分 複習計畫

應用 一.解題思路 該題需要考慮每條邊給答案帶來的貢獻,通過簡單的畫圖和思考我們可以發現,當乙個節點下有偶數個葉子節點時,該節點到父親節點的邊的貢獻為2,若為奇數則為1,那麼最後的答案為n 2 sig ma d u i mod2 0 n 2 sigma du i mod 2 0 n 2 si gma...