構造相鄰的兩頭牛,看能不能貪心,且看需要滿足什麼條件的時候才能貪心。
設有相鄰的兩頭牛a,b,來討論一下在滿足什麼條件的的情況下a放在b上面比b放在a上面更優:
設放在a,b上面的牛的總重為w
i:a放在b上面
a的壓扁值:w-sa
b的壓扁值:w+wa-sb
ii:b放在a上面
a的壓扁值:w+wb-sa
b的壓扁值:w-sb
要使a放在b上面比b放在a上面更優,
則max(w-sa,w+wa-sb,) < max(w+wb-sa,w-sb);
易證w-sa < w+wb-sa,w-sb那就轉化成了使w+wa-sbwa+sa < wb+sb
綜上,當滿足這個條件的時候,a放在b上面比b放在a上面更優;
那麼我們以wi+si為關鍵字從小到大排序,(此時已經確立各奶牛的位置),那我們從上到下利用字首和掃一遍最小的壓扁值就好啦。
int n,m;
const int n=5e4+10;
struct nainiu
}cow[n];
#undef int
int main()
sort(cow+1,cow+n+1);
int sum=0,ans=int_min;
rep(i,1,n)
printf("%d",ans);
return 0;
}
P1842 奶牛玩雜技
題目鏈結 這道題目知道結論是比較好寫的,關鍵是結論是怎樣推出來的。我們先只考慮相鄰的兩個奶牛,設這兩個奶牛為 a 和 b 這兩個奶牛上面的奶牛總重量為 w 所以我們考慮 a 在上面的情況和 b 在上面的情況。a 在上面的情況 a 的壓扁指數為 w s a b 的壓扁指數為 w w a s b b 在...
luoguP1842奶牛玩雜技
解決方案 1.貪心 不像是能用動歸做 2.以什麼來貪心呢 3.重量,顯然不行 4.力量也不行 5.猜測 與重量和力量都有關,再分析樣例,發現是重量 力量 6.證明 設有a和b兩頭相鄰的牛 a在下,b在上 7.若wa sa8.交換a和b位置,設b上方牛總體重為w 9.a原 w wb sa b原 w s...
洛谷 P1842 進擊的奶牛 二分法
題目描述 farmer john建造了乙個有n 2 n 100,000 個隔間的牛棚,這些隔間分布在一條直線上,座標是x1,xn 0 xi 1,000,000,000 他的c 2 c n 頭牛不滿於隔間的位置分布,它們為牛棚裡其他的牛的存在而憤怒。為了防止牛之間的互相打鬥,farmer john想把...