題意:
給你一棵有根樹 ,記每個點的權值為 \(w[i]\) 。對於每個 \(i\) 求 \(\sum_^ w[lca(i,j)]\) 。
題解:marser&twii幾分鐘口頭ac——dsu on tree,用樹狀陣列分兩輪統計輕子樹對重子樹的貢獻,log方穩過。
感受:m&t調了三個小時沒ac,當場暴斃。(現在都不知道掛在**)
題意:給乙個矩陣b,讓你生成乙個矩陣序列 \(m\),其中 \(m_i=(\prod_^ m_j) * b\)。( \(c,m_0\) 給定, \(c_i)
題解:明眼人都看的出來,這其實是讓你維護乙個滑窗。
push容易啊,我們維護一下從滑窗左端點划過來的乘積 \(stb\) ,乘上去就是了。
可是,左端pop怎麼破?
考慮維護乙個棧,把從滑窗右端點一直左乘到左端點,每次乘完都把結果丟到棧裡面。這樣,我們pop的時候就只要彈棧就可以了,而push時更新棧就成了乙個難題。
我們想想怎麼撮合這兩個做法。
容易發現,在不pop的時候我們根本是不需要用到這個棧的,所以push的時候我們直接把矩陣乘到 \(stb\) 上去,不更新棧。
pop的時候直接彈棧,當棧空的時候,我們直接暴力重構,處理完pop以後,下乙個矩陣就恰好等於 \(stb\) 與棧頂的乘積。
容易證明每個位置最多進棧一次,複雜度o(nm^3)。
感受:我是常數大師,想題8分鐘,卡常64小時。
不會。會了也不想寫。
不會。不會。不會。會。除錯。卡常。爆零。
**能力幾近於零。
FZU ACM 聯合訓練 Day4總結
題意 給定乙個原始平面點集和乙個詢問平面點集,統計平面上有且僅有乙個頂點在詢問點集中的直角三角形的個數。兩個點集大小不超過 2000 題解 day 2原題來著?連我都會,極角排序,雙指標掃一遍統計答案,注意精度。感受 口胡的,打題還是要靠基礎紮實的公主。題意 給定乙個大小適當的正整數,問它的倒數在十...
FZU ACM 聯合訓練 Day5總結
題意 給你乙個字典樹,讓你構造乙個ac自動機,也就是求每個點的fail指標。字符集十萬級大小 口胡 感覺跟普通ac自動機的求法差不多?其實不是很會字串,聽說用主席樹和字尾陣列都可以過。有神仙會做的話麻煩指點一下老弟。感受 考場上根本沒想這題,全被亂搞題耗死了。題意 給一張有向無權圖,求所有點對最短路...
國慶DAY1訓練
j 模擬 題意 移動數字 記錄一下每個數字的位置 然後如果和0的距離為1 則交換 include using namespace std struct node p 1020000 pos intcal int x,int y int a 1020000 intmain while m for in...