給定一棵有根樹,邊有邊權,兩個人輪流操作,每次可以把一條邊的權值減少一,權值變為 0 表示把子樹砍掉,問先手第一輪操作哪些邊使得自己必勝。n≤1
06
n\leq 10^6
n≤10
6之前的部落格,發現這道題本質上是圖的刪邊遊戲。把環縮掉,就變成了樹上刪邊遊戲了。結論是:葉子的 sg 為 0,非葉子的 sg 為所有葉子的 sg+1 的異或。求方案就是求刪掉哪些邊使得根的 sg 為 0。dfs 一遍即可。
有 n 個集合成乙個環,每個集合大小為 m,要求 ∣si
−sj∣
≥l
i|s_i-s_j|\geq l_i
∣si−s
j∣≥
li,要求最小化 ∣⋃s
i∣
|\bigcup s_i|
∣⋃si∣
。首先,如果是一排,答案就是 max(
m+li
)\max (m+l_i)
max(m+
li)
。如果是乙個環,就要讓最後乙個集合和第乙個集合的差盡可能大。我們二分乙個答案,然後嘗試 dp 這個東西。設 fi,
j,0/
1f_
fi,j,0
/1 表示第 i 個集合與第乙個集合的交 最多/最少 是多少。如果我們想讓 i 的交最多,那麼 i-1 的交一定要盡量少,反之亦然。
#include#define ll long long
#define db double
using namespace std;
const int n=1000010;
ll f[n][2],l[n];int n;
int read()
while(isdigit(c)) x=x*10+c-'0',c=getchar();
return x*flag;
}bool check(ll lim,ll m)
return m-f[n-1][0]>=l[0];
}int main()
ll l=m,r=m+2*mx,ans=-1;
while(l<=r)
assert(ans!=-1);
cout《有乙個由 w 組成的無限長度的字串 wwr
wwr.
..
ww^rww^r...
wwrwwr
...,w
rw^r
wr表示把 w 翻轉。從這個無限長的字串裡截乙個子串 s(長度嚴格大於 w),滿足 s 包含 w 或者 w 的反串作為子串。現在給出 s,求有多少子區間滿足這個區間的字串可能是 w。字串長度小於等於1e6。
n 個點 m 條邊的無向圖,有 k 個加速點。你一開始速度為 1,經過乙個加速點速度會乘2。可以經過乙個點/邊 多次,注意連續經過的兩個加速點不能是同乙個。求從 1 到 n 的最短時間。k≤n
≤100,m
≤8000
k\leq n\leq 100,m\leq 8000
k≤n≤10
0,m≤
8000
。設 fi,
jf_
fi,j
表示從 1 到 i 經過 j 個加速點的最短時間,列舉經過的最後乙個加速點是什麼,預處理兩點最短路即可轉移。
2018北京冬令營測試
題面戳我!我們發現 所有數加起來等於線索上的權值 這個東西可以用流量平衡來解決,所以可以跑上下界費用流。建圖就是,把上下線索放左邊,左右線索放右邊,源點向所有上下線索連乙個上下界均為對應權值的邊,同理左右線索向匯點連乙個上下界均為對應權值的邊 對於空格就是把左邊的乙個節點和右邊的乙個節點連起來,上下...
道路重建 2018山東冬令營
時間限制 1 sec 記憶體限制 128 mb 提交 67 解決 24 提交 狀態 討論版 小l的家鄉最近遭遇了一場洪水,城市變得面目全非,道路也都被沖毀了。生活還要繼續,於是市 決定重建城市中的道路。在洪水到來前,城市中共有n個區域和m條連線這些區域的雙向道路,道路連通了所有的區域,為了方便人們的...
2015 2 1冬令營日誌
今天的任務 1.寫一篇部落格。2.寫乙個週報。3.聽張老師的講座,感覺還是獲益匪淺。他說我們學校的軟體工程專業現況是有實力與清華北大媲美的,這讓我感到十分榮幸,雖然沒有親自去過清華北大,但這兩所學校的名氣確實是如雷貫耳的,瞬間覺得我還是走上了乙個高富帥的專業。但是,以後的事情還是需要我繼續努力堅持才...