描述 description
輸入格式 inputformat
第一行乙個整數n,表示除根節點之外其它節點的數量。
接下來n行,第i+1行有三個整數fi、ei、wi,分別表示i號節點的父節點、i號節點上封印石的能量需求、連線節點i與fi的邊最多能傳遞多少能量。
題解:感覺不會再愛了。。。想了好久,包括dp,網路流什麼的,最後碼了個n^4的揹包,然後就棄療了,膜拜題解。。。
原來是貪心。。。
出題人:
每次選取能量需求最小的節點,掃瞄它到根節點的路徑上的邊的容量,看能否滿足,如果能滿足就把它到根節點的路徑上的邊的容量都減去它的需求即可。
本題如果把握不好貪心的正確性也可以寫樹狀動規(多叉樹,揹包轉移),但是顯然程式設計複雜度就上公升了乙個層次。
正確性有待證明。。。
**:
1 #include2view code3 #include4
5 #include6
7 #include8
9 #include10
11 #include12
13 #include14
15 #include16
17 #include
1819 #include20
21 #include
2223
#define inf 1000000000
2425
#define maxn 10000
2627
#define maxm 500+100
2829
#define eps 1e-10
3031
#define ll long long
3233
#define pa pair34
35#define for0(i,n) for(int i=0;i<=(n);i++)
3637
#define for1(i,n) for(int i=1;i<=(n);i++)
3839
#define for2(i,x,y) for(int i=(x);i<=(y);i++)
4041
#define for3(i,x,y) for(int i=(x);i>=(y);i--)
4243
#define mod 1000000007
4445
using
namespace
std;
4647 inline int
read()
4849
5455
while(ch>='
0'&&ch<='9')
5657
return x*f;
5859}60
intn,ans,fa[maxn],id[maxn],ned[maxn],mx[maxn];
61 inline bool cmp(int x,int y)
6263
intmain()
6465
76 sort(id+1,id+n+1
,cmp);
77for1(i,n)
7886 printf("
%d\n
",ans);
8788
return0;
8990 }
貪心 能量獲取
能量獲取 這道題看看就知道用貪心,而且直接做就行了,可惜我打比賽時狀態不好,想到正解的時候覺得太麻煩了,居然先把邊取路徑上的最小值,再貪心,結果竟然還沒發現修改操作不好搞,更關鍵的是這題的對拍程式還不好寫 一顆樹的我從來就不會寫 然後就沒有然後了,這個故事告訴我,學資訊的一定不能熬夜 對於一條路徑上...
mysql 獲取 MySQL 獲取前10 資料
這裡記錄乙個問題 在mysql中,我們要檢視前3條記錄的話,是使用limit select from t student order by s id limit 3 簡單的分頁也可以使用力limit來完成 select from t student order by s id limit 3 off...
獲取音訊檔案能量大小或聲音大小
獲取pcm格式資料能量大小 格式為signed 16bit,單聲道 frm 包含著音訊資料,以及音訊資料buf的長度 user threshold 為使用者設定的臨界值,超過這個值,返回1代表著這一段音訊資料能量高於所設定的user threshold 範圍是0 32767 值越大,劃分的越細 in...