題目鏈結
題目大意: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...