解題思路:一道非常有趣的數學題。
首先可以得出門票的收益=x*(ai-bi*x,0); 如果列舉每個可能的x的話肯定會超時。我們觀察式子 -b*x*x+a*x 發現是個二次函式,那它一定有最高點,即x的最大範圍,因為x必須取整數,這裡的技巧是max+0.5取整。
並且二次函式還有單調性。因為x必須為整數,我們可以將從0到最大的x區間化為[0,1].[1,2],[2,3]….幾段區間,因為區間每段區間獲得的收益是遞減的,我們可以用堆來維護。
首先先將每個景點的票的[0,1]段壓入堆中,但是可能有某些個景點的[1,2]段…等會比其他景點的[0,1]段最優,所以要逐個驗證。
#include
#include
#include
#include
#define pr pair
using
namespace
std;
priority_queueq;
int n,k,cnt;
long
long maxx[100005],a[100005],b[100005],last[100005],t[100005];
long
long big(int x)
void work()
cout
}int main()
work();
return
0;}
洛谷P5049 洛谷P5022 題解 旅行
原題 資料加強版 加強版 參考你谷題解 終於調過了 又是一如既往的申必錯誤 noi plus石錘了 原題的資料允許我們 o n 2 暴力斷邊,但是加強版的資料達到了 n log n 級別,我們必須在斷邊這一環節尋求更好的解法。考慮我們進入環後在何處回溯 根據繼續走環走到的點分類 設當前已經從 b 走...
洛谷練習P2279 P1346
2020年,人類在火星上建立了乙個龐大的基地群,總共有n個基地。起初為了節約材料,人類只修建了n 1條道路來連線這些基地,並且每兩個基地都能夠通過道路到達,所以所有的基地形成了乙個巨大的樹狀結構。如果基地a到基地b至少要經過d條道路的話,我們稱基地a到基地b的距離為d。由於火星上非常乾燥,經常引發火...
洛谷 P1396 營救
題目描述 咚咚咚 查水表!原來是查水表來了,現在 找這麼熱心上門的查表員啊!小明感動的熱淚盈眶,開起了門 媽媽下班回家,街坊鄰居說小明被一群陌生人強行押上了警車!媽媽豐富的經驗告訴她小明被帶到了t區,而自己在s區。該市有m條大道連線n個區,一條大道將兩個區相連線,每個大道有乙個擁擠度。小明的媽媽雖然...