Cf 95 Div.2

來源:互聯網
上載者:User

A題

for迴圈判斷從第2個字元開始是否全部是大寫字母即可,注意如果字串只有1個字元的情況;


B題

-10到10,只需要每個數都加上10,那麼開一個20大小的數組,記錄每個數的出現次數 f [ ],然後 sum= sigma ( f [ i ] * f [ 20-i ] ) | i<10  ,

另外 f [ 10 ] 表示0的個數,即C( f[10], 2 );


C題

注意不能多算,我是枚舉男孩的數目 , i=4開始枚舉,那麼女孩數目就是 t-i,然後用預先處理的組合數直接帶入計算;注意很多邊界情況,比如枚舉的i要 i<=n,  t-i>=1 && t-i<=m; 這些我都在預先處理組合數的時候處理出來了; 開始我錯了一次,是由於組合數的預先處理沒有處理好;


D題

我用了圖論裡面的 雙連通分量 來縮點;

縮點後開始我一直錯誤,原來是沒有考慮全部的圖形,屬於環的每個點都可能引出非本身分量的邊,點;

我覺得一個合理方便的寫法是:

for(i=1;i<=n;++I){

      if( node i belong the cycle ){

              dis [ i ] = 0;

              dfs( i );

      }

}

dfs()中,注意如果鄰接點是屬於cycle的,則不可訪問;


E題

我的做法我覺得還是很巧的,先給出一個表;

(1,1) (1,2) (1,3) (1,4) (1,5) (1,6)

(2,1) (2,2) (2,3) (2,4) (2,5) (2,6)

(3,1) (3,2) (3,3) (3,4) (3,5) (3,6)

...

一個結構體儲存點座標及輸入標號; 對該結構體排序,以x為第一關鍵字,以y為第二關鍵字;這樣我就可以掃描,得到水平方向的情況;

再以y為第一關鍵字,以x為第二關鍵字,掃描可以得到豎直方向的情況;

斜向右上方方向,觀察座標數值,我以  (x+y)為第一關鍵字,以x為第二關鍵字,這樣可以得到該方向的情況;

斜向右下方,我當時的做法是 進行 座標變換 方便以 (x+y)為第一關鍵字, y為第二關鍵字,這樣可以得到該方向的情況; 

(6,1) (6,2) (6,3) (6,4) (6,5) (6,6)

(5,1) (5,2) (5,3) (5,4) (5,5) (5,6)

(4,1) (4,2) (4,3) (4,4) (4,5) (4,6)

....


後來學弟發現不需要變換,直接按 x-y作為第一關鍵字即可,確實啊;

自己突然領悟到不管你如何按你的方式改變座標,只要維持點本身的相對位置不變就可以;

後來我看解題報告的時候發現居然有O(m)的做法,確實很神!

Problem E can be done in O(n+m) -- i.e. O(m) when m is at least on the order of n.

For the horizontal case, we determine the leftmost and rightmost queen on each row in O(n+m). The vertical and diagonal cases are similar. Then, we can compute the number of attacked queens for each queen in O(m) by simply checking whether it is the leftmost,
rightmost, etc. in it's row/column/diagonals.


F題

這題我想了很久很久,最後還是看題解的。

我沒想到 會是 枚舉兩兩行O(n*n),然後是統計確定的兩行之間的情況數,而且預先處理 + 統計方式我覺得很神奇,自己缺乏這點思維,這題思路值得借鑒!


 加油!!!

明天是3月12日

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.