Vim8 + Windows Terminal 换妆指北

前言

一切还要从 MS 在 2019 年发布了 Windows Terminal 这种东西,一举解决了伟大的 Windows 居然没有一个像样的官方终端之问题说起。当然,这个 MS 不是别人,正是微软。

当然,这个被吹上天的 Windows Terminal 最好是再配个 Powershell Core 一起食用,非常爽。

但是震惊G子一整年的是这个东西的配置文件居然是纯文本的 JSON。

好吧,也算不上震惊。最后G子跟着这篇教程配置了一气 Powerline,还顺手开了亚克力效果。反正最后,它就长上边儿那样。

哦,忘了提一句,包括上段的教程链接和后边的引用,内容都是英文的。不过 MS 的英语 《也就那水平》,读起来压力不大。

P.S. 这篇教程其实挺邪道的。毕竟是两个世界的玄学组合,G子也不知道它能不能长久有效。

其一 | 在 Windows Terminal 里面玩个 Vim 配色

Windows Terminal 这玩意太长了,用 WT 缩写代替算了。

首先去 Vim 官网搞个 Vim。G子嫌附赠的 gVim 太丑了,干脆就弃了。而且 gVim 这玩意本来就不在命令行上,一点不顺手。

用 Powershell 调 Vim 挺简单的。其实加个环境变量也……行

但还可以这么玩:

notepad $PROFILE

然后里边儿添一行:

set-alias vim "D:\Program Files\Vim\vim82\vim.exe"

当然G子是把 Vim 丢这个地方了,这个路径就看着改一下。

哦,顺便提一句,这个 $PROFILE 文件的位置其实就在 $USRDIR\Documents\PowerShell 里边儿,其实也可以开着 Explorer 一路翻过去。

然后试试,应该就能调起 Vim 来。

G子给 WT 配了 Powerline(就上面说过的那个),所以有 Cascadia Code 这字体。它至少是等宽的,还专门为代码设计,还有连字符(对,WT 甚至支持连字符),就很爽。

虽然G子平常是习惯用 Fira Code 的,但是那玩意和 Powershell 的 Paradox 主题(也是 Powerline 教程里的)兼容不好,最后还是算了。

然后你可以试试给 Vim 换配色方案,比如上个G子最爱的 Dracula。点左边这个链接就有步骤说明。

哦,顺便一提,Windows 下那个文件夹不叫 .vim,叫 vimfiles,不过也在 $USRDIR 下面。G子觉得你该知道 $USRDIR 是啥,不知道的话去搜下也不麻烦。

接着说,装完了之后开一下 gVim,就会发现起效了。但是 WT 里的 Vim 显示还是照旧。但这为啥呢。G子搞了一个小时还是没搞明白,最后去问 C10s。

C10s 说可能是 Powershell / WT 没有良好的声明自己的 terminfo,结果 Vim 认为它俩不支持 24-bit 真彩色显示。和这个问题很类似。

那没关系,去看看 Vim 怎么强制 24bit 彩色就行了。其实就是 _vimrc 里边加上一行:

set t_Co=256

然后你就会发现 Vim 显示的非常诡异,就像这样:

那咋办。查了下资料发现也有人遇上这个问题

解决方法就还是在 _vimrc 里边加一句:

set t_ut=""

就可以了。这条的意思大概是强制 Vim 重绘终端的所有区域。

C10s 最后评价说也是 terminfo 的锅。MS,不愧是你。

无论如何,最后G子就有了一个 Vim Dracula 主题 + WT 亚克力透明效果都正常显示的漂亮玩意了。挺好。

其二 | Windows Terminal 的一些缺陷和化妆

G子假设你也配好了上边儿教程的 Powerline,或者至少开了个亚克力吧。毕竟这玩意挺好看,毛玻璃透明效果,有种朦胧美。

说是缺陷,其实大概是这样一回事。G子注意到他开了 WT 的亚克力效果之后,敲命令的时候遇到类似 -h --help 之类的选项,那些选项的代码会被高亮成一种 “也不灰也不白,总之十分晃眼还和亚克力背景全部糅杂在一起根本看不清” 的颜色。大概就这样。

后来G子去翻 MS 的文档。发现 WT 是有 colorScheme 也就是颜色主题这一说的。当然,它的颜色主题和 Powershell Core 的是分开的,别给弄混了。

