題解
注意題目開 long long
貪心策略:**從低到高,買夠為止
反證:若剩下的有乙個k」,比k小,那麼交換,穩賺不賠
所以,在買k之前,所有比他便宜的都買完了
**
#include#include#include
#include
#include
#include
#include
#include
using
namespace
std;
#define ll long longinline ll read()
ll n,b,ans=0
;struct
node
candy[
100010
];bool
cmp(node x,node y)
intmain()
sort(candy+1,candy+n+1
,cmp);
for(ll i=1;i<=n;i++)
if(candy[i].cow <=b/candy[i].cost) //
直接乘起來會**
else
}printf(
"%lld
",ans);
return0;
}
洛谷 P2894 USACO08FEB 酒店
題目描述 用線段樹維護三個值 區間最長空位長度,從左端點可以延伸的最長空位長度,從右端點可以延伸的最長空位長度。include include using namespace std const int n 2e6 7 int n,m intlen n max n maxl n maxr n laz...
P2858 USACO06FEB 奶牛零食
約翰經常給產奶量高的奶牛發特殊津貼,於是很快奶牛們擁有了大筆不知該怎麼花的錢 為此,約翰購置了n 1 n 2000 份美味的零食來賣給奶牛們 每天約翰售出乙份零食 當然約翰希望這些零食全部售出後能得到最大的收益 這些零食有以下這些有趣的特性 零食按照1 n編號,它們被排成一列放在乙個很長的盒子裡 盒...
P1118 USACO06FEB 數字三角形
有這麼乙個遊戲 寫出乙個1 n的排列a i 然後每次將相鄰兩個數相加,構成新的序列,再對新序列進行這樣的操作,顯然每次構成的序列都比上一次的序列長度少1,直到只剩下乙個數字位置。下面是乙個例子 3 1 2 4 4 3 6 7 9 16 最後得到16這樣乙個數字。現在想要倒著玩這樣乙個遊戲,如果知道n...