BSOJ3800 四校聯考1 染色 貪心

2021-07-24 11:25:47 字數 1344 閱讀 9731

3800 -- 【四校聯考1】染色

description

人人生而平等,然而後來人們逐漸選擇了不同的道路,人與人之間,變得不再平等。你可能會因為染上惡人之色而墮落,成為社會的敗類;你也可能因為染上善人之色,而在逆境中不斷成長。但是,紅與黑並非絕對的。所謂「近朱者赤,近墨者黑」,你能改變周遭的環境,那麼周遭的環境也會影響你。在黑暗的人群中,善人之色是明亮的,而在明亮的人群中,善人之色的存在就會顯得微薄。你的顏色,依靠著你自己的意志在選擇。

如今,你獲得了一次重生,你要為自己,以及你周圍的人們,重新染上一種你真正想要的顏色。具體來說,你的圈子裡總共有n個人,每個人你可以選擇為其重新染色,或者不染。對於第i個人,如果他/她被重新染色,那麼這將會對社會帶來wi的改變。同時,朋友關係也會對社會帶來改變,如果i,j是朋友,那麼他/她們會對社會帶來的改變w(i,j)滿足

輸出僅一行為乙個整數,對社會產生的總的改變的最大值。

hint

【資料規模與約定】

對於40%的資料,m=0。

對於另外40% 的資料,n,m≤20。

對於所有資料,n,m≤10^5。

奇妙的傳送門

第一次做的時候我就蠢了,最後20%妄圖用分層圖做,真是。。。

其實由於這道題的特殊性,我們可以將邊權加在點權上,那麼再讓ans-邊權,最後再累加所有大於0的點權'

對於這個貪心的正確性

我們可以分類討論以下情況:

兩個點都選,減去多加的乙個邊權正好

兩個點都不選,那麼我們根據題意減去邊權也是正確的

如果選擇了其中乙個點,那麼由於不應加邊權,所以減去乙個邊權也是正確的。

實在是妙,但是這不是典型的,有一道典型的邊權化點權我記不起來了。。。

#include#include#include#include#includeusing namespace std;

long long n,w[100005],u,v,m,w,ans=0;

int main()

for(int i=1;i<=n;i++)

if(w[i]>0)ans+=w[i];

cout<

return 0;

}

BSOJ 3800 染色 貪心

3800 四校聯考1 染色 description 人人生而平等,然而後來人們逐漸選擇了不同的道路,人與人之間,變得不再平等。你可能會因為染上惡人之色而墮落,成為社會的敗類 你也可能因為染上善人之色,而在逆境中不斷成長。但是,紅與黑並非絕對的。所謂 近朱者赤,近墨者黑 你能改變周遭的環境,那麼周遭的...

四校聯考 20171001

二分 期望得分 70 實際得分 10 列舉最高的高度可能為多少 二分。o logm 列舉最高高度應該位於哪一列上.o n 左右擴散列舉出需要用的積木總數,與m相比較。容易發現合法的高度的最高值,最終需要搭建乙個金字塔。1,3,5,7 正解是預處理出每一列作為最高列的左右邊界。然後再二分最大高度。ch...

四校聯考(20170910)

ditoly出的題目果然喪,待我一天啃一題。廢話不多說,開更 我是分割線 t1 最大值 max 問題描述 小c有n個區間,其中第i個區間為 li,ri 小c想從每個區間中各選出乙個整數,使得所有選出的數and起來得到的結果最大,請你求出這個值。輸入格式 第一行乙個正整數n,表示區間個數。接下來n行,...