欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

NOIP2007解題報告

系統 1672 0

?第一題: ?某次科研調查時得到了n個自然數,每個數均不超過1500000000(1.5*109)。已知不相同的數不超過10000個,現在需要統計這些自然數各自出現的次數,并按照自然數從小到大的順序輸出統計結果。

?

解題過程: 直接sort快拍然后掃描一遍即可。


第二題: ?在初賽普及組的“閱讀程序寫結果”的問題中,我們曾給出一個字符串展開的例子:如果在輸入的字符串中,含有類似于“d-h”或“4-8”的子串,我們就把它當作一種簡寫,輸出時,用連續遞增的字母或數字串替代其中的減號,即,將上面兩個子串分別輸出為“defgh”和“45678”。在本題中,我們通過增加一些參數的設置,使字符串的展開更為靈活。具體約定如下: (1)遇到下面的情況需要做字符串的展開:在輸入的字符串中,出現了減號“-”,減號兩側同為小寫字母或同為數字,且按照ASCII碼的順序,減號右邊的字符嚴格大于左邊的字符。 (2)參數p1:展開方式。p1=1時,對于字母子串,填充小寫字母;p1=2時,對于字母子串,填充大寫字母。這兩種情況下數字子串的填充方式相同。p1=3時,不論是字母子串還是數字子串,都用與要填充的字母個數相同的星號“*”來填充。 (3)參數p2:填充字符的重復個數。p2=k表示同一個字符要連續填充k個。例如,當p2=3時,子串“d-h”應擴展為“deeefffgggh”。減號兩側的字符不變。 (4)參數p3:是否改為逆序:p3=1表示維持原有順序,p3=2表示采用逆序輸出,注意這時仍然不包括減號兩端的字符。例如當p1=1、p2=2、p3=2時,子串“d-h”應擴展為“dggffeeh”。 (5)如果減號右邊的字符恰好是左邊字符的后繼,只刪除中間的減號,例如:“d-e”應輸出為“de”,“3-4”應輸出為“34”。如果減號右邊的字符按照ASCII碼的順序小于或等于左邊字符,輸出時,要保留中間的減號,例如:“d-d”應輸出為“d-d”,“3-1”應輸出為“3-1”。

?

解題過程: 按題目描述模擬就好,只要細心就不會錯。?

?

第三題: 帥帥經常跟同學玩一個矩陣取數游戲:對于一個給定的n*m的矩陣,矩陣中的每個元素aij均為非負整數。游戲規則如下: 1. 每次取數時須從每行各取走一個元素,共n個。m次后取完矩陣所有元素; 2. 每次取走的各個元素只能是該元素所在行的行首或行尾; 3. 每次取數都有一個得分值,為每行取數的得分之和,每行取數的得分 = 被取走的元素值*2^i,其中i表示第i次取數(從1開始編號); 4. 游戲結束總得分為m次取數得分之和。 帥帥想請你幫忙寫一個程序,對于任意矩陣,可以求出取數后的最大得分。


解題過程: 這題比較有意思,?一開始會想到貪心,有經驗的話看數據范圍,肯定是動態規劃拉。首先取數各行之間沒有關聯,也就是每行都是要么取頭要么取尾,分開做n次就好了。 F[i][j]表示從第i列到第j列的最大得分,F[i][j]=max{F[i][j-1]*2+2*a[j],F[i+1][j]*2+2*a[i]} 用long?long?可以過7個點,高精度會有點慢,勉強AC。注意答案可能會有0,高精度可能會漏掉輸出。


第四題:

T=(V, E, W) 是一個無圈且連通的無向圖(也稱為無根樹),每條邊帶有正整數的權,我們稱T為樹網(treenetwork),其中V, E分別表示結點與邊的集合,W表示各邊長度的集合,并設T有n個結點。

路徑 :樹網中任何兩結點a,b都存在唯一的一條簡單路徑,用d(a,b)表示以a,b為端點的路徑的長度,它是該路徑上各邊長度之和。我們稱d(a,b)為a,b兩結點間的距離。 一點v到一條路徑P的距離為該點與P上的最近的結點的距離:

d(v, P)=min{d(v, u) u 為路徑 P 上的結點}。

樹網的直徑 :樹網中最長的路徑稱為樹網的直徑。對于給定的樹網T,直徑不一定是唯一的,但可以證明:各直徑的中點(不一定恰好是某個結點,可能在某條邊的內部)是唯一的,我們稱該點為樹網的中心。

偏心距 ECC(F):樹網T中距路徑F最遠的結點到路徑F的距離,即

ECC(F)=max{d(v,F),v∈V}

任務 :對于給定的樹網 T=(V, E,W) 和非負整數s,求一個路徑F,它是某直徑上的一段路徑(該路徑兩端均為樹網中的結點),其長度不超過s(可以等于s),使偏心距ECC(F)最小。我們稱這個路徑為樹網T=(V,E,W)的 (Core)。必要時,F可以退化為某個結點。一般來說,在上述定義下,核不一定只有一個,但最小偏心距是唯一的。

下面的圖給出了樹網的一個實例。圖中,A-B與A-C是兩條直徑,長度均為20。點W是樹網的中心,EF邊的長度為5。如果指定s=11,則樹網的核為路徑DEFG(也可以取為路徑DEF),偏心距為8。如果指定s=0(或s=1、s=2),則樹網的核為結點F,偏心距為12。

解題過程: 這題題目看了n久才看明白,實在坑爹,先是想不明白題目中說的?“各直徑的中點(不一定恰好是某個結點,可能在某條邊的內部)是唯一的”,而且我還找到了反例。還好這個東西是廢話用不著的。 直徑有很多,但實際上只要在一條直徑上找就好了(證明不來。。。但自己畫有多條直徑的圖的時候,畫出來的都是對稱的。。)。。 因此找到一條直徑,把路徑記錄下來,然后 用兩個指針i,j分別表示起點和終點,i指針每次往前移動一個,然后j指針盡可能往后移動, 因為確定起點的路徑肯定是越長越好,粗略的證明見注釋,然后對路徑中的每一個點為起點做一次DFS(先把路徑中的點標記為已經訪問過),就可以求出偏心距。關鍵是找到直徑,做法是 隨便取一個點做DFS,找到與它相距最遠的一個點,那么這個點必定是某條直徑的一個端點。然后在以這個點為起點做DFS找到最遠的點,就是直徑的另外一端了。然后在做一次DFS把整條直徑給找出來。?證明用反證法。

注釋:對于 ?確定起點的路徑肯定是越長越好的證明:假設目前枚舉的路徑為S,要再添加一個點X進來,讓路徑更長一點,變成路徑T。樹網中到直徑的入口為X的點Y,(即Y到路徑的最短距離為Dist(X,Y))。Dist(X,Y)一定不會大于原路徑S的偏心距,否則S偏心距的路徑可以由Y出發經過X到路徑S上來,就大于Dist(X,Y)了,出現矛盾。
2014-07-28 22:16:01

NOIP2007解題報告


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 国产免费麻豆 | 天天拍久久 | 狠狠操狠狠操狠狠操 | 婷婷激情五月综合 | 久久se精品一区精品二区 | 国产福利在线看 | 国产精品久久久久国产精品 | 高清久久久久 | 在线观看免费黄色小视频 | 欧美人成在线视频 | 欧美日韩精品一区二区 | 手机看片日韩国产 | 欧美一区二区三区在线观看视频 | 91国内精品久久久久免费影院 | 污污网站国产精品白丝袜 | 日本在线观看中文字幕 | 亚洲乱码在线卡一卡二卡新区 | 在线97视频 | 亚洲视频在线视频 | 欧美一级电影视频 | 亚洲成人免费网站 | 日本一级在线 | 国产精品欧美精品 | 国产一区二区视频在线播放 | 国产乳摇福利视频在线观看 | 黄色综合 | 国产亚洲99影院 | 波多野结衣免费视频观看 | 黑色丝袜美女被视频网站 | 福利在线看 | 九一国产在线观看免费 | 久草在线首页 | 国产1区2| www干| av日韩一区二区三区 | 在线播放中文字幕 | 午夜欧美性欧美 | 欧美日韩国产在线人成dvd | 成年美女黄的视频网站 | 嫩草99| 久艹在线观看视频 |