POJ 2054 有難度的貪心

2021-08-29 23:38:54 字數 771 閱讀 8137

poj 2054

題意 給你一棵樹 然後給你根節點 其他節點染色的條件是父節點一定要被染色 我們知道如果父節點不需要被染色 那麼很簡單 貪心就好了 但是如果父親節點需要染色 我們利用前面的性質 大點值一定是跟在父節點後面的 所以我們考慮 x y是一起的 那麼 x y z

和z x y 分別是 x+2y+3z和 z+2x+3y 把他們都加上z-y再除以2 分別是 (x+y)/2 + 2z 和 z+(x+y)/2 * 2 也就是 x y 和 z等價為 (x+y)/2 和z的順序 同理n數量的序列也可以這個樣子取平均數作為他的排序標準 我們每次找最大的 和他的父親合併 所以最後一次一定是根節點合成了所有點 其他的時候我們要用那個節點的父親的數量  乘以 那個節點的點值 再讓父親合併子孫 合併以後父親節點數目會更新 也就是模擬了我們的走的次數在增加 **學習了lyd的風格

#include #include #include #include #include #include #include #include #include #include using namespace std;

int n,r;

const int max_n = 1025;

struct node arr[max_n];

int find()

}return res;

}int main()

for(int i = 1;ifor(int i = 1;iprintf("%lld\n",ans);

}return 0;

}

題解 poj2054 複雜的貪心

題目鏈結 大佬部落格的講解非常詳細,學習了 詳細思路見上方部落格或者李煜東 演算法競賽高階指南 include include include using namespace std define rep i,a,b for int i a i b i define for i,a,b for in...

解題報告 POJ2054 給樹染色

貪心 我們很容易想到從第一層開始,每次染權值最大的乙個節點,但是我們可以構造出乙個數,讓乙個權值很小的點下面有權值很大的節點,所以我們考慮的貪心思路是樹中除了根節點外的權值最大的節點,它的父節點染色之後一定會被馬上染色,所以我們可以將權值最大的點和它的父節點進行合併,合併得到的新點的權值是這兩個點之...

需求分析的確是有難度的

今天對,招聘的簡歷管理模組和招聘專員又進行了溝通.發現,對方腦子裡已經有了乙個想法了.非要強加給我 給我的已經是細節了.真正的目的是什麼,他卻迴避.比較困擾.還有就是,找不到人.天哪另乙個部門的頭,今天都不在的說.我到 去談呀.團隊,倒是滿有意思.說是時間不夠.乙個會組織了3天了.天天拖終於定下明天...