所以G子突发奇想打算魔改一下配色,这样就能把那个诡异的高亮颜色修正过来,不然每次G子试图认出自己打了什么命令参数,都和瞎了眼一样。

原理大概是这样:魔改一套 WT 自带的配色(它自带了好几套),然后小修一下配色。

这个地方是有告诉你怎么搞到 WT 内置配色的。去扒一份然后小改一下就行。

G子大概改成了这样:

哦,顺便G子还注意到一个事实,就是那个阅读障碍一般的配色,其名字居然还是 brightBlack……好家伙,MS,没人比你更会起名。G子也想知道你有什么本事,把这个灰不灰白不白的配色叫成是亮黑。

记得在 Powershell Core 7 (或者别的啥)的配置里加上 colorScheme。具体也可以去看上边那个 MS 的说明书。

 

GNAQ 的模板重建计划 – 数学推导部分

exgcd 部分

\mathrm{exgcd} \text{的构造方法} \text{考虑} ax+by=\mathrm{gcd}\left( a,b \right) bx_1+\left( a-\lfloor \frac{a}{b} \rfloor b \right) y_1=\mathrm{gcd}\left( b,a\,\,\mathrm{mod} b \right) \text{移项构造}, \text{分离} a, b ay_1+b\left( x_1-\lfloor \frac{a}{b} \rfloor y_1 \right) =\mathrm{gcd}\left( a,b \right) x=y_1, y=x_1-\lfloor \frac{a}{b} \rfloor y_1 \blacklozenge \mathrm{exgcd} \text{的一般推广} ax+by=c c\nmid \mathrm{gcd}\left( a,b \right) \Rightarrow \text{无整解} c\mid \mathrm{gcd}\left( a,b \right) \Rightarrow \left\{ x_1=x_0\cdot \frac{c}{\mathrm{gcd}\left( a,b \right)}, y_1=y_0\cdot \frac{c}{\mathrm{gcd}\left( a,b \right)} \right\} \text{考虑} x, y\,\,\text{的正负限制和解的变换} \text{变换方程为} a\left( x_1+db \right) +b\left( y_1-da \right) =c \text{其中} d\,\,\text{是} \left\{ db,da \right\} \subseteq \mathbb{Z}\,\,\text{的数} \text{思考得} \frac{1}{\mathrm{gcd}\left( a,b \right)}\,\,\text{为} d\,\,\text{最小的可能正取值} a\left( x_1+k\frac{b}{\mathrm{gcd}\left( a,b \right)} \right) +b\left( y_1-k\frac{a}{\mathrm{gcd}\left( a,b \right)} \right) =c, k\in \mathbb{Z} \text{如果}\begin{cases} x>0 \\ y>0 \end{cases}\,\,\text{则有}\begin{cases} x_1+k\frac{b}{\mathrm{gcd}\left( a,b \right)}>0 \\ y_1-k\frac{a}{\mathrm{gcd}\left( a,b \right)}>0 \end{cases} \text{解得} l\xlongequal{\mathrm{def}}\lceil \frac{-x_1+1}{\frac{b}{\mathrm{gcd}\left( a,b \right)}} \rceil \leqslant k\leqslant \lfloor \frac{y_1-1}{\frac{a}{\mathrm{gcd}\left( a,b \right)}} \rfloor \xlongequal{\mathrm{def}}r \text{若} k=l, \text{则此时} x\,\,\text{取到正最小值}, y\,\,\text{取到正最大值} k=r\,\,\text{同理}. \text{若} r>l\,\,\text{则无} x,y>0 \text{解}

BZOJ 1478 | 1488 | 1815 无标号无向完全有色图计数

给定一个无向完全图,边有颜色,求所有不同构的图的数量。

这里我们考虑所有边的置换,边的置换太大了,发现边的置换和点的置换是有关的,而且点的置换和图的同构是有关的,所以我们枚举所有点的置换。

但是这样是 n! 的复杂度。我们发现对于两个置换,如果对于每一个大小的轮换,他们都具有相同的轮换个数,那么对于答案的贡献就是等价的。

那么我们就可以枚举整数拆分了。复杂度变成点数的拆分数了。

这样我们对于每一置换都求一下对答案的贡献,然后乘一下轮换个数就好了。

轮换个数怎么算呢……首先是根据拆分组合数搞一下

其中 div_num 是拆分数组。

然后考虑假设大小为 x 的轮换有 y 个,那么我们还要除以 y!

