2016.8.14中山紀中資訊學比賽題解

來源:互聯網
上載者:User
    這次考試比上次有進步,不過就差5秒我就把第二題叫上去了,本來交上去的話有240分的,結果我現在只有195分。。。早上我先研究了一下第一題,覺得可能是計數排序,然後,就看第二題,認為有公式,接著,我就開始算公式,算得差不多了,我也基本認為是對的,我就去看第三題和第四題,沒啥思路,於是呢我打了一個計數排序,但是我還是有點猶豫,快排好像也可以吧(後來證實差不多)然後換了快排,第二題就是做不對,後來暴力45,第三題排序了一下,然後累加,就交了,後來我發現第二題怎麼做了,就差5秒我就交上去了,我的心情多麼崩潰。第三題我也想到最佳化了,只是沒時間[哭].


    第一題的題目大意是輸出倒數k個分數,很簡單的,快排就ac了.倒著輸出k個數,o了.


    第二題的題目大意是求1到n裡有多少個1,這是有一點思考難度的,根據規律我們可以推出一個公式
 ans:=ans+(n div x)*y;
 if(n mod x>=y*2-1)then ans:=ans+y
 else ans:=ans+max(0,n mod x-y+1);
這就是算1的個數的公式了,已開始記得算出讀入的數的長度,然後1 to 長度進行迴圈,每次將x和y乘10,因為把個位,十位,百位等分開計算,每次都要計算一次,算累加和.


    第三題呢,題目大意是要你求最小的方法中的最大危險值,危險值:累加重量-此人力氣。就是快排力量加重量的和,然後累加每層的重量,最後計算最大值就可以了.


    第四題就是看看前面的可不可以組成這個字串,如果可以就算什麼時候可以組成,否則就輸出-1,當讀入0的時候就更新f數組的值.
 
    我也想去c組,要努力!
  
    希望 ,自己 ,奇蹟.

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.