日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

2016级算法期末上机-F.中等·AlvinZH's Fight with DDLs II

發布時間:2025/4/14 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 2016级算法期末上机-F.中等·AlvinZH's Fight with DDLs II 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1118 AlvinZH's Fight with DDLs II

思路

中等題,貪心。

理解題意,每次攻擊中,可以使某個敵人生命值-1,自己生命值減去∑存活敵人總攻擊力。

貪心思想,血量少攻擊高的要先消滅,所以以A/L作為參數排序,即將所有的敵人根據A/L從大到小排序。

遍歷一次,對于排序好的敵人,HP減去(總攻擊*該敵人血量),總攻擊減去該敵人攻擊。代碼如下:

HP -= (sumA * H[i].L); sumA -= H[i].A; if(HP <= 0) break;

分析

貪心證明:對于已經排好序的序列,HP總消耗為 \(\sum_{i = 1}^{n}\sum_{j = i}^{n}\left ( H[i].L*H[j].A \right )\)

如果我們交換其中相鄰兩個的位置,位置設為x,y,HP消耗與原來相比,有影響的也只有i=x和i=y兩項,原來是 \(H[x].L*\sum_{j=x}^{n}H[j].A + H[y].L*\sum_{j=y}^{n}H[j].A\) ,而現在變成了\(H[y].L*\sum_{j=x}^{n}H[j].A + H[x].L*\left ( H[x].A+\sum_{j=y+1}^{n}H[j].A \right )\) ,其他未變,后者減去前者,得到\(H[y].L*H[x].A-H[x].L*H[y].A\) ,依照排序來看,有 \(\frac{H[x].A}{H[x].L} \geq \frac{H[y].A}{H[y].L}\) ,所以后者減去前者的值是大于等于0的。

由此可以證明:如果相鄰兩個交換,會導致HP總消耗增加。任何的一個攻擊敵人次序,都可以在已排好序的次序上通過多次上述交換(相鄰,且索引值小的后移)得到,由此可以判斷所有的攻擊次序HP消耗值都大于等于原排序攻擊次列。

貪心得證,至于如何多次交換,可參考冒泡排序過程。

時間復雜度:O(nlgn)。

空間復雜度:O(n)。

參考代碼

/* Author: 朱輝(35)Result: AC Submission_id: 514527Created at: Mon Dec 25 2017 03:09:00 GMT+0800 (CST)Problem: 1118 Time: 4 Memory: 2840 */#include <cstdio> #include <iostream> #include <algorithm> using namespace std;struct Hero {int A, L;bool operator < (const Hero h) const {return 1.0 * A/L > 1.0 * h.A/h.L;} };int n, HP; Hero H[1005];int main() {while(~scanf("%d %d", &n, &HP)){int sumA = 0;//總攻擊力for (int i = 0; i < n; ++i) {scanf("%d %d", &H[i].A, &H[i].L);sumA += H[i].A;}sort(H, H+n);for (int i = 0; i < n; ++i) {HP -= (sumA * H[i].L);sumA -= H[i].A;if(HP <= 0) break;}if(HP > 0) printf("YES\n");else printf("NO\n");} }

轉載于:https://www.cnblogs.com/AlvinZH/p/8215853.html

《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀

總結

以上是生活随笔為你收集整理的2016级算法期末上机-F.中等·AlvinZH's Fight with DDLs II的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产乱人乱偷精品视频a人人澡 | 欧美久久久久久又粗又大 | 插插插日日日 | 日韩激情视频在线观看 | 亚洲性xxxx| 久草欧美 | 日韩欧美亚洲一区二区 | 天天看毛片 | 国产精品美女久久久久av超清 | 91大片在线观看 | 久久久久久婷 | 国产又粗又黄的视频 | 亚洲 另类 春色 国产 | av在线播放不卡 | 亚洲免费在线观看 | 黑人极品videos精品欧美裸 | 伊人av综合 | 少妇人妻综合久久中文字幕 | 熟女肥臀白浆大屁股一区二区 | 国产a级片免费看 | 日本高清视频免费看 | 一级视频毛片 | 亚洲激情在线视频 | 丁香花完整视频在线观看 | 亚洲综合在线一区二区 | 黄a毛片 | 国产免费观看一区 | 香港三日本8a三级少妇三级99 | 天天干干干 | 黑人巨大精品一区二区在线 | 毛片动态图 | 国产爆操视频 | 日韩女优中文字幕 | 91国产中文字幕 | xxx色| 中文理论片| 久久久久国产精品夜夜夜夜夜 | 女王脚交玉足榨精调教 | 天堂资源在线播放 | 亚洲欧美成人一区二区三区 | 免费在线观看黄色av | 97在线观看免费 | 加勒比伊人 | 97九色 | 176精品免费| 亚洲自拍偷拍综合 | 国产精品剧情 | 羞羞动漫免费观看 | 久久香蕉网站 | 欧美 日韩 国产 成人 在线 91 | 亚洲色网址 | 国产亚洲小视频 | 国产视频第二页 | 国产成人亚洲精品 | 欧美日韩精 | 国产91一区 | 久久国产精品精品国产色婷婷 | 在线看你懂得 | 男生插女生的网站 | 美女被日网站 | 就操在线 | 日本国产精品 | 日本高清视频一区 | 蜜桃精品视频在线观看 | 欧美男优 | 一区二区三区免费观看视频 | 中文字幕黑丝 | 亚洲13p | jizz亚洲女人高潮大叫 | 欧美精品在线一区二区三区 | 日韩伦理在线视频 | 毛片在线免费观看视频 | 奇米7777| 日韩在线视频免费播放 | 日本边添边摸边做边爱 | 久伊人 | 在线免费观看黄色片 | 国产精品毛片av | 男人视频网站 | 亚洲欧美精品一区二区 | 国产淫语| 蜜桃麻豆视频 | 在线看www| 抖音视频在线观看 | 直接看的av网站 | 伦理片久久 | 花房姑娘免费观看全集 | 亚洲少妇自拍 | 日本黄色一级网站 | 日韩成人在线一区 | 色播av| 男生和女生一起搞鸡 | 成人免费视频国产免费 | www.人人草 | 奇米影视第四色7777 | 天堂网亚洲 | 手机免费av | 四虎精品一区 | 中文字幕91爱爱 |