link
這道題是個\(zz\)題
我們考慮如何得部分分,即十分\(zz\)的\(\theta((m+n)log(m+n))\),窩萌發現這個複雜度似乎可以接受,但是會爆是真的,所以每當這個時候我們就需要思考問題內部的單調性。我們發現其實對於兩條蚯蚓\(a\)和\(b\),設它們的長度為\(l_a\)和\(l_b\),假設他們滿足\(l_a < l_b\),那麼他們都砍去\(p \times 100%\)後坑定會有\(l_ > l_\),\(l_ > l_\)……那麼從技術層面來講,他們都會加\(mq-q\)……所以最終來講,當前大於之後也一定大於……所以用三個佇列維護一下即可\(qwq\)
#include #include #include #include #define maxn 1000100
using namespace std ;
queueq, q1, q2 ; int cnt, l, r ;
int now, h1, h2, h3 ; double u, v, p ;
int mark = 0, a[maxn], n, m, h, t, i, ans[maxn << 3] ;
inline int qr()
inline bool cmp(int j, int l)
int main()
putchar('\n') ;
while(!q.empty() || !q2.empty() || !q1.empty())
return 0 ;
}
noip2016 蚯蚓 佇列
傳送門 樣例1 3 7 1 1 3 1 3 3 2 樣例2 3 7 1 1 3 2 3 3 2 樣例3 3 7 1 1 3 9 3 3 2 樣例1 3 4 4 4 5 5 6 6 6 6 5 5 4 4 3 2 2 樣例2 4 4 5 6 5 4 3 2 樣例3 空行 很顯然是一道優先佇列的題0 0...
noip2016 蚯蚓 佇列
傳送門 樣例1 3 7 1 1 3 1 3 3 2 樣例2 3 7 1 1 3 2 3 3 2 樣例3 3 7 1 1 3 9 3 3 2 樣例1 3 4 4 4 5 5 6 6 6 6 5 5 4 4 3 2 2 樣例2 4 4 5 6 5 4 3 2 樣例3 空行 很顯然是一道優先佇列的題0 0...
noip2016 蚯蚓 單調佇列
去年提高組的day2t2,很容易有種讓人看到就會想到用堆的做法,但是堆的時間複雜度顯然是不夠的 雖然可以拿到85分,暴力打得好的話 所以就像之前做那道合併果子一樣的,想到了單調佇列的做法。可以把原來的蚯蚓按照從大到小的排序放在第乙個佇列裡面,然後每一次切蚯蚓,把第一部分放在第二個佇列中,第二部分放第...