然后注意到每个循环排列方式只和第一个点有关,或者说,因为这是个圆排列所以要去重 (除掉 div\_num[i]),所以我们还要挨个乘 (div\_num[i]-1)!

然后后面就是考虑怎么算边的轮换大小了,见这里:

https://fancydreams.ink/2018/12/01/%E4%BB%8E%E5%B0%8F%E5%AD%A6%E5%BC%80%E5%A7%8B%E7%9A%84%E6%95%B0%E6%95%B0/

代码:

 

毒瘤微积分(有限微积分|离散微积分)

毒瘤排版,有空再修

 

今天下午见识了毒瘤微积分,来写一下……

虽然具体数学上讲的蛮好的

以下介绍的运算都是对整数域上有定义的函数适用

( 当然,如果定义域不包含整数集,但是在关注的区间内的所有整数上都有定义,那么也可以)

(相当于微积分中的”连续”)

首先要搞清楚什么是斯特林数。后面我闲起来再写文吧,这一阵子压的文有点多,先不介绍了。各大 Wiki 上讲的应该都挺好。

然后我们就把公式先搬过来不管了:

x^n=\sum_{i=0}^n{\left\{ \begin{array}{c} n \\ i \end{array} \right\} x^{\underline{i}}}

离散意义下的所谓“微分”(求导)

感觉很扯淡吧……都离散了还怎么求导 ?

其实根本不是求导那一套(不过确实有关系)

离散意义下只要“连续”就可导,那么定义前向差分算子 \Delta(前向差分简称差分)

\Delta f(x) \xlongequal{\mathrm{def}} f(x+1) - f(x)

或者更广泛的说

\Delta_{h} f(x) \xlongequal{\mathrm{def}} f(x+h) - f(x)

以前傻子的我一直以为差分就是序列上扫一遍减一减……

离散意义下的“积分”

在这边我们先说和“定积分”相像的部分。

无限微积分里面有个算子 D 是用来求导的,那么他的逆算子(积分算子) 是 \int  。

相似地,差分算子的逆是 \sum

离散意义下也有类似的基本定理:

g(x)=\Delta f(x) \Leftrightarrow \sum{g(x) \delta x } = f(x) + C

这里 \sum{g(x) \delta x } g(x) 的不定和式,是差分等于 g(x) 的一个函数类。而 C 是满足 p(x+1) = p(x) 的一个任意函数 p(x) 。这样差分的时候 C 就没了。

然后定积分就变成和式了:

\sum_{a}^{b}{g(x) \delta x } = f(x) \mid_{a}^{b} = f(b) - f(a)

