Little Sub and Game
生活随笔
收集整理的這篇文章主要介紹了
Little Sub and Game
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
http://acm.hznu.edu.cn/OJ/problem.php?cid=1263&pid=5
http://acm.hznu.edu.cn/OJ/problem.php?id=2584
題意:設f[i]=max(f[i-1],s[i]),ans=∏min(m[i],f[i]),m[i]和f[i]可修改。
題解:
? 線段樹維護每個區間[l,r]且只考慮[l,r]的以下信息:
? fl,fr:f[l]和f[r]的值
? mul:∏min(m[i],f[i])
? rmul:將右兒子用左兒子的f修正后右兒子的貢獻
? 對于mul,有mul=左兒子的mul*ask(右兒子,左兒子的f[r])。
? 其中ask(x,pre)表示考慮x的子樹,之前f為pre時的乘積。
?
? 若fl>=pre,則無需修正,直接返回mul即可。
? 若x為葉子,則暴力處理即可。
? 若左兒子的fr>=pre則右兒子只會被左兒子修正,返回ask(左兒子,pre)*mul。
? 否則左兒子將全部被修正為pre,故返回ask(右兒子,pre)*左兒子全部修正為pre的貢獻即可,貢獻可以在每個節點上套上一棵Treap進行O(logn)計算。
總結
以上是生活随笔為你收集整理的Little Sub and Game的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Little Sub and Trave
- 下一篇: Little Sub and Count