Codeforces Round #590 (Div. 3) E. Special Permutations 差分 + 思维
生活随笔
收集整理的這篇文章主要介紹了
Codeforces Round #590 (Div. 3) E. Special Permutations 差分 + 思维
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
傳送門
文章目錄
- 題意:
- 思路:
題意:
思路:
直接考慮比較難想,這種公式題基本都是將部分答案看成一個整體,考慮xi,xi+1x_i,x_{i+1}xi?,xi+1?的貢獻的。
假設(shè)當(dāng)前的xi=x,xi+1=y,x<yx_i=x,x_{i+1}=y,x<yxi?=x,xi+1?=y,x<y,分以下幾種情況討論:
(1)[1,x?1],[y+1,n](1)[1,x-1],[y+1,n](1)[1,x?1],[y+1,n],這兩段區(qū)間由于將某個數(shù)提前對答案沒有影響,所以貢獻為y?xy-xy?x。
(2)[x+1,y?1](2)[x+1,y-1](2)[x+1,y?1],這段區(qū)間由于將答案之間的數(shù)抽去了一個,所以貢獻為y?x?1y-x-1y?x?1。
(3)[x,x](3)[x,x](3)[x,x],將xxx提前,貢獻為y?1y-1y?1。
(4)[y,y](4)[y,y](4)[y,y],將yyy提前,貢獻為xxx。
直接差分一下即可,當(dāng)然也可以用線段樹但是沒必要。
總結(jié)
以上是生活随笔為你收集整理的Codeforces Round #590 (Div. 3) E. Special Permutations 差分 + 思维的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 用C++实现跨平台游戏引擎开发
- 下一篇: 安卓虚拟机_VMOS虚拟大师独立的安卓虚