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

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

分享到微博請遵守國家法律
瑞安市| 凉山| 衡东县| 新乡县| 舒城县| 东光县| 东方市| 疏附县| 遵义市| 天祝| 沙河市| 辽中县| 黄梅县| 得荣县| 蒙自县| 开封县| 桃源县| 鄄城县| 铁岭市| 温宿县| 和政县| 策勒县| 望奎县| 彭山县| 惠东县| 鞍山市| 云南省| 台南县| 凤阳县| 年辖:市辖区| 东兴市| 无为县| 盐源县| 彭阳县| 白山市| 张家港市| 兰坪| 新昌县| 简阳市| 吉木萨尔县| 化隆|