USACO NOV 金髮姑娘和N頭牛解題報告

2021-08-07 18:21:24 字數 1438 閱讀 1046

你可能已經聽說了金髮姑娘和3隻熊的經典故事。

鮮為人知的是,金髮姑娘最終經營了乙個農場。在她的農場,她有乙個穀倉含n頭奶牛(1<=n <= 20000)。不幸的是,她的奶牛對溫度相當敏感。

第i頭奶牛必須在指定的溫度範圍內a(i)..b(i)才感覺舒適;(0<=a(i)<=b(i)<= 1,000,000,000)。如果金髮姑娘在穀倉放置乙個溫控器;如果溫度tb(i),牛會感覺很熱,並將產生的z單位牛奶。正如預期的那樣,y的值總是大於x和z。

給定的x,y,和z,以及每個牛的溫度的最佳範圍,如果金髮姑娘設定穀倉的溫控器最佳,請計算金髮姑娘得到牛奶的最大數量,已知x,y和z都是整數,範圍0..1000。溫控器可以設定為任意整數的值。

第1行:四個用空格隔開的整數:n x y z。

第2行..1 + n:行1+i包含兩個用空格隔開的整數:a(i)和b(i)。

1行:金髮姑娘最多可以獲得的牛奶,當她在穀倉的最佳溫度設定。

4 7 9 6

5 83 4

13 20

7 10

31
在農場裡有4頭奶牛,溫度範圍5..8,3..4,13..20,10..7。乙個寒冷的奶牛生產7單位的牛奶,乙個舒適的奶牛生產9個單位的牛奶,乙個熱牛生產6單位牛奶。

50%的測試資料:n<=5

usaco 2013 november contest, bronze

translate by cqw

data from cstdio

題解:將左右端點離散化 用三個陣列差分 分別維護小於 在區間裡 大於 的數量 計算答案

**:

#include #include #include #include using namespace std;

const int maxn=50000+10;

int a[maxn],b[maxn],c[maxn];

struct ta[maxn];

int hash[maxn];

int b[maxn];

int tot=0,to=0;

inline int bs(int x)

if(hash[l]==x)

return l;

return r;

}int main()

sort(b+1,b+to+1);

hash[++tot]=b[1];

for(int i=2;i<=to;i++)

if(b[i]!=b[i-1])

hash[++tot]=b[i];

for(int i=1;i<=n;i++)

int xnum=n,ynum=0,znum=0;

int ans=0;

for(int i=1;i<=tot;i++)

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

return 0;

}

USACO 金髮姑娘和N頭牛 解題報告

這道題可以轉化為hash 差分序列模型,但我所要說的是在常數上的優化。考慮轉化為差分序列時,我們在其左端點加上y x,在右端點的下一位加上z y 並且對於所有牛都是一樣的。所以我們交換兩個牛的右端點,對答案不會有任何影響。那麼我們乾脆就把左右端點分開來考慮好了。有什麼好處?考慮普通的hash,需要先...

美國和中國老師講灰姑娘的故事

美國版 上課鈴響了,孩子們跑進教室,這節課老師要講的是 灰姑娘 的故事。老師先請乙個孩子上台給同學講一講這個故事。孩子很快講完了,老師對他表示了感謝,然後開始向全班提問。老師 你們喜歡故事裡面的哪乙個?不喜歡哪乙個?為什麼?學生 喜歡辛黛瑞拉 灰姑娘 還有王子,不喜歡她的後媽和後媽帶來的姐姐。辛黛瑞...

美國和中國老師講灰姑娘的故事的區別

美國 中國 版上課鈴響,學生,老師進教室。老師 今天上課,我們講灰姑娘的故事。大家都預習了嗎?學生 這還要預習?老得掉渣了。老師 灰姑娘?是 童話還是安徒生童話?他的作者是誰?哪年出生?作者生平事蹟如何?學生 書上不都寫了嗎?不會自己看啊?老師 這故事的重大意義是什麼?學生 得,這肯定要考的了。老師...