Live2D

2月补完计划(下)

因为太长导致 Latex 渲染不出来,故而出了下😏😏😏

CF1442D Sum

link

Solution

tmd,著名结论都记不起来了😥😥😥似乎已经被这个sb结论杀了很多遍了/kk

其实就是最有情况下是选完了若干个,然后有一个选了前缀。证明的话考虑存在两个数列都还没有选完,那么一定存在一边使得把另一边填满这一边会更优,因为数组是单调递增的。所以我们只需要求出删掉一个点其他都选的背包,然后这个点枚举一个前缀即可。这个可以分治处理。

复杂度 \(\mathcal O(nk\log n)\)。说实话,我真的在想闵可夫斯基和😕😕😕

[AGC044D] Guess the Password

link

Solution

什么题都不会做了是吧?sb tr😗😗😗

发现可以快速判断一个串是不是查询串。然后发现只要考虑如何 \(\mathcal O(|A|+|B|)\) 合并 \(|A|,|B|\) 我们就可以做到 \(\mathcal O(L\log L)\)。那么你发现其实就相当于归并,你每一次考虑是加入哪一边,这个可以查询前面确定的+当前的+另外一边后面的字符。然后就做完了。

谁是sb就不用我多说了🤪🤪🤪

[ICPC2014 WF]Buffed Buffet

link

Solution

什么都做不来的sb tr😅😅😅

离散的很好做,随便来。重点是连续的。因为sb翻译把tm原问题换了,导致提示性大大减少,但是我们还是可以看出,\((t,t_0)\) 其实就相当于在 \(i\) 的时候贡献为 \(t_i\cdot t_0\),总贡献即是积分。那么我们贪心的选择一定是按 \(t\) 从大到小来,然后考虑当前如果 \(t_i=t_{i+1}\) 之后,那么我们一定是同时选 \(t_i,t_{i+1}\),那么即是相当于把两者合并,那么 \(t_0\to \dfrac{1}{\dfrac{1}{t_0(i)}+\dfrac{1}{t_0(i+1)}}\)。这部分就可以做到 \(\mathcal O(W+n)\) 了。

我不会说谁tm在想二次函数合并😘😘😘

HDU 6331 Walking Plan

link

Solution

tmd,sb题,不知道为什么没想到😅😅😅😅

我们考虑如何快速计算 \(u\to v\) 经过 \(t\) 步的答案,发现可以直接分块处理,然后我们就做到了 \(\mathcal O(T(n^3\sqrt K+qn))\) 。有个sb做不出来,我不说是谁😅

[ARC092F] Two Faced Edges

link

Solution

发现 \(u\to v\) 合法只需要以下两个条件恰好存在一个就会改变:

  • 存在 \(v\to u\) 的路径

  • \(u\to v\) 不止一条简单路径

问题就是判断第二个。发现直接暴力跑即可。具体来说,就是从每个点从前往后枚举出边,然后从后往前枚举出边,\(v\) 两次到它的出边不同即合法,正确性显然。为什么会有sb想着用floyd判啊😅😅😅

[ARC091F] Strange Nim

link

Solution

看出我们只需要对 sg 函数找规律,这里就直接给出来了:

\[\text{sg}(n,t)= \begin{cases} 0,n<t\\ n/t,n\equiv 0\pmod t\\ \text{sg}(n-\lfloor\dfrac{n}{t}\rfloor-1,t),\text{otherwise} \end{cases}\]

你发现如果直接暴力算是 \(\mathcal O(k\ln n)\) 的,但是如果 \(\lfloor\dfrac{n}{t}\rfloor\) 不变的时候一起算的话,复杂度就是 \(\mathcal O(\sqrt {n\ln n})\) 的。

难点在于找规律😅😅😅

posted @ 2023-02-23 20:36  Dark_Romance  阅读(43)  评论(0编辑  收藏  举报