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

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

cf刷題筆記: 1742E. Scuza

2022-10-15 14:14 作者:StepfenShawn  | 我要投稿

題目地址:

https://codeforces.com/problemset/problem/1742/E

暴力法超時(shí)

大概意思給出腿長(zhǎng)和每個(gè)階梯的高度差,求出該腿長(zhǎng)下能達(dá)到最大的高度。

看完題目后,估計(jì)大家心想: 這么簡(jiǎn)單還放在E題?

一開(kāi)始想法直接暴力模擬, 為什么暴力呢? 我們只需要迭代高度差并比較腿長(zhǎng), 直接將算出最高的高度, 這樣的算法復(fù)雜度才O(n), 值得賭一手:

看到測(cè)試用例一直都正確通過(guò),心里還是挺開(kāi)心的,結(jié)果到了test5,超時(shí)。。。

二分查找答案

我們先用前綴和的方法求出樓的總高度, 假設(shè)前綴和數(shù)組為b, 那么不管腿長(zhǎng)為多少, 答案的范圍必定在[0,?b[-1]]之間.

既然答案的范圍都找到了,不然想到用二分法去搜索,這樣算法復(fù)雜度會(huì)降到O(nlogn)。

如何搜索呢? 我們將問(wèn)題轉(zhuǎn)化, 對(duì)于腿長(zhǎng)K, 我們需要在a1,...,ai中找到下標(biāo)i使得ai <= k (這里的ai是a1,...,ai的最大值)

我們需要新建另一個(gè)數(shù)組m, 滿足mi = max(a1, ..., ai), 于是mi <= k。接下來(lái)我們可以用二分搜索找到這個(gè)索引i, 輸出b[i]就是我們的答案了

本題貌似還滿足最優(yōu)子結(jié)構(gòu), 本蒟蒻還在想一種dp解法, 可惜太弱沒(méi)把狀態(tài)方程找出來(lái)。。

cf刷題筆記: 1742E. Scuza的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
巴青县| 改则县| 黎平县| 锡林浩特市| 宜良县| 会同县| 莱芜市| 正阳县| 开江县| 浏阳市| 方正县| 修水县| 红桥区| 乌海市| 淅川县| 松潘县| 潮州市| 通海县| 博湖县| 巴青县| 沁源县| 三原县| 苍南县| 乃东县| 全椒县| 东海县| 鹿邑县| 云南省| 高邮市| 黄浦区| 观塘区| 汾阳市| 广州市| 长子县| 礼泉县| 西峡县| 麦盖提县| 鸡泽县| 开江县| 临安市| 沾化县|