Codeforces Round #180

acm_cxlove發表於2013-04-25

轉載請註明出處,謝謝http://blog.csdn.net/ACM_cxlove?viewmode=contents    by---cxlove

然後恭喜我自己,通過這場歡樂的比賽,CF重回2000+。
大概就是前20分鐘解決 兩題,然後就玩了1個半小時,最後上來 cha幾個人,就歡樂地進了top 100。。。。
也暴露出實力有多弱。。。構造題完全不會。。。sad

div2 A:大概就是分為三種情況,全L,全R,先R後L。

div2 B:模擬,比較一下曼哈頓距離,減少則移動。

div1 A:比賽的時候是蒙的,賽後發現是對的,然後可證明 。
             首先對於偶校驗來說,如果本來有偶數個1,那麼1的個數只可能減少,不可能增加。如果有奇數個1的話,可以填充1個1,變為偶數個1之後,也便不會再增加。所以只需要比較一下1的個數就行了。
             至於這樣為什麼一定有解,其實只要在S串後面一位位地湊出T串就行了。

div1 B:也挺水的,從大到小遍歷一下

div1 C:給跪。。。構造全蒙了,而且1/3這種奇葩的東西。。構造見孟神blog

div1 D:n*(m-1)+m*(n-1)個條件,看成兩個部分,滿足大的那個,然後另外一個滿足一半就好。
              如果顏色種數為1 話,那就驗證一下。
              如果顏色種數大於1。為什麼大的那部分一定能滿足呢,那顯然只包括行的關係或者列的關係,只需要每行或者每列依次根據關係構造就行。
              那麼要滿足小的那部分,至少有一半能滿足。大概是這樣的。 
              比如說先填充行,使得這一行全都滿足行的約束,這一步只需要兩種顏色就行了。要麼相等要麼不相等。。。
              填充完畢之後,和上一行比較列的關係,如果有一半不滿足,那麼只需要把當前行顏色取反(就是兩種顏色換一下),滿足條件的個數和不滿足的個數也會互換。。

dvi1 E:孟神blog很清楚,大概就是6個點,3條線的五種情況。然後用樹狀陣列去維護就好了。 。。神!!!




相關文章