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

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

復盤|第313場周賽

2022-10-02 20:47 作者:UCLmsc  | 我要投稿

6192. 公因子的數(shù)目?https://leetcode.cn/problems/number-of-common-factors/

【暴力枚舉】遍歷1到min(a,b),同時能被a和b整除的數(shù)就是公因子咯。

【枚舉】相比上個稍微改進了下,遍歷1到gcd(a,b),如果i * i < g,說明i和g/i是兩個不同的因子,所以多加一次。

6193. 沙漏的最大總和?https://leetcode.cn/problems/maximum-sum-of-an-hourglass/

【枚舉】用中間的格子當錨點,枚舉中間的格子,然后累加自身和周圍六個格子。

6194. 最小 XOR?https://leetcode.cn/problems/minimize-xor/

【位運算 + 貪心】為了讓x xor num1的結(jié)果變小,必然是用x二進制位的1異或上num1二進制位的1,那么可以把x初始化為num1,1的誤差后面再處理。貪心思路:對于num1是從左往右盡可能刪1,如果多出來從右往左補1;對于x,如果1不夠,那么只保留左邊的1,相當于從右往左刪差額數(shù)量的1,如果1多出來了,在0的基礎(chǔ)上,加上差額的1。

復習下lowbit: x & (x - 1)最右1變0,x | (x + 1) 最右0變1。

6195. 對字母串可執(zhí)行的最大刪除數(shù)?https://leetcode.cn/problems/maximum-deletions-on-a-string/

【線性dp】看題意找到子問題,定義f[i]為s[i:]的最大刪除次數(shù),那么f[i] = f[i + j] + 1(j是前綴長度)。此外,本題需要用到LCP(最長公共前綴)即只有s[i: i + 1] == s[i + j: i + 2* j]時,才有f[i] = f[i + j] + 1,其他時候f[i] = 1(找不到公共前綴,只能全刪)。注意,遍歷時j的范圍計算:i + 2 * j <= n → j <= (n - i) // 2。

兩個后綴的最長公共前綴→lcp[i] [j] 是 s[i:]和s[j:]的最長公共前綴,lop[i] [j] ?= lop[i + 1] [j + 1] if s[i] == s[j] else 0(倆字串要是第一個字符都不一樣,最長公共前綴不存在,直接等于0)。只有每一項都相等才更新f[i],即lcp[i] [i + j] >= j。

代碼順序上,先倒推一次預處理lcp,再倒推一次算動態(tài)轉(zhuǎn)移。(因為本題的f[i]是由f[i+1]轉(zhuǎn)移而來,最后ans = f[0])

由于數(shù)據(jù)不強,本題也可以【記憶化+切片】,沒有超時。

復盤|第313場周賽的評論 (共 條)

分享到微博請遵守國家法律
东丽区| 石泉县| 景东| 蒙山县| 赣榆县| 临江市| 沙坪坝区| 靖安县| 苍南县| 大庆市| 通辽市| 昭苏县| 淳化县| 蛟河市| 苗栗市| 鄂伦春自治旗| 许昌县| 昌吉市| 昭苏县| 罗田县| 西充县| 元阳县| 石嘴山市| 中宁县| 乌拉特后旗| 永仁县| 丁青县| 盖州市| 常德市| 喀什市| 石屏县| 阿坝县| 尼勒克县| 文昌市| 神农架林区| 丹巴县| 长沙市| 宿州市| 宜昌市| 北流市| 漳州市|