典型的狀壓思想
設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 為根的一棵樹,師門中的每乙個人都有一定的...