非零段划分(python)
生活随笔
收集整理的這篇文章主要介紹了
非零段划分(python)
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
題目鏈接
思路:
因為p相較p-1的規(guī)律更易得出,所以采用前綴和和差分的方式求解,把面向全局的問題轉(zhuǎn)化成面向局部。
實現(xiàn)技巧:
根據(jù)參考鏈接非零段劃分中的凸點凹點分類可以得到p與p-1的變化情況。而凸點凹點變化情況在代碼中的體現(xiàn)則是,認(rèn)為每兩個上升趨勢的右側(cè)點都是凸點,左側(cè)點都是凹點若不是真實的凸點和凹點則在連續(xù)的+1和-1中抵消,最終只有凸點和凹點處差分值產(chǎn)生變化。
本質(zhì)上其實是通過通過凸曲線的左側(cè)判斷出凸點和凹點
總結(jié)
一、通過畫圖詢找前綴和規(guī)律,轉(zhuǎn)化成差分的規(guī)律。
二、差分只考慮與前一個的差的規(guī)律
三、尋找凹凸點只需要通過凸形曲線的一側(cè),通過+1,-1的傳遞使得最終變化的只有凹凸點。
參考鏈接:
非零段劃分
前綴和以及差分
總結(jié)
以上是生活随笔為你收集整理的非零段划分(python)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 为什么文本框里的字只显示一半_Word文
- 下一篇: 简单测试ROS里面C++ 和 pytho