2465 中山市選2009 小球

2021-08-04 20:21:15 字數 618 閱讀 2415

題目鏈結

題目大意:n個球,每個球都有乙個分數,同時有m個瓶子,每個瓶子都有固定的容量和分數上界x(每個放進去的球分數必須小於等於x),求最多放進瓶子的球數以及在球最多的前提下的最高分數

題解:這個資料範圍明顯是網路流模板

基礎的貪心思路:因為不能浪費掉分數上界高的瓶子,所以瓶子按照分數上界排序,球按照價值排序

發揮瓶子的最大價值,優先把價值高的球裝進分數上界高的瓶子

若這個球裝不進去就捨棄它(因為已經是分數上界最大的瓶子了,說明這個球gg了)

若瓶子裝滿就換下乙個

正確性顯然

我的收穫:233

#include 

#include

#include

#include

using

namespace

std;

#define q first

#define c second

const

int m=205;

int n,m,v[m];

pair a[m];

void work()

cout

<" "

2466 中山市選2009 樹

題目鏈結 題目大意 給定一棵樹,每個點有乙個0 1的權,一次操作可以使得x和x的直接鄰居點權 1,初始均為0,求最少多少次操作可以全部變成1 題解 樹形dp可以o n 解決 但這不重要 考慮對每個點列出乙個xor方程,這樣就可以高斯消元了 但是有可能有自由元 暴力列舉代入計算 我的收穫 gauss暴...

bzoj2466 中山市選2009 樹

同上一題。應該可以樹形dp,然而我不會。include include include include includeusing namespace std define rep i,s,t for int i s i t i define dwn i,s,t for int i s i t i d...

bzoj2466 中山市選2009 樹

題目描述 bz題解 1 高消。直接列異或方程組高消即可。include include include include using namespace std const int n 105 template inline void read t x while ch 0 ch 9 x f c in...