CodeForces - 1189B Number Circle
生活随笔
收集整理的這篇文章主要介紹了
CodeForces - 1189B Number Circle
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
原題傳送器<----點我
**題意:**n個數字,請你給它們排個序圍成一個環,滿足任意一個數兩邊的數之和大于它本身,例如題目給的圖(左圖為正確答案),如果不存在這樣的環就輸出NO。
難度★
題解
這題主要靠思路,能想到正確的方法就很easy,碼量不多。
對于這組數我們可以先排升序,然后取后三位比較~~(為什么,往下看)~~ ,例如后三位是a[n-2],a[n-1],a[n],然后比較a[n]>a[n-1]+a[n-2]是否成立,如果不成立就說明肯定不能成環,反手就是輸出NO;如果成立,先將a[n]和a[n-1]輸出,然后除了a[n-2]的其他數直接輸出就行,把a[n-2]最后輸出;
即a[n] a[n-1] a[1] a[2] …a[n-3]
因為我們排過序,所以a[1]到a[n-3]都是升序列,兩邊數之和絕對大于它本身(光右邊的數就大于),然后因為我們特判過所以a[n]<a[n-1]+a[n-2],而且a[n]為最大數,a[n-1],a[n-2]都小于它,所以也滿足,這樣所有數都滿足了。
其實感覺這題也就A題的難度,講的有點啰嗦,大致能明白就行。
上代碼
寫完題解,睡覺
0:35
總結
以上是生活随笔為你收集整理的CodeForces - 1189B Number Circle的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 设计网页怎么赚钱(设计网页怎么赚钱的)
- 下一篇: 域名没有空间怎么备案(域名没有空间怎么备