CodeForces 1020C(貪心,列舉)

2021-10-10 17:00:35 字數 973 閱讀 6950

題目

列舉票數,如果比當前票數大就收買,之後再遍歷一遍,如果超過當前的列舉就結束(比如你現在列舉到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 ...