http://codeforces.com/contest/675/problem/C
這題的題意:現在有n個環狀銀行,你在銀行有存錢(正值) or 欠錢(負值)。這n個銀行的錢的總和是0。每一部你都可以把任意數量的錢從一個銀行轉到鄰居銀行。求使得全部銀行的錢=0的最小步數。
我的想法:(我從當初看到題目的過程一直寫下來好了)
一開始想說,最多一定是n部(就一路轉一圈就好了)
後來想說,好想要找出某一些區段=0,使得這些區段蓋滿區間。
後來想想,如果我開前綴和,那不就前綴和一樣的區段中間不就=0!
那那那,那不就是 ( n - 出現最多的前綴和 ) XDDD
耶,AC了!
http://codeforces.com/contest/675/submission/17979231
(後記)
難得我的code寫的這們短,如果按照solution size 排序還看的到我的XDDD
沒有留言:
張貼留言