国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

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

復(fù)盤|第349場周賽

2023-06-12 13:16 作者:UCLmsc  | 我要投稿

既不是最小值也不是最大值

【排序】前三個元素排序取中間的,當(dāng)元素個數(shù)<=2時不存在。

執(zhí)行子串操作后的字典序最小字符串

【貪心】據(jù)題意,把a(bǔ)替換成z會讓字典序變大,所以目標(biāo)子串里不應(yīng)包含a,其他字母都可以替換。從左到右找到第一個不等于a的字符s[i],冰箱后不斷不斷減一,直到s末尾或遇到a。特判s全a的情況,此時把最后一個a改為z。

收集巧克力

【枚舉】如果不操作,第i個巧克力必須花費nums[i]收集,總成本為所有nums[i]之和。如果操作一次,第i個巧克力可以花費min(nums[i], nums[(i+1) mod n], nums[(i+1) mod n])收集,如果操作兩次,第i個巧克力可以花費min(nums[i], nums[(i+1) mod n], nums[(i + 2) mod n])收集。暴力枚舉需要O(n^3),可以用一個長為n的數(shù)組sm統(tǒng)計操作i次的總花費,這樣就可以一邊枚舉子數(shù)組,一邊求最小值,一邊累加花費了。

最大和查詢

【排序 + 單調(diào)棧 + 二分】先把nums1和詢問中的x_i排序,按照x_i從大到小,nums1[j]從大到小的順序處理,同時增量地維護(hù)nums1[j]≥x_i的nums2[j]。如果nums2[j]比之前遍歷過的nums2[j']小,由于nums1[j]從大到小處理的,所以nums1[j]+nums2[j]也比之前遍歷過的nums1[j']+nums2[j']?。蝗绻嗟?,無需考慮;如果大于,可以入棧。如果nums1[j+nums2[j]不低于棧頂?shù)膎ums1[j']+nums2[j'],那么可以彈出棧頂。因為更大的nums2[j]更能滿足≥y_i的要求,棧頂?shù)膎ums1[j]+nums2[j]在后續(xù)的詢問中,永遠(yuǎn)不會是最大值。代碼實現(xiàn)時,可以直接比較nums1[j]+nums2[j]與棧頂?shù)闹担@是因為如果這一條件成立,由于nums1[j]是從大到小處理的,nums1[j]+nums2[j]能比棧頂?shù)拇?,說明nums2[j]必然不低于棧頂?shù)膎ums2[j']。這樣會得到一個從棧底到棧頂,nums2[j]遞增,nums[j]+nums2[j]遞減的單調(diào)棧。最后在單調(diào)棧中二分≥的最小的num2[j],對應(yīng)的nums1[j]+nums2[j]就是最大的。

【動態(tài)開點線段樹】按照查詢的y_i的大小排序,從后往前處理每個查詢,對于每個查詢,需要找到所有comb[j] [0] + comb[j] [1]的最大值。用線段樹維護(hù)這個信息,用線段樹的每個節(jié)點表示一個區(qū)間[l, r],節(jié)點的值表示所有滿足comb[j] [1]屬于區(qū)間comb[j] [0] + comb[j] [1]的最大值,對于每個查詢,將所有滿足comb[j] [0]>= x_i的comb[j] [1]插入線段樹,然后查詢區(qū)間[y_i, MX]的最大值。


復(fù)盤|第349場周賽的評論 (共 條)

分享到微博請遵守國家法律
共和县| 中西区| 彭山县| 上饶市| 津南区| 益阳市| 齐齐哈尔市| 乌拉特中旗| 孙吴县| 历史| 志丹县| 拉萨市| 汨罗市| 江西省| 泽州县| 平塘县| 鹰潭市| 稷山县| 油尖旺区| 钦州市| 夏津县| 昌乐县| 克什克腾旗| 黔西| 醴陵市| 鄂伦春自治旗| 江华| 遂川县| 合肥市| 雷山县| 灵丘县| 浦县| 塘沽区| 淮阳县| 台湾省| 尼勒克县| 安溪县| 沅陵县| 曲松县| 石景山区| 顺昌县|