這道題可以轉化為hash+差分序列模型,但我所要說的是在常數上的優化。
考慮轉化為差分序列時,我們在其左端點加上y-x,在右端點的下一位加上z-y;並且對於所有牛都是一樣的。所以我們交換兩個牛的右端點,對答案不會有任何影響。那麼我們乾脆就把左右端點分開來考慮好了。
有什麼好處?
考慮普通的hash,需要先排序再二分≈t(4nlog(2n)+9n);而根據上述思想,我們完全可以做到排序+線性掃瞄≈t(2nlogn+7n),可以大大削減常數。
寫的時候犯了一些錯誤:
①把y當z使了。。
②沒有把右端點+1
③沒有處理邊界。
④用乙個變數表示好多意思的時候,沒有分清其在某個時刻的意義到底是什麼。
#includeusing namespace std;
#include#include#include#include#includeint a[20001],b[20001];
char * ptr=(char *)malloc(300000);
inline void in(int &x)
int main(){
freopen("milktemp.in","r",stdin);freopen("milktemp.out","w",stdout);
int n,x,y,z,i;
fread(ptr,1,300000,stdin);
in(n),in(x),in(y),in(z);
for(i=n;i;--i)in(a[i]),in(b[i]),++b[i];
a[0]=a[n],b[0]=b[n];
sort(a,a+n),sort(b,b+n);
int now=x*n,ans=max(now,z*n),j=0,k;
z=z-y,y=y-x,i=0;
a[n]=-1,b[n]=-1;
while(i
①尋找題目中的等價關係往往能給我們一些優化。
②處理邊界的時候一定要頭腦清晰。
USACO NOV 金髮姑娘和N頭牛解題報告
你可能已經聽說了金髮姑娘和3隻熊的經典故事。鮮為人知的是,金髮姑娘最終經營了乙個農場。在她的農場,她有乙個穀倉含n頭奶牛 1 n 20000 不幸的是,她的奶牛對溫度相當敏感。第i頭奶牛必須在指定的溫度範圍內a i b i 才感覺舒適 0 a i b i 1,000,000,000 如果金髮姑娘在穀...
美國和中國老師講灰姑娘的故事
美國版 上課鈴響了,孩子們跑進教室,這節課老師要講的是 灰姑娘 的故事。老師先請乙個孩子上台給同學講一講這個故事。孩子很快講完了,老師對他表示了感謝,然後開始向全班提問。老師 你們喜歡故事裡面的哪乙個?不喜歡哪乙個?為什麼?學生 喜歡辛黛瑞拉 灰姑娘 還有王子,不喜歡她的後媽和後媽帶來的姐姐。辛黛瑞...
USACO 1 1 我的題解和程式
usaco這個東西,有很多大牛已經 通關 了,還有的大牛有三天做了兩大章的事蹟,像我這樣的小菜,就慢慢從1.1往後來吧 1.1.1 ride 這個是第一題,純水,但是因為不知道usaco對輸出的回車符敏感,必須用writeln,所以交了好多次才ac,唯一注意的是關於乘的變數別忘了初始化成1 prog...