习题集
文章平均质量分 54
FindYou.
我深怕自己本非美玉,故而不敢加以刻苦琢磨,却又半信自己是块美玉,故又不肯庸庸碌碌,与瓦砾为伍。 - 中岛敦 《山月记》
展开
-
D - Swapping Puzzle(AtCoder Beginner Contest 332)
D - Swapping Puzzle(AtCoder Beginner Contest 332) 分析 + 代码原创 2023-12-12 21:51:05 · 924 阅读 · 1 评论 -
AtCoder Beginner Contest 330(E - Mex and Update)
给你n个数(数组的下标从1开始的),q次询问,每次询问给你两个数x和y,把a[x]替换成y 每次替换后,问你这个数组里面缺的最小的非负整数(包括0)是谁?最暴力的做法是:每一次换完之后,我就去把a[i]排个序,然后去看看从0开始往后,第一个在a数组里面没有的那个数就是答案,但是这样的时间复杂度大概是O(n^2)就会TLE。就是a数组里面第一个缺的,还有一个问题,怎么判断哪个数在数组里面出现过?这个时候set集合就派上了很大的用场,set是去重加排序的,因此,我每次把a缺的数存到set集合里面,每次输出。原创 2023-11-28 20:51:48 · 383 阅读 · 0 评论 -
月月查华华的手机
注意是第一个, 有点贪心的感觉 每次都跳 只要没达到si的长度我就跳 要是 a[i][j] = 0了 就表示断了 后面没有(j + 'a')这个字母了。如果直接考虑双重for循环比较会超时, 因此我们要预处理 int a[i][j] 表示的是第i个位置的字母 后。给出母串 s,给出 m 次询问,每次询问给出的子串 si 是否是 s 的子序列。(j+'a')字母的。原创 2023-11-28 17:17:45 · 334 阅读 · 2 评论
分享