最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

[Codeforces is All You Need] ER 137 E (1743E) - Solution

2022-10-19 12:13 作者:故寓諸無竟  | 我要投稿

問題簡述

????????有兩門激光炮,充能時間分別為t_0%2Ct_1,傷害分別為p_0%2Cp_1。敵人有s大小的護盾,生命值為h。兩門激光炮在充能完畢后,可在任意時間單獨發(fā)射,也可以一同發(fā)射(可能需要等待另一門充能完畢)。激光炮u單獨發(fā)射造成的傷害為p_u-s,兩門一起發(fā)射造成的傷害為p_0%2Bp_1-s。求擊敗敵人(生命值不高于0)所需的最小時間。

????????題目鏈接:https://codeforces.com/contest/1743/problem/E

思路

????????注意到每次兩門激光炮同時發(fā)射后,充能時間歸零,相當于回到了最初的時候,具有相當顯然的子問題性質(zhì),因此不妨設f_i表示擊敗生命值為i的敵人所需的最小時間。下面討論最核心的轉(zhuǎn)移方程(會有一些其它細節(jié),本題解不做考慮)。

????????不難發(fā)現(xiàn),在每次齊射到下一次齊射的時間T中,一定有一門激光炮沒有任何等待,因此可以枚舉該門激光炮u發(fā)射的次數(shù)j,由此決定T%3Dj%5Ctimes%20t_%7Bu%7D。在這一時間內(nèi),另一門激光炮!u一定會沒有等待地發(fā)射%5Cleft%5Clfloor%20%5Cfrac%7BT%7D%7Bt_%7B!u%7D%7D%20%5Cright%5Crfloor%20-1次。由此,總共的傷害值:

%5Cdelta(j%2Cu)%20%3D%20%5Cleft(%20%5Cleft%5Clfloor%20%5Cfrac%7BT%7D%7Bt_%7B!u%7D%7D%20%5Cright%5Crfloor-1%20%5Cright)%5Cleft(p_%7B!u%7D-s%5Cright)%20%2B%20j%5Ccdot%20(p_u%20-s)%20%2B%20p_%7B!u%7D

????????因此有:

f_i%20%3D%20%5Cmin_%7Bu%5Cin%5C%7B0%2C1%5C%7D%2C%20j%7D%20j%5Ccdot%20t_u%20%2B%20f_%7Bi-%5Cdelta(j%2Cu)%7D

????????j最多不會超過h,因此總的復雜度是O(h%5E2)的,足夠通過本題。以上略去了很多細節(jié),但核心是正確的,通過截圖如下:

1743E 通過截圖

后記

????????本場的實況錄屏見https://www.bilibili.com/video/BV1bG4y1n7oH。臨場沒能及時反應過來。當時寫了一個齊射間固定使用一種策略二分貪心,后來意識到應該要dp,但覺得可能有點麻煩就放棄了——沒想到寫起來挺容易的。

[Codeforces is All You Need] ER 137 E (1743E) - Solution的評論 (共 條)

分享到微博請遵守國家法律
新建县| 石嘴山市| 湘西| 达孜县| 汽车| 白山市| 桦南县| 诸暨市| 和顺县| 阆中市| 丹东市| 张家港市| 东方市| 延长县| 邢台市| 中西区| 遵义县| 定州市| 纳雍县| 察雅县| 兴隆县| 海兴县| 玛纳斯县| 合作市| 自贡市| 淄博市| 乌兰浩特市| 海丰县| 肥东县| 交城县| 九台市| 南投县| 浦北县| 仪征市| 江川县| 瑞安市| 绍兴县| 铜梁县| 徐汇区| 石城县| 永吉县|