闲话 11.13
On 17:20:锣鼓似了,遂来乱写。
上午
早上来了先改昨天 T4,会了打的就是快,吃完饭没多久 A 了。
然后学考,左边两个化奥的,左前方 CTH,正前方 HDK,右边 9G。
进场发现这个挡板一点意义没有,根本挡不住。然后开做后发现,由于手必须要操作鼠标所以身体不得不前倾,这下看懂挡板的作用了。
开题,直接把最不好做的部分给我放前面了,难度几乎严格递减,看不懂(
插曲是 Excel 保存的时候,由于键盘唐氏,导致我不知道是不是不小心改了个什么里头的数据,复原了半天。
然后 Python T3 忘了 append 了,直接 G。
后面的题感觉还好。
中途发现 9G 一样被数组硬控,还是我们 c++ 好🥰🥰🥰
然后不知道干什么,随机找了道之前没过的橙题,唐。
然后补 AT dp 专题。
做题记录
- W. Intervals
trick 是在右端点处记录贡献,不重不漏。
先说朴素 dp。设 \(f_{i,j}\) 为到第 \(i\) 个位置上一个 1 的位置为 \(j\) 的最大分数。则首先转移有:
其次,加上当前点被线段包含的贡献,即:
然后空间可以做到 \(\mathcal{O(n)}\),但时间仍然是 \(\mathcal{O(n^2)}\) 的。
然后发现,转移第一步实质上是区间最大值,第二步实质上是做了一次区间加,那么直接搬到线段树上做就做完了。这个搬是真的搬,线段树上每个长度为 1 的线段的权值就是 \(f_i\),然后 pushup 操作直接取 max 就做完了。时间复杂度 \(\mathcal{O(n\log n)}\)。
注意细节是负贡献直接不加入。
- X. Tower
优化 01 背包。
考虑设 \(f_{i}\) 为重量为 \(i\) 的塔的最大价值,那么有很显然的转移方程:
那么现在问题就只有一个,转移的条件是 \(i-s_i\le w_i\),相当于我们是从上到下考虑的,即下面的箱子应该比上面的能抗才行,而且重量还不能过大,否则转移会有很大的局限性。
那么怎么贪心地排序呢?回忆起之前的一道题:给若干个字符串,要求拼接后字典序最小。正解只用一个 \(a+b<b+a\) 就解决了。考虑一样的思路,即两个箱子比较,一个堆在另一个上面后,还能承更大的重量的应该放下面,那么就得到 \(w_i-s_j<w_j-s_i\),移个项,得到 \(w_i+s_i<w_j+s_j\)。排完序后简单 01 背包就做完了,复杂度 \(\mathcal{O(ns)}\)。
细节是 dp 数组要开两倍,因为承重最大是 \(s\),加上承重的箱子重量就超过 \(s\) 了。
- 可怜的狗狗
区间第 k 小,方法 n 多种。发现将主席树板子题代码将数据范围的 2e5
改成 3e5
就过了。
顺便复习又打了一遍。
下午
丁真怒放半岛铁盒的抽象 mv,但感觉不如 Light It Up_Calvo&Noubya 的 mv 抽象。
下午做题。
晚饭给 wkh2008 讲述了 mv 具体有多抽象,得到了认可。
大概就是
第一段画面上是一对青年男女,两个人聊得很开心。后来女的抽了根烟,男的给了火,然后砰的一下女的就变成了一个猩猩,抓着男主就跑到帝国大厦顶上捶胸顿足。
然后到了歌曲高潮部分,镜头一转给到了一对在浴缸里洗澡的青年男女。男的把蜡烛一口吹灭,然后女的费力游泳(?)过去又点燃了,然后发现两个人瞬间来到一口下面省着火的缸里,边上是一堆骷髅人边跳舞边挥手,两个人表情惊恐。
然后来到了第二段,镜头又一转给到了一个实验室,三个研究员在做植物有关的实验,突然一个不知道什么试剂漏了,然后三人就感染了变成了真·植物人,就是头变成花、脖子变成茎的人,然后直接从窗户伸了出去。
此时美国军方发现了帝国大厦顶上的猩猩,然后派出了直升机向猩猩发射了导弹,结果导弹遇到不知名试剂烟雾然后变成了大香蕉,甚至剥了皮,被猩猩一口一个吃掉。
然后又到了高潮部分,就是所有人都开始跳舞。
总之无论情节画风都很抽象,强烈建议放假了看一看。
晚饭回来想 9G 的题,想线段树题。
不知道完没完结先撒花
1
没有
2
3
4
没有