Welcome to My Blog!

this is a website

How to use github?

gogogo

1
cp themes/next/_config.yml _config.next.yml

Test basic math: x2x^2

Test AMS symbols:

  • \oiint\oiint (双线积分)
  • X\Chi (希腊字母)
  • x\bm{x} (粗体)

Display mode:

\oiintSf(x,y)dS\oiint_S f(x,y) \, dS

v=[12]\bm{v} = \begin{bmatrix} 1 \\ 2 \end{bmatrix}

CF160D Edges in MST

退役后没事干写的。

首先,有个比较好想的暴力做法:先随便找一个最小生成树,然后树剖+线段树维护,每次对于横插边,看看链上边权的最大值是否和当前边权相等,如果相等是 2 否则是 3 ,同时更新这一段链使用横插边替换的最小值。做完横插边以后,对于树边,只需看看该点最小值是否为此边权即可,是即 2 ,不是即 3 。两个 log\log ,但是 n105n\leq 10^5 ,所以被我搞过去了(还挺快)。

Read more »

退役了。

CSP-S

赛前几周做了几套模拟赛。一开始都是一百来分甚至几十分,后来慢慢地找到了状态,基本都能上两百了。

但 DYH 的模拟赛不给样例解释是真的坑啊。。。

比赛当天有点紧张,在车上没睡着。

Read more »

P4516 [JSOI2018] 潜入行动

大体思路就是设 f(x,i,j,h)f(x,i,j,h) 表示以 xx 为根的子树中放 ii 个,其中 jj 表示 xx 节点上放不放, hh 表示 xx 节点有没有被子节点干掉的方案总数。

然后就可以跑个分组背包,发现转移是 O(k2)O(k^2) 的。

然后有个很牛逼的道理就是均摊复杂度是 O(nk)O(n\cdot k) 的(待研究)。

Read more »

树状数组

树状数组是一个比较简洁且实用的数据结构。它可以在 O(logn)O(\log n) 的时间复杂度和 O(n)O(n) 的空间复杂度(均为小常数)下支持单点修改和前缀询问的操作。在满足可减性的情况下,可以支持区间询问。

可以说树状数组是线段树的阉割版,但是它有着非常优秀的性能,代码实现难度也非常低。

Read more »

1 & 2

  1. 能离线就离线,离线完能用树状数组就用树状数组,不能的话来个01Trie或者线段树应该也是很快的捏(毕竟这两个可以高复杂度暴打低复杂度)。值得一提的是,动态加点权值线段树和01Trie在有些时候是完全没有区别的(比如说这道题),这个时候显然使用递归的线段树就慢了。
Read more »
0%