NOIP2020提高B組模擬11 26 卡常題

2022-07-11 16:12:12 字數 873 閱讀 9034

ρ有乙個二分連通無向圖,x 方點、y 方點均為n個(編號為1 ~ n)。

這個二分圖比較特殊,每乙個y 方點的度為2,一條黑色邊,一條白色邊。

所有黑色邊權值均為a ,所有白色邊權值均為b 。

選擇乙個x 方點,代價為連線的所有邊的權值之和。

啟用乙個y 方點,需要選擇至少乙個與之相鄰的x 方點。

現在,ρ想啟用每個y 方點,他想知道最小的總代價。

不過ρ很善良,他給你開了o2 優化。

這樣你就不會被卡常了。

當然,除非你真的連讀入優化都不想寫,或者常數真的醜死。

將y類點變成一條邊,點變成邊權

轉換成在一棵奇環樹上,每一條邊的兩個端點至少選乙個的最小代價

設f[i][0/1]表示以點i為根的子樹全部處理好了,而點i沒選/選了所花費的最小代價,那麼轉移顯然

=但是r1和r2之間必須選乙個,所以再考慮設g[i][0/1]表示以點i為根的子樹全部處理好了,且選了r2,而點i沒選/選了所花費的最小代價,

轉移同上,只不過g[r2][0]=g[r2][1]

ans=min(g[r1][0],f[r1][1]

#includeusing namespace std;

long long n,m,i,j,b[400005],mid,l,r,x,y,ans[400005],tot,v;

struct node

s[400005];

bool cmp(node x,node y)

}tot=0;

for(i=n+m;i>=1;i--) }

for(i=1;i<=m;i++) }

//本來題如其名,不卡常過不了,感謝良心oj把時限加到了1s

2019 01 24 NOIP提高組 模擬 B 組

jzoj 3903 艱難的選擇 jzoj 3914 人品問題 後續求 i 1yxm od y sum yx mod y i 1y xmod y 那麼這道題其實高仿餘數求和的題目,my 題解 那麼首先這個式子可以改寫成xy i 1 y xi ixy sum y lfloor frac rfloor t...

2019 11 08 NOIP提高組 模擬 B 組

洛谷 2873 泥水坑 洛谷 2869 美食的食草動物 洛谷 2870 最佳牛線 include include include include define rr register using namespace std const int n 1001 struct reca n n int n...

2021 01 19 NOIP提高B組 模擬

這次是2015的題,是最難的三道題。只有三個小時,然後我花了兩個小時硬鋼t2 day 2 t2 然後最後花了45分鐘搞出了t1 day 1 t3 的偽正解,然後水到30分,就因為乙個全域性變數其實會受上一次遞迴資料影響導致程式選擇偏差的問題。通俗點說,就是乙個變數在上一次遞迴中的值延續到了下一次遞迴...