刷题记录
文章平均质量分 71
evy
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
关于acwing 拐杖糖盛宴的做题记录
2.如果a[i]<b[j],那么这头牛每次身高都会翻倍,最大翻30次,就可以达到1e10这个数量级,之后每次的糖第一个到它就一定能在第一次吃完,时间复杂度都是o(1)。这种情况下最有可能跑满o(m*n),但真的跑得满吗,答案时肯定不行,如果能跑满1e10那么任何优化都会超时,知道这点可以让我们怎么说放心点吧(雾)本人首先看到题目n,m都是1e5级别,直觉来看暴力解决就是o(m*n)时间复杂度是1e10级别。这个级别就算是o(n)都没有办法解决 o(n)能解决的数据量在1e8。原创 2025-04-09 16:30:05 · 173 阅读 · 0 评论 -
关于acwing 农夫约翰最喜欢的操作的做题记录
所以我们将所有的ai%m都放在一个长度为m的环上,此时环上所有的数都可以作为中位数,任选一个点为x,过x和圆心做一个穿过整个圆的直线,在直线右边的点都通过+1来到达x 而左边的模数都通过-1来到达x。同理 这个农夫问题就是求如何放置x 使得所有的ai%m到x的总距离最小(因为每次的操作数都是1,故这里叫做距离)注意我们这里求的是:在所有已经选定的x中的,每个已定x都有一个最小操作数,求的是这些所有最小值中的最小值。x左边区间:a[x]-a[i]+....+a[x]-a[x-1]==(x-i)*a[x]-原创 2025-04-09 14:45:54 · 1044 阅读 · 0 评论 -
关于acwing 蛋糕游戏的做题记录
故只需要将n个蛋糕中所有连续的n/2+1个蛋糕的每次堆叠的大小中的最小值求出就行(至于为什么n/2+1列举几次例子就行)然后所有蛋糕总数-这个最小值便是elivin贪心吃掉的蛋糕。将o(n*n)转化成了o(n)i++) //构造前缀和数组 一次o(n)后面每次查询都是o(1) 如果不用前缀和 那么循环嵌套就是o(n**2)i++) //构造前缀和数组 一次o(n)后面每次查询都是o(1) 如果不用前缀和 那么循环嵌套就是o(n**2)于是我激动得¥#%……原创 2025-04-08 15:03:49 · 882 阅读 · 0 评论
分享