程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> 2016藍橋杯省賽題解

2016藍橋杯省賽題解

編輯:C++入門知識

2016藍橋杯省賽題解


今天第一次打藍橋杯, 去水了一發, 其實藍橋杯的題還是蠻水的。

記得不是很清楚了, 我就口胡一下吧:

有個題是撕郵票的, 本來可以用那個枚舉全排列的函數next_permutation輕松搞定, 可是記憶力差的我哪能記得住, 而且坑爹的dev我找了半天也沒發現代碼補全, 差點連頭文件都寫不全。 不過還好我會二進制枚舉子集, 如果出現了5個1, 就判斷一下這5個格子是否相鄰。 是否相鄰很好判斷, 我的做法比較無腦, 預處理出誰和誰相鄰。

還有個題是一個缺2個格子的3*4方格裡放數字, 典型dfs傻逼題, 去重一下就好了。

代碼補全題考了個快排和dfs, 我們可以把代碼粘貼下來運行一下結果看看對不對, 也很簡單。

其他的記不清了, 反正就是覺得每題都是dfs - -!

大題:

第一題我的做法是二重循環預處理出兩個數的加和, 用結構體記錄這個兩個數和他們的平方和, 然後排下序, 先按照平方和排序, 再按照a排, 再是b。 然後自己寫個二分, 枚舉第1、2個數, 二分第3、4個數就OK啦, 復雜度O(nlogn)。

第二題我怎麼看著是原題呢,其實就是原題, 紫書上第八章習題, 之前刷過, 就是個貪心。

第三題做法是每次算出相鄰兩個數的比值, 這樣, 每次都會減少一個數, 最後留下的就是答案 , 復雜度O(n^2)。

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved