模拟
lamentropetion
---
展开
-
【模拟 + 离线】CF1719 C
然后用双端队列模拟的过程中统计答案,用指针idx指向当前是哪个询问,然后idx ++保存答案。离线操作,其实就是把询问保存下来,按关键字排序,然后按关键字模拟,保存答案。模拟完n轮之后,可能会有询问的轮数很大,因此需要额外处理这些轮数很大的询问。一开始开了个前缀和数组直接模拟然后统计,T了,因为空间直接是N*Q的。这道题我们按轮数模拟,因此我们可以把询问保存下来,按轮数排序。对于最大值左边的数,答案可以直接模拟轮数得到。对于最大值,答案直接就是pos。对于最大值右边的数,答案就是0。手摸以下样例容易发现。原创 2023-08-08 11:51:40 · 120 阅读 · 0 评论 -
【小DS】ABC253 C - Max - Min Query
操作3就直接输出就行,值得注意的是set最大值和最小值的写法,最大值应该是*prev(S.end()),而不是(*S.end()),end是到不了的。因为是多次删除,怕超时(事实上不会),又要维护它存不存在,因此加个维护的东西:每个数出现的次数。然后考虑修改操作,把min(c,x的次数)的x从集合里删除。操作1就是把原来的erase掉,次数加上去后再insert。首先看需要维护的是什么,是集合里最大值和最小值。操作2就是删除旧的,修改出现次数后换成新的。因为是修改和询问,考虑DS。原创 2023-04-19 00:14:38 · 96 阅读 · 0 评论 -
【简单模拟】ABC240 D - Strange Balls
在模拟的时候,先去明确要维护的是什么东西,然后再去考虑修改操作对要维护的东西的影响,再去添加需要维护的量。如果进球之后不消,那么cnt++,栈里加球即可。但是如果消掉之后,栈里一个个球出来复杂度会很高。因此考虑不进重复的球,然后维护每个球的出现次数。答案是每次操作之后栈里剩余多少球。如果消掉了,只pop一次即可。原创 2023-04-12 22:53:18 · 60 阅读 · 0 评论 -
【篮球杯 日期处理】 跑步锻炼
模拟原创 2023-03-14 16:36:15 · 46 阅读 · 0 评论 -
Codeforces Round #258 (Div. 2) B. Sort the Array
模拟原创 2023-01-13 12:50:22 · 43 阅读 · 0 评论 -
时间哈希+日期处理 睡大觉
模拟原创 2022-12-17 00:06:38 · 451 阅读 · 0 评论 -
【蓝桥杯】 枚举顺序:蛇形矩阵
模拟原创 2022-10-05 13:52:51 · 228 阅读 · 0 评论 -
Codeforces Round #820 (Div. 3) B Decode String
模拟的奥义原创 2022-09-13 23:20:14 · 161 阅读 · 0 评论