CF 下分记录

924 div2

+61=2141

C 想得不是很清楚,有个 ±1 在代码里反了,拍了一下才检查出来。这种题还是在草稿纸上写清楚吧
E 一开始想的是判定性 DP,胡了一会才想到可以把一个状态放到 DP 值里。没开 LL 吃了个罚时,唉
难得在最后 5min 过了 E,安享晚年.jpg

hello2024

+31=2080

签得很慢
zsy 很早就告诉我 D 容易/jk
好在会 F1,不至于掉分。不过把 bld 改成 mdf 的时候没判断递归哪边吃了个罚时
过了零点脑子完全不转了,最后也不会 D

C. Grouping Increases

赛时写了个线段树优化 dp。。。

考虑贪心。设 xy 为两个子序列末尾的元素。加入 ai 时,

  • aix,令 x=ai
  • x<aiy,令 y=ai
  • ai>y,令 x=ai

证明考虑 ai 最多在前后各造成 1 的代价,能不在前面付出代价就不要付出。x 一定时 y 越大越好
时间复杂度 O(n)

D. 01 Tree

显然父亲相同的叶子到根的距离差 1,且父亲到根的距离为儿子中距离较小的那个。赛时一直在想根据 dfs 序构造

考虑剥叶子。问题转化为若 a[i]=a[i1]+1a[i]=a[i+1]+1 则可以删去 a[i],问能否删至只剩 0。每次尝试删最大值就行了
可以做到 O(n)

edu152(div2)

+174=2049

B 没细看数据范围 WA 了一次
D 没判 i1=0 WA 了一次

E. Max to the Right of Min

考虑增大右端点,维护每个左端点的合法性

当右端点从 r1 增大到 r 时,

  • a[r1]<a[r]r 只能作为区间最大值。记上一个 >a[r] 的位置是 p,那么 i(p,r],[i,r] 的最大值是 r,一定合法。对于 ip,最值都不是 r,合法性不变
  • a[r1]>a[r]r 只能作为区间最小值。同理

数据结构维护合法的左端点,支持插入/删除末尾一个区间。使用栈可以做到 O(n)

F. XOR Partition

套路题,不应该不会做

赛时想法是分裂 trie(单 log

标算是每次把异或最小的一对数分开,用二分图划分两个集合,发现这个过程就是 xor mst(双 log)

posted @   ft61  阅读(27)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
点击右上角即可分享
微信分享提示