闲话 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\) 的最大分数。则首先转移有:

\[f_{i,i}=\max_{j<i}(f_{i-1,j}) \]

其次,加上当前点被线段包含的贡献,即:

\[f_{i,j}=f_{i,j}+a_x\times\left[r_x=i\right] \]

然后空间可以做到 \(\mathcal{O(n)}\),但时间仍然是 \(\mathcal{O(n^2)}\) 的。

然后发现,转移第一步实质上是区间最大值,第二步实质上是做了一次区间加,那么直接搬到线段树上做就做完了。这个搬是真的搬,线段树上每个长度为 1 的线段的权值就是 \(f_i\),然后 pushup 操作直接取 max 就做完了。时间复杂度 \(\mathcal{O(n\log n)}\)

注意细节是负贡献直接不加入。

  • X. Tower

优化 01 背包。

考虑设 \(f_{i}\) 为重量为 \(i\) 的塔的最大价值,那么有很显然的转移方程:

\[f_{i}=\max(f_{i-s_i}+v_j) \]

那么现在问题就只有一个,转移的条件是 \(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

image

3

image

4

没有

5

image

posted @ 2024-11-13 20:00  DrRatio  阅读(59)  评论(3编辑  收藏  举报