雅禮 noip2018 模擬賽day3 T2

2021-08-29 16:19:32 字數 767 閱讀 9154

典型的狀壓思想

設0表示黑球,1表示白球,用一串01序列代表剩下的球的狀態,記f[i]表示在i狀態下取球的最大期望

那麼可以利用記憶化搜尋更新,每一層列舉可能拿走的球然後向下搜尋,同時記憶化即可

在狀態中刪去乙個點可以利用位運算實現

同時要注意乙個問題,就是狀態0010和狀態010並不是相同的狀態,但是如果不做處理在記憶化的過程中很可能把他倆算成相同的狀態,所以我們在初始狀態最前面放乙個1,這樣就可以區分上述兩種狀態了

還有就是本題卡常卡的很厲害,所以對比較小的狀態我們用陣列,對過大的狀態再使用map來操作即可

注意使用double

#include #include #define ll unsigned int

using namespace std;

const ll con=(1<<25)+(1<<23)+(1<<22);

int n,k;

char s[35];

double ret=0;

int cct=0;

map m;

double f[con];

inline double max(double x,double y)

inline ll erase(ll sit,int pos)

inline int cot(ll sit)

雅禮 noip2018 模擬賽 day3 T3

典型樹形dp 這裡,我們應該看到一些基本性質 如果這個邊不能改 不是沒有必要改 我們就不改,因為就算改過去還要改回來,顯然不是最優的 注意 不能改 是指邊的性質和要求的相同而不包括對邊的顏色沒有要求的情況!如果我們每翻轉一條邊,就認為將這條邊的兩個端點度數 1,那麼不難看到,最後翻轉的所有邊構成的路...

NOIP2018模擬賽2018 10 18 輕功

description 題目背景 尊者神高達進入了基三的世界,作為乙個 mmorpg 做任務是必不可少的,然而跑地圖卻令人十分不爽。好在基三可以使用輕功,但是尊者神高達有些手殘,他決定用梅花樁練習輕功。題目描述 一共有 n 個木樁,要求從起點 0 開始,經過所有梅花樁,恰好到達終點 n,尊者神高達一...

NOIP2018模擬賽2018 10 18 開荒

description 題目背景 尊者神高達作為乙個萌新,在公升級路上死亡無數次後被乙隻大黃嘰帶回了師門。他加入師門後發現有無窮無盡的師兄弟姐妹,這幾天新副本開了,尊者神高達的師門作為乙個 pve師門,於是他們決定組織一起去開荒。題目描述 師門可以看做以 1 為根的一棵樹,師門中的每乙個人都有一定的...