这里注意他是区间 [a,b) 上的求和( \sum_{a\leqslant i < b}{g(i)} ,右半边是开的。


离散意义下的差分公式

这类玩意是最有用的,类似求导公式。

比如说我给你个 x^k 。现在我们知道他的导数显然是 kx^{k-1}

但是这不适用于有限微分。不过我们有下降幂这个东西:

\Delta(x^{\underline{k}}) = kx^{\underline{k-1}}

唔,具体推导大概是

\Delta(x^{\underline{k}}) = (x+1)^{\underline{k}} - x^{\underline{k}} = (x+1-(x-k+1))x^{\underline{k-1}} = kx^{\underline{k-1}}

幂级数怎么搞?还记得开头的公式么?

x^n=\sum_{i=0}^n{\left\{ \begin{array}{c} n \\ i \end{array} \right\} x^{\underline{i}}}

然后包括指数函数

\Delta k^x = k^{x+1} - k^x = (k-1) k^x

这公式非常简单,轻松易懂…

别的类的也都可以类似地推出来

有意思的是 \Delta 2^x = 2^x ,而 2 = \lfloor e \rfloor ……


离散意义下的求导法则

看,基本都是成立的:

\Delta \left( f\left( x \right) +g\left( x \right) \right) =f\left( x+1 \right) +g\left( x+1 \right) -f\left( x \right) -g\left( x \right) =\Delta \left( f\left( x \right) \right) -\Delta \left( g\left( x \right) \right)

如果预先定义一个位移算子 E 使得满足 Ef\left( x \right) =f\left( x+1 \right) 的话

\Delta \left( f\left( x \right) g\left( x \right) \right) =f\left( x+1 \right) g\left( x+1 \right) -f\left( x \right) g\left( x \right) =\left( f\left( x+1 \right) -f\left( x \right) \right) g\left( x+1 \right) +\left( g\left( x+1 \right) -g\left( x \right) \right) f\left( x \right) =\Delta f\left( x \right) Eg\left( x \right) +\Delta g\left( x \right) f\left( x \right)

 

 

 

 

 

 

 

 

 

 

dkw on tree 板子

显得没事干水一发板子

dkw dsu on tree 这个东西主要就是对于树上的统计类问题采用树剖的方法去做,可以有效降低复杂度到 O(n \log n)

这个板子是 CF 600E

 

[1812] GNAQ 的训练康复计划

虽然说问题还没完全处理好(校领导您可真给力  🙁  (现在大概最难 pass 的就是级部那边

但是我还是有勇气去相信问题会解决的

那么就可以开始 planning for OI 了

首先是 12 月份的训练  , 大概会以补知识点为主.

BZOJ 上刷满 300 (这个 flag 我觉得多半会到 250/275 的时候咕掉)

学完该学的 , 毕竟数学 字符串这块还是相对较弱的说

数据结构大概学的都差不多了 (?)

啊 反正想到什么学什么

然后是日常的思维训练

首先是想试着刷一下 TC

其次说不定状态好起来之后会去打 Cf

然后平常就做 BZ 的思维题练手

啊 , 反正重心放在学知识点和刷那个破 OJ 上吧.


以下是一些好的想法

 

各种数据结构的启发式合并

  • 写线段树启发式合并 (还有主席树)
  • dsu on tree ( dkw on tree (笑

KDTree 各种黑科技

  • 你该知道的关于如何卡掉 KDT 的若干方法
  • KDT 加速技巧
  • 如何使用 KDT 维护动态凸包 (这题大概很不可做(我还是去抄题解学习一下吧 (n+e 太奆了

点分

  • 尝试大力写动态点分
  • 建点分树

计算几何


感觉最近降智非常严重。

到现在做题都是看题解+抄代码的。

不能这样,要听 Castor 的,每道题想半小时,然后对照题解找自己思路的问题。

感觉受到严重打击,有点难受……

不过最近精力集中程度好多了,这点还是挺满意的。

为什么 Rust 的各种连接被墙了啊,巨慢好么。。


啊,今天状态极差,有必要总结一下

首先,到现在思维能力大概回复了一大半了。不过既然今天都是12-09了,一个月过去1/3了,这也太慢了。

其次,有必要开始学数学了。

今天上午+下午一直在用平衡树写 ZJOJ07 那题,没想清楚就开始胡写,导致了我不仅代码出奇的长,还没对。

重构了两三遍。

这样不行。码力不行、调试能力不行、思维也一团糟。

啊,以下是一些初步的处理方法:

想题,留半个小时自己想。这半个小时不急着写代码。

感谢 Castor 点醒我。

 

 

 

 

 

此外,三天一道大数据结构。自己调。

 

NOIP2018 打味极鲜记

 

初赛

上午:

去体检

回来颓废

下午:

颓废

随便做做就79了


Day 0

上午去了玩了一会 2048 , 然后打板子,惊险刺激。

中午去面基,看到了 rqy zyb ckw 和 ytez 的一堆神仙 , %%%

下午本来打算做那个树剖的题,最后好像板子都没打完,于是就放弃了。( 晚上看了看题解,发现自己  脑子大概退化了,这么显然的性质没立刻想到,惨的一比。)

到了傍晚仍旧没打完一堆板子,打了 20k 代码手疼的一比。

去找 gjh 玩,聊了一会还挺开心的。

然后去找 ycr 大爷拿到了牛氪的衣服。

去试机的时候竟然忘记身份证在口袋里了,急急忙忙跑回十楼拿,结果发现了。

打了一个树剖板子 一个 Dinic ,就差不多结束了。

走的时候还没忘试了试带的那个 python 2.6.6 好不好用。

晚上水群,颓废了一会osu! ,然后看了一集《终将》就睡觉了。

感觉晚上睡得还是挺香的。


Day 1

早上早起,在机房见到了 LHHH , 开心。

没想太多就直接下去考试了。在考场外面和 gjh 不过脑子地聊了一会,正好都放松一下。

进场离开始还早。今年的压缩包没法提前打开了,所以好像没法提前建文件夹了。QAQ。

不慌不慌, Day1 一般都很简单的吧,争取 A 两题。

开考先盯着第一页看了两分钟,然后往下一翻……

smg???我没眼瞎么??i7-8700k ?? 32GB??每个题都 512MB??

哇……这太良心了……随便用内存啊

开考瞅 T1 ,卡了半天没思路。

继续没思路。

还是没思路。

写个暴力吧。 70 拿到手。

滚去看 T2 了。一开始考虑把每个物品用剩余物品表示,那就是解个式子 a_j = \sum_{i=1}^{n}{a_ix_i} \,\,(i \ne j) 嘛。

exgcd ? 不是不是,唔,好像是完全背包。完全背包的 DP 方程是什么来着?

写了一气,过了样例。造好数据对拍。

好,才九点四十,继续搞第一题。

然后决定沿用那个分治的思路,每次找最小值。上个高级数据结构 O(\log) \sim O(1) 级别求值。

最后写了分治+ ST 表,拼命调了一会,过了。

和暴力拍着,10:00 , 还有充足的时间,去看 t3 。

诶? m=1 ? 我会 DP ……

链?二分+贪心嘛,挺显然的。

菊花图? 哦,可以双指针。

写写写,写了3k 代码把这三个部分分全写了。

随便手造了几个小样例过了就算了。

最后 15min 检查代码,检查文件,手动编译+测样例。

然后就考完了,走出考场估计 255 。

听说今天一堆人 255 ?


下午去学校的路上,在某一瞬间突然意识到自己的直径 DP 写挂了。

woc? 好了,现在我 d1t3 有多少分 完全取决于每个数据的 1 号点在不在直径上了。

240+ ,难受。

努力不去想这件事,下午和 rqy 还有 gjh 一起闲聊了一下午。

前半段挺开心的。

后面听说 yt 写炸的事情了,难受。

晚上在家休闲。去洛谷背了前两题的代码+讨论试题 + 打板 ,最后也是照例打一会 osu! 就睡觉了。

好像今天送了一批人退役。


Day 2

早起,又在机房见到了 LHHH ,心情平静。

开考,密码大致上被大家猜中了。

照例先看第一页,看 t1 。

想了一小会就会了,于是开始写。

我觉得在考场上写无向图判环是我最大的失误。这个破函数调了很久但是还是没有过。

最后放弃判环了,直接分别删去每条边一次,再判断连通性。

调试的时候强忍住没有崩心态,一直逼自己相信还有希望。

大概 10:00 调过了。从 09:30 到 10:00 大脑完全是混乱的。

还是慌了。心理还是不够强大。

还是自己太弱,远远没有达到要求的缘故。

瞅了 15 分钟第二题还是一点思路都没。去搞 t3 。

当时考场想到是个 DDP 模型了,可惜我没学过怎么写 DDP 。

看部分分。前 44 很轻松的想到了树形 DP。

后面搞了十分钟没啥思路,于是花十五分钟把树形 DP 写+调了。

实在不敢搞了,就去刚 t2 了。

t2 随便口胡了好几种 DP 方法都被我自己叉了。

n=2 决定写个状压,看起来挺靠谱的。

然后测了几个数据发现这玩意有规律。 \mathrm{ans} = 4 \times 3^{m-1}

这就非常尴尬。但是我也懒得改了,开始写前面的 DFS 。

还是调不对,还是逼着自己别崩溃,然后最后也是调出来了。

尝试爆跑 n=m=5 ,花了五分钟跑出来了。DFS 似乎是对的。

考场调试真的 真的很难受。

出考场估分 194 。今天这个题好像彻底送了一批选手退役。

和 gjh 跑去找 rqy ,他也没 A 掉 t2t3 。

然后回家听说 wxh 也被 t2 安排了。

今天题好难啊。

晚上回家写了 Day2 ,洛谷 194 。数据好水啊。听说牛客出数据了测了一波,也是 200+194 。


Day 3

上午去考语文。半点心情都没有,写了写选择趴桌上睡了。

班主任千方百计骗我们来考试,又说不让我们考了,都没学,找间教室自习。

唉。

下午考英语。 阅读好像无比简单,1h 做完卷子趴桌上睡了。

然后就跑机房了。下午测了一波正睿的数据。

意识到自己把 d2t2 的 n \leqslant 2 看成了 n = 2

难受,和 R 哥讨论了一波发现这样丢掉大概有十分。

发现自己去不了 pkuwc 或者 thuwc 了,崩溃了。

晚上没精神学习,看了两集数学视频,大部分时间都在水群。


Day 4

早起来机房。大概九点多的时候教练来了,把我的数据从考试机上搞出来了。

测的时候手一直在发抖。

洛谷 349 , 正睿 324 , 牛客 314

看了一眼 track.cpp , 意识到一个无比残酷的事实:

我菊花图写炸了。

我菊花图写炸了。

我菊花图写炸了。

双指针……随着右指针的左移,我左指针是可能固定的。

也即我没有用过之后把左指针右移。

完了,彻底是错的。

心脏难受。

这个时候浙江的民测成绩也出了,看了一眼,觉得自己

可能就没有希望了吧 ?

(NOIP.score=random(404,439))>420?在役:AFO

就这样吧。

听天由命。


Day 7

来机房颓废一下……

继续听天由命 发现这几天的局势并没有什么新的变化

所以大概没啥好写的。


Day 9

照旧来机房,还是没法做题,继续颓废

大家心态都很炸

可能我也很炸

等明天吧。


Ending

不到一周之前出了成绩。和很多人也谈了很久

我最后的想法大概是这个不上不下的名次实在不好搞,不过毕竟期盼已久的 noiwc 大概能去,就继续搞省选吧。

大概潜意识里要是这样就 AFO 了,也是不太甘心的。不过理性的一部分还是督促我滚回去学文化课罢了。

还有很多想说的话就留给退役记吧。

NOIP2018 说实话就像上赌场,但是这段时间流的飞快,也没有抓住什么值得好好说的感受。

总之还有一个大坑是一定要挖开的。高中这几年 OI 经历太多,不写一写怎么行啊。


「远处的事物看起来渺小又模糊 , 近处的东西却非常清晰 ; 回忆也是同样 , 遥远的曾经非常模糊 , 方才发生的事能记得一清二楚 , 本应这样才对。」

「但我最近总能清晰地回忆起往事 , 」

「我活在我的时间里 , 她活在她的时间里 , 所以我们的时间互相交错的瞬间 , 对我而言比任何事物都宝贵。」

——   她与她的猫 – Everything Flows –


– END –

[JZOJ1026模拟] 苹果

考虑每个节点对区间的贡献

考虑要是一个节点的左儿子产生贡献,那么贡献区间的 L 是这个左儿子的左端点,假如我们设这个区间长度是 2^w ,贡献区间所有可能的右端点是 [L+2^w-1,L+2^{w+1}-1)

那么一层来看的话,所有的右端点总长是 2^{n-1} 的。

那么这块的总贡献是

\sum_{i=1}^{n-1} { i \cdot 2^{n-1} } = 2^{n-2} \cdot (n+1) \cdot n

现在考虑右儿子,类似地,我们单点可用的区间右端点是:

2^n - (L+2^w) +1

那么一层的话就是 2^{n+i-2} - 2^{n-1} + 2^{i-1}

那么这块的总贡献是

\sum_{i=1}^{n} { i \cdot ( 2^{n+i-2} - 2^{n-1} + 2^{i-1} ) }

那么把这个式子改写一下 ( 设 \lambda = 2^0+2^{n-1}

\sum_{i=1}^n { i \cdot \lambda \cdot 2^{i-1} } - \sum_{i=1}^n { i \cdot 2^{n-1} }

化简,求总答案:

A=2^{n-2}\cdot \left( n+1 \right) \cdot n

B=\lambda \cdot \left( n\cdot 2^n-2^n \right) +1-2^{n-2}\cdot \left( n+1 \right) \cdot n

\text{ans}=2\cdot \left( A+B \right)

=\left[ \left( n-1 \right) \cdot 2^{n+1}+2 \right] \cdot \lambda \cdot \ \left( \frac{\left( 2^n+1 \right) \cdot 2^n}{2} \right) ^{-1}

还有两个周该搞的东西

  1.  数论复习( exgcd Lucas CRT 合并同余方程 异或方程组 各种其他脑洞题 )
  2. 博弈
  3. 概期(以及 DP )
  4. 单调队列维护 DP(包括复习一遍斜率优化 DP )
  5. 把坑填完
  6. NOIP2017 做完
  7. 数据结构打熟练 不学 Treap 了
  8. 差分约束
  9. 树剖多做题 网络流也要写
  10. 贪心

 

先到这里