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

歡迎光臨散文網(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場周賽的評論 (共 條)

分享到微博請遵守國家法律
海南省| 疏附县| 临武县| 南康市| 美姑县| 同江市| 江陵县| 万山特区| 永新县| 金川县| 商河县| 拉萨市| 含山县| 吉安市| 岳阳县| 武城县| 民丰县| 南皮县| 佛坪县| 滦平县| 锡林浩特市| 麻栗坡县| 怀化市| 惠东县| 祁门县| 溧水县| 河西区| 梁河县| 丰宁| 布拖县| 黔南| 吴江市| 民勤县| 瑞安市| 巴青县| 兰州市| 海晏县| 肥东县| 沭阳县| 浪卡子县| 塔河县|