多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > php開源 > php教程 > 【日常學習】【條件最短路dij】POJ1062 昂貴的聘禮(2002年浙江省隊選拔賽) 題解

【日常學習】【條件最短路dij】POJ1062 昂貴的聘禮(2002年浙江省隊選拔賽) 題解

來源:程序員人生   發布時間:2015-07-28 07:56:07 閱讀次數:2706次

耗時3節課 充分體現出粗心釀成大錯這個道理 1開始1直不知道為何數組越界 原來是minn和ninj寫反了 后來又由于讀入函數出問題 反復調試 今后1定要注意


題目還是放上吧:

題目描寫 Description

年輕的探險家來到了1個印第安部落里。在那里他和酋長的女兒相愛了,因而便向酋長去求親。酋長要他用10000個金幣作為聘礼才答應把女兒嫁給他。探險家拿不出這么多金幣,便要求酋長下降要求。酋長說:“嗯,如果你能夠替我弄到大祭司的皮襖,我可以只要8000金幣。如果你能夠弄來他的水晶球,那末只要5000金幣就好了。”探險家就跑到大祭司那里,向他要求皮襖或水晶球,大祭司要他用金幣來換,或替他弄來其他的東西,他可以下降價格。探險家因而又跑到其他地方,其他人也提出了類似的要求,或直接用金幣換,或找到其他東西就能夠下降價格。不過探險家沒必要用多樣東西去換1樣東西,由于不會得到更低的價格。探險家現在很需要你的幫忙,讓他用最少的金幣娶到自己的心上人。另外他要告知你的是,在這個部落里,等級觀念10分森嚴。地位差距超過1定限制的兩個人之間不會進行任何情勢的直接接觸,包括交易。他是1個外來人,所以可以不受這些限制。但是如果他和某個地位較低的人進行了交易,地位較高的的人不會再和他交易,他們認為這樣等因而間接接觸,反過來也1樣。因此你需要在斟酌所有的情況以后給他提供1個最好的方案。

為了方便起見,我們把所有的物品從1開始進行編號,酋長的承諾也看做1個物品,并且編號總是1。每一個物品都有對應的價格P,主人的地位等級L,和1系列的替換品Ti和該替換品所對應的“優惠”Vi。如果兩人地位等級差距超過了M,就不能“間接交易”。你必須根據這些數據來計算出探險家最少需要多少金幣才能娶到酋長的女兒。

輸入描寫 Input Description

輸入包括了多個測試數據。每一個測試數據的第1行是兩個整數MN1<=N<=100),順次表示地位等級差距限制和物品的總數。接下來依照編號從小到大順次給出了N個物品的描寫。每一個物品的描寫開頭是3個非負整數PLXX<N),順次表示該物品的價格、主人的地位等級和替換品總數。接下來X行每行包括兩個整數TV,分別表示替換品的編號和“優惠價格”。

輸出描寫 Output Description

對每一個測試數據,在單唯一行內輸出最少需要的金幣數。

樣例輸入 Sample Input

1 4

10000 3 2                             //酋長的承諾

2 8000

3 5000

1000 2 1                              //大祭司的皮襖

4 200

3000 2 1                              //大祭司的水晶球

4 200

50 2 0                               // 其他某件物品

樣例輸出 Sample Output

5250

很容易想到構造1個圖,圖的各節點就是各個物品,權值就是優惠后的價格 把商人設置為0.,找到1的最短路便可。由于遭到等級限制,經過的節點必須和1的等級相差不超過m,那末對每一個上下相差值為m的區間查找最短路便可,最后取最小值。

方便大家理解,畫了1張很低劣的圖,大家湊活看1下


代碼放上:


在這里還要特別說明1下大整數常量的定義 

const int maxn=0x3f3f3f3f;

這真是極好的存在= =援用1下1篇已消失的博文的解釋(順便吐槽域名重定向去了甚么鬼地方):

0x3f3f3f3f的10進制是1061109567,也就是10^9級別的(和0x7fffffff1個數量級),而1般場合下的數據都是小于10^9的,所以它可以作為無窮大使用而不致出現數據大于無窮大的情形。
另外一方面,由于1般的數據都不會大于10^9,所以當我們把無窮大加上1個數據時,它其實不會溢出(這就滿足了“無窮大加1個有窮的數仍然是無窮大”),事實上0x3f3f3f3f+0x3f3f3f3f=2122219134,這非常大但卻沒有超過32-bit int的表示范圍,所以0x3f3f3f3f還滿足了我們“無窮大加無窮大還是無窮大”的需求。
最后,0x3f3f3f3f還能給我們帶來1個意想不到的額外好處:如果我們想要將某個數組清零,我們通常會使用memset(a,0,sizeof(a))這樣的代碼來實現(方便而高效),但是當我們想將某個數組全部賦值為無窮大時(例如解決圖論問題時鄰接矩陣的初始化),就不能使用memset函數而得自己寫循環了(寫這些不重要的代碼真的很痛苦),我們知道這是由于memset是按字節操作的,它能夠對數組清零是由于0的每一個字節都是0,現在好了,如果我們將無窮大設為0x3f3f3f3f,那末奇跡就產生了,0x3f3f3f3f的每一個字節都是0x3f!所以要把1段內存全部置為無窮大,我們只需要memset(a,0x3f,sizeof(a))。
所以在通常的場合下,0x3f3f3f3f真的是1個非常棒的選擇。


總結起來就是3句話
1 夠大,1般這么大你不會用到
2 夠大但不容易溢出
3 方便數組賦值(如果你用FF會變成負數,符號位也會成1)



1輪開始了,該來的總會來的。

歡迎小花加入C黨大家族,本科同學你現在是1個人了,摸頭???祝小花的喜家家之路1帆風順。


――君子博學而日參省乎己,則知明而行無過矣。

生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 三级中文字幕永久在线视频 | 欧美日韩另类国产 | 亚洲永久免费视频 | 色综合久久久久久久久五月 | 欧美在线观看视频一区 | 国产区图片区小说区亚洲区 | 福利第一页| 国产一级爱片在线播放 | 国产精品夜色视频一区二区 | 在线成人免费观看国产精品 | wwwww在线观看 | 真性中出 | 另类一区 | 99热成人精品国产免男男 | 国产真实乱小说 | 国产成人激情视频 | 国产精品久久现线拍久青草 | jizz亚洲日本jizz | 在线观看网址 | 精品高清国产a毛片 | 欧美黑人巨大xxxx猛交 | 一级特黄特色aa大片 | 国久久 | 一级做a爰性色毛片免费 | 性欧美videofree高 | 成人午夜免费在线观看 | www黄网站| 91视频啪啪| 最近中文字幕无免费 | 免费a级作爱片免费观看中 免费a网站 | 欧美video free xxxxx | 亚洲精品中文字幕乱码三区 | 欧美最猛黑人xxxx黑人猛交黄 | 91亚洲区国产区精品区 | 欧美一级日韩一级 | free性欧美黑人 | 国产大毛片 | 久草在线免费福利资源 | 国产亚洲欧美日韩在线一区 | 牛仔裤美女国产精品毛片 | 操操爱 |