「Log」2023.11.29 小记

序幕

又是冷得不想动的一天。

\(\text{6:40}\):准时到校,整理咕掉的博客。

今天写杂题,开题开题。

随机找到 CF449D,感觉先反求+容斥,但要预处理状态贡献,这个东西不会求。

本质上可以看做高维前缀和,然后就会了,虽然花了大量时间理解这个前缀和是怎么不重不漏记录贡献的。

\(\color{royalblue}{CF449D}\)

首先考虑总方案数减去不合法方案数,枚举 \(1\) 的个数进行容斥。

于是需要求 \(val_{st}\) 表示包含状态 \(st\) 的数一共有多少个。

现在设状态 \(a \supsetneq b \supsetneq c\),并且 \(a\) 状态比 \(b\) 状态在 \(x\) 位上多 \(1\)\(b\)\(c\)\(y\) 位上多 \(1\)

考虑 \(a\) 的贡献加到 \(c\) 上的方式,先去掉 \(x\) 和先去掉 \(y\) 的贡献路径是等价的,所以我们钦定先去掉较小的位,这样不会重复。

间幕 \(1\)

短暂的休息,上个厕所,保洁阿姨把走廊弄得都是八四味。

回来接着开题,想了一会直接就昏迷了。

睡到了 \(\text{10:10}\),起床之后接着想。

只有一个暴力 DP 的想法,不知道有啥好优化的,于是看题解。

题解预处理了神秘的东西。

我的思路瓶颈在于一位一位匹配,题解直接一个串一个串匹配,是优异的。

我直接提前午休,中午点了牛约堡,店家配送,慢的一批。

中午闲聊加休息。

墨迹墨迹就快两点了,不行不行赶紧写题!

十分钟速通掉一道。

\(\color{royalblue}{CF476E}\)

考虑删除一些位一定是为了匹配成一个串,否则杂乱的删除一定不优。

\(g_i\) 表示以 \(s_i\) 为开始字符要向后匹配到哪里可以出现一个完整的串 \(p\)。(可以不连续的,在 DP 过程中考虑删除其中的无用字符。)

\(f_{i, j}\) 表示当前匹配到串 \(s\) 的第 \(i\) 位,删除了 \(j\) 个字符最多能匹配完成的次数。

转移是简单的,要么继承之间的值,要么从当前位向后寻找一个串完成匹配。

间幕 \(2\)

开了一道,感觉见过,随便套个结论上去就切了,没啥水平。

发现博客部分做的有点 bug,简单修一下。

\(\color{royalblue}{CF455C}\)(\(\color{blueviolet}{P2195}\) 双倍经验)

没啥水平题。

考虑两棵树连起来一定是将两棵树直径中点连起来,然后直径构成是显然的三部分,直接维护即可。

连通性的话放一个并查集即可。

间幕 \(3\)

被叫出去考了个会考,物理实验但完全没试验。

速通之后就回来开下一道题,想了一会感觉套个二分直接就能做了。

\(\color{royalblue}{CF732D}\)

考虑直接二分答案,然后取出每个科目最后的考试时间,这样考试表固定,就可以贪心判断。

值得注意的是,很有可能某一科目在过程中没有出现。

间幕 \(4\)

小颓一会,结果提前进入晚休。

晚上吃的不多,但吃完又昏迷了。

我要冬眠了。

接着随机开题,感觉会了,瞄一眼题解感觉没太大问题,打完就过了。

\(\color{royalblue}{CF799C}\)

分类讨论,首先是一种买一个,直接取最大就行,考虑同种买两个的情况。

处理一个 \(f_i\) 表示用至多 \(i\) 元钱买一个得到的最大、次大价值,然后枚举钦定要买的物品,用剩余的钱买最优的即可。

\(\color{blueviolet}{CF487B}\)

没啥水平。

暴力 DP 是显著的,可以用单调队列维护区间最值,有决策单调性所以双指针维护当前点和决策点。

尾声

回家挑了道题写。

写完了就颓一颓,吃了个宵夜。

冬眠。

posted @ 2023-11-30 07:00  Eon_Sky  阅读(6)  评论(0编辑  收藏  举报