題目
列舉票數,如果比當前票數大就收買,之後再遍歷一遍,如果超過當前的列舉就結束(比如你現在列舉到2,當前3票的人有三個,直接判斷答案),不足當前列舉的票數就補上。
//以為列舉的票數就是實際的票數,其實可能不止。。。。列舉的票數其實感覺更像是列舉層數,遍歷全部總會遍歷到臨界點
(唉,這種題做的還是少了,看了別人之後才知道怎麼列舉)
#define _crt_secure_no_warnings
#include
#include
#include
#include
#include
#include
#include
using namespace std;
#define ll long long
#define n 3010
int vis[n]
, f[n]
;struct node
w[n]
;bool cmp
(node a, node b)
int sum[n]
;int
main()
sort
(w +
1, w + n +
1, cmp)
;int k, n1 = n /2+
1, peo;
ll ans =
1e15
, c;
for(
int i =
0; i <= n1; i++)if
(sum[peo]
- f[peo]
> i)
}for
(int j =
1; j <= n; j++
) ans =
min(ans, c);}
cout << ans << endl;
return0;
}
有關10 20號codeforces的相關感悟
第一題boring apartments 大致是說資料的存入總是為x,xx,這樣,最多乙個數的組合有4項,給出乙個帶重合的數,依次求和 特別注意 不是求有多少個數,應是有幾位就加幾 於是 可以先求出前面出現的數乘以出現時排序的總數為10,再加上從這個數開始的各個位即可 include include...
PAT乙級1020(C語言)
月餅是中國人在中秋佳節時吃的一種傳統食品,不同地區有許多不同風味的月餅。現給定所有種類月餅的庫存量 總售價 以及市場的最大需求量,請你計算可以獲得的最大收益是多少。注意 銷售時允許取出一部分庫存。樣例給出的情形是這樣的 假如我們有 3 種月餅,其庫存量分別為 18 15 10 萬噸,總售價分別為 7...
Codeforces 587C 樹上倍增
題意 求樹上兩點路徑中的前 a 10 小的點權值。思路 類似lca倍增演算法來儲存 i 2 j 路上的 前 10 小個 的點權值。然後要寫乙個權值合併 具體求 u v 的話,就是先分別計算 和 減1是lca會重疊 然後再合併,輸出答案。include include include include ...