CodeForces - 1141CPolycarp Restores Permutation搜索+剪枝
生活随笔
收集整理的這篇文章主要介紹了
CodeForces - 1141CPolycarp Restores Permutation搜索+剪枝
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Polycarp Restores Permutation
【題意分析】題意大概是給定一個串,包含從1到n所有的數字。但是給定的是相鄰數字的差,需要復原這個串。
大概分析以后發現給定的是一個差分數組,所以只需要枚舉第一個元素就可以確定所有元素的值。
問題是如何判斷可行,一個一個判斷顯然是不行的——會超時。
剪枝技巧1:在得到差分數組的時候記錄最小值和最大值,a[1]+最小值肯定是1,a[1]+最大值肯定是n,否則肯定不是答案
剪枝技巧2:可能會出現重復的情況,重復的原因是差分數組含有相同的元素,因此先將差分數組排個序,然后檢查是否含有相同的元素,若含有肯定是不存在的,若不含有,肯定是存在的——a[1]+q[i]在1到n之間,而且互不相同,而且含有n個,肯定就是答案了。
代碼如下:(這么簡單的程序我wa了7次,自己真的是太菜了,也有一方面原因是后來做題太少)
總結
以上是生活随笔為你收集整理的CodeForces - 1141CPolycarp Restores Permutation搜索+剪枝的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 多囊卵巢综合症饮食怎么调理
- 下一篇: CodeForces - 1141ESu