互测记录
有分了不起,开机夸自己!
2023.10.29 Round 1
看 T1,不会;看 T2,发现不是我能做的题;看 T3,网络流计数,感觉也做不了。
那么只能做 T1 了!做做做,不会一点!破防了。
最后没有写代码,以为大家都会 T1,最后好像只过了
A 优惠购物
初始钦定不用优惠券,此时最后会剩下
分析一下
- 第一阶段:前
次使用,减少 。 - 第二阶段:使用
个,减少 。 - 第三阶段,使用
个,减少 。
从性价比的角度分析,第一阶段
对于第一阶段,从后往前贪心。
对于第二阶段,从后往前贪心。
对于第三阶段,假设
B 树哈希
不会数学。
C 网格图最大流计数
不会线性代数。
2023.10.29 Round 2
开场看 A,猜 DP 的时候只需要记录一对
看 B,不会一点,但是找规律发现了
看 C,怒砍了 5 分。
看 B,发现
最后 100+35+5=140。
A 序列
考虑 DP。按照前缀最大值分段,每次找到最后一个前缀最大值和倒数第二个前缀最大值,分别设为
B 没有创意的题目名称
先明确一下合法条件:
- 对于
, 。 。
打个表发现序列的一段前缀是
考虑循环节是为什么。假设
考虑前缀是为什么,令
所以对于
先讨论
- 对于所有
需要满足 ,如果 ,那么它是充要的。 ,因为 ,所以 ,可以推出 。
所以它充要了。也即:
再讨论
如果
如果
于是直接乘起来计数即可。复杂度为
C 傅里叶与交通规划
摆了。
2023.11.5 Round 3
雅礼两周一次的假在今天。
A Permutation Counting 2
首先
容斥,钦定原排列和逆排列有
- 和为
。 - 不存在任意一行或者任意一列的和为
。
容斥插板计算即可。复杂度
怎么计数只会 DP 了,未必所有题都可以 DP 做,可以尝试转化计数新的对象。
B 化学实验
不会写 LCT
C 物理实验
不会数学
2023.11.6 Round 4
开场看 T1,感觉是个流题。推了推感觉很有感觉啊!然后就会了点数和边数都是
然后因为
看 T2,不想做,5 分跑路。
看 T3,发现会第一问,然后想了想,感觉会 DFS 序为
出榜发现大家都会 T1,看了眼 T1 题解,然后破防了。
感觉对这种高强度的比赛还不是很适应啊,稍微不注意就少了好多分。我好菜呜呜呜。
A 数据库
把所有修改分成两类:
- 需要保存到下次修改该颜色,此时它占用的位置的时间区间为
。 - 改完就不管了,此时它占用位置的时间区间为
。
要求每个位置被覆盖的次数不超过
很像志愿者招募。利用下面的方式建图:
- 建立一排点
,流量为 ,边权为 。 - 对于每个颜色,建立一列点,其中第
个点向 连边,流量 ,费用 ; 向第 个点连边,流量 ,费用 。其中 为第 种颜色第 次出现的位置。
直接跑费用流即可,复杂度
这个做法还没有通过。
upd:小丑了,虽然硬流是能做的,但是志愿者招募的复杂度更优秀,是
B 左蓝右红
直接做完全不可做,需要找一些高妙结论。
把整个平面分成若干块,有一些必要条件:
必要条件一:边相邻的两个区域必然有一个无色。
证明考虑奇偶性,由于没有两个矩形有公共边,所以经过一条边必然改变覆盖次数的奇偶性(更准确的,覆盖次数会恰好变化
必要条件二:点相邻的两个区域不同色
证明考虑公共点,如果同色,那么它会有四条同色出边,而因为矩形的染色是蓝红相间的,所以每个点应该恰好有两条蓝色 / 红色出边,矛盾。
上面两个条件实际上已经是充分的了。
考虑判断合法,扫描线判断。对于一个横坐标区间,图形由偶数条横向的线段组成,其中第
注意到条件是等价关系,所以可以维护每条直线与哪些矩形的左下角颜色相同,利用扩展域并查集即可做到平方。
进一步观察,如果一些直线穿过了矩形的左侧线段,那么区间内直线的对应关系会改变(横线编号奇偶性改变),简单推导等价关系可以发现,穿过这条线段的所有直线颜色都相同。所以可以利用连续段均摊维护限制,复杂度
写起来有点麻烦,放个代码在这里。实现思路是先处理区间推平,然后对于端点特殊考虑其配对的线段。code
C 世界沉睡童话 70p
step 1:刻画点运输的路线
不妨令被删掉的边为黑色,其余边为白色。
从局部信息入手。对于
从终点推起点的方式也是类似的,对于一个终点,判断另一个点是否为其起点的方法也是简单的,只需要判断路径上的每条边是否为能够使遍历继续的“预期颜色”,那么终点边和预期颜色不同,其余边和预期颜色相同。
step 2:解决问题
上面的操作可以导出一个平方做法。维护部分染色方案,边为 黑 / 白 / 未染色 三种状态。分两步解决问题:
-
找到答案与
的 LCP:从 依次遍历。对于每个点,暴力找到其合法的起点集合,如果起点集合存在数大于 ,那么它可以成为第一个比 大的元素, 可以成为 LCP。计算合法集合之后,执行 ,表示令 的位置交换成 ,并将沿途的所有点染成对应颜色。如果出现矛盾,直接跳出循环即可。 -
还原方案:假设 LCP 长度为
,对于 ,执行 ,对于 ,找到集合中比 大的最小的数 ,执行 ,对于后面的所有数,找到合法集合中最小的数并执行 即可。
暴力实现是平方的,相信大家都很会重链剖分,可以优化到
2023.11.7 Round 5
开场看 T1,很有感觉啊,但是只会
个屁啊,写完只有 10pts,B 性质 T 掉了(B 性质复杂度是
上头了,一个 T1 你能秒我?因为之前写法空间爆了,换了个空间更小的写法,但是还是寄了!
奋斗 3h 只有暴力分,感觉难受。看 T2,发现可以贪心求
群里听说 T1 锅了,难绷。
然后头晕的不行,写 T3 的 10pts 就下班了。
回去发现 T1 数据修好了,但是没交,交上去应该有 35。
感觉 11 点开 T2 还是比较寄的,当时脑子都糊涂了,想题开题开始要趁早。
A Xor Master
结论:
那么可以做到
考虑优化单次重构,可以用一个套路:把线段树上每个节点中维护的
B 栞
考虑怎么求
因为求
C 数据结构
不会数据结构。
2023.11.9 Round 6
好难,不会,摆了。
2023.11.11 Round 7
开场三个题都看了一下。先开 T2。
然后发现我会做链的平方。然后发现如果按照 BFS 序插点就可以满足链的性质了。写了一个平方上去拿了 40。
然后发现反演一下套一个多点求值就做完了,但是我不会多项式,然后摆了。
看 T1,想了一下发现会排列的平方对数,写一个上去发现平方对数过了 10000,很震撼。然后又想了一下发现会了非排列的平方对数,写一发发现只有 40。然后会了平方,写一下发现还是只有 40。然后卡了半天常都过不去。最后把一个前缀和直接用树状数组求,它过了.jpg
然后写了个 T3 暴力下班了。
群里面讨论了一下,我,ya,zyf 三个人分数一模一样,怎么回事呢。
关于题目:摆了!!!
2023.11.12 Round 8
感冒了,摆了。
看起来好难,这就是 nfls 的实力吗。
2023.11.14 Round 9
上去去看了一下医生,11:00 才回来。看了眼 T1,感觉广义串并联图,问题是我并不会写这个东西。看 T2,不想看了。看 T3,反正肯定是我不会做的题。然后开摆了。
怎么这么摆啊。
然后 T3 过了一车,看一下也会了,怎么倒着放啊。
C Tree Topological Order Counting
存在一个
枚举点
注意到这个做法最后都会在相同的终点
题解给出了一种神秘构造使得我们可以求出
- 点有黑白两种颜色,初始所有点都是白色。每次选择一个白点,然后把其祖先中最浅的白点给染黑。假设第
次被染黑的节点是 ,我们令 。
显然所有排列的数量是
所以可以直接计数这个排列,然后把答案除以
什么诡异双射,记住了。
2023.11.16 Round 10
最小丑的一集。
看 T1,ptsd 了。然后也不太会这种题。先看 T2,发现也不会,但至少有 80 的点分治分。写一手点分治,但是太久没写数据结构了,写了 2.5h/px 什么码力。
然后没啥时间了。给 T3 写了个 20,因为不太会博弈所以继续回来看 T1。但是还是不会做,因为时间不多了,然后 T1 暴力还没写,所以心态有点炸,脑子一直是糊的。最后弃疗了,直接写暴力下班,然后暴力还写挂了/cf
然后比较精彩的是,我中午休息一会回来重新看 T1,发现之前猜的一个结论(每一层按照高度排序之后相邻两个数合并)看起来非常真。然后这个结论套 AGC009E 就可以得到一个平方做法。写完 75p,改成滚动数组后直接过了???
啊啊啊啊啊啊啊啊啊啊啊啊啊
感觉还是做题没有自信的问题,最优化题讲究一个自信即巅峰。
A 雷同
先刻画一下最后的答案:假设第
你发现
注意到一个节点被删除的时间是可以确定的,因为这相当于每次把所有偶数提取出来,把奇数删掉,所以在排名为
2023.11.28 Round 16
上完 whk 回来了!!!
看 T1,会了
然后感觉 B 长得很小清新,感觉像签到题,但是完全不会做构造,只会前三个包,想想想,根本不会,破防了!
然后弃疗开始写,写完看 T3,但是根本不想做,随便拼了点包,A 性质被我瞎搞过了第一个包。
然后回来看 A,编了个策略,感觉能过
斩获了整整 63 分,然后一点不会,下班!
发现 B 没人过,失策了。
A 最后的晚餐
暴力可以做到
先考虑
对于
- 如果当前前缀和末尾不是
,那就放 。- 否则,如果存在,任意选择一个数放上去。
- 否则,放
。
、
直接 DP 可以做到平方,但是 存在更简单的形式。如果到不了 1.2,那么可以取到上界 ,其中 是所有数的和。否则,可以取到另一个上界 。于是,答案是 。
以下给出构造:
- 如果当前前缀和末尾小于
,那么有 则放 ,否则使用上面的策略。 - 如果当前前缀和末尾等于
,那么:- 如果有偶数,放偶数。
- 否则,放
。 - 否则,放任意奇数。
- 否则,放
。
- 如果当前前缀和末尾等于
。- 如果有
,放 。 - 否则,放任意奇数。
- 否则,放
。
- 如果有
随后可以 DP 解决。求出
把后面的式子的
2023.11.30 Round 17
最后一把。
开场锁定 T2,想了半个小时发现会了 A 性质和 B 性质的麻烦做法,又想了一会发现 B 性质有好写一点的做法,只不过还是有点麻烦。先看看别的题。
看 T1,发现会用
看 T3,感觉非常混乱,编了个平方跑路了。
然后回来编 T2,暴力和 A 过得飞快,写 B 的时候发现好写做法假了/fn
急急急,然后又编了个做法,还是假的。绷不住了。
不过最后还是修出来了,修完直接摆烂了!
A 棋盘
感觉憨憨,可惜我不会构造/cf
最简单的构造是构造
然后正解的构造是构造斐波那契数列,大概是先放两格,然后不停在外面围
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】