摘要: 这场比赛没打,看同学fst了,于是来看看。 这道题看似简单,但是没想清楚细节真的不太行。像现在熬到十一点左右,脑子真的不行。 首先显然位数越小越好,因为每一位要比较,不如拆点。此时要拆成 两条有向链 (开始实现成了无向链) 然后这个时候就可以很方便地跑最短路了。但是细节比较多。 首先直接贪心走最小边 阅读全文
posted @ 2019-09-18 23:44 daklqw 阅读(231) 评论(0) 推荐(0) 编辑
摘要: 首先不知道有没有神仙线段树分治过的。 首先一个较为显然的性质: $$ \mathrm{Span}\{v_1, v_2, \dots, v_n\} = \mathrm{Span}\{v_1, v_2 v_1, \dots, v_n v_{n 1}\} $$ 这个启发我们维护差分序列,此时1操作变成了单 阅读全文
posted @ 2019-09-18 22:22 daklqw 阅读(677) 评论(0) 推荐(0) 编辑
摘要: 看到这道题,然后便错误地联想到了数位DP什么的……接着发现了答案在一个界内,然后就想着暴力了。 首先如果对每一位都设一个变量的话,根据插板法,最多只能有1e7个项对答案有贡献,和答案在一个界内这个条件组合起来,这启发我们去想暴力。 首先非基变量是没有用的,考虑它们的选和不选,最后都要除掉。 所以只有 阅读全文
posted @ 2019-09-12 23:21 daklqw 阅读(370) 评论(0) 推荐(1) 编辑
摘要: 想要写 "论战捆竹竿" ,看了题解学了一点姿势,发现了一些奇怪的东西(我以前这道题写的太菜了) 首先这道题可以转化为模 $A_i$ 最小值 $m$ 意义下的最短路,求出每个模 $m$ 意义下的值最少要多少代价可以达成,然后分别计算答案的贡献。这个是经典的同余最短路。 实际上,由于同余,边的更新顺序无 阅读全文
posted @ 2019-09-11 23:31 daklqw 阅读(429) 评论(2) 推荐(1) 编辑
摘要: 我貌似开始爆OJ了 主要是因为预处理的范围写小,以及第一次写带删除线性基,然后就调了好久/cy 如果把 $A$ 看做一堆列向量,然后对于 $C$ 的一个列向量 $V$ ,以及对应列的 $B$ 的列向量 $B'$,由矩阵分块,可得以下式子: $$ V = (A_1 A_2 \dots A_q) B' 阅读全文
posted @ 2019-09-11 21:18 daklqw 阅读(585) 评论(0) 推荐(1) 编辑
摘要: 前方一本正经的胡说八道警告 会有不严谨的地方 $\def\bsin{\mathrm{bsin}}\def\bcos{\mathrm{bcos}}\def\btan{\mathrm{btan}}\def\bsec{\mathrm{bsec}}\def\bcsc{\mathrm{bcsc}}\def\b 阅读全文
posted @ 2019-04-15 20:39 daklqw 阅读(1122) 评论(1) 推荐(3) 编辑
摘要: 貌似一道经典题 在第一个回合中,第一个游戏者可以直接拿走若干个整堆的火柴。可以一堆都不拿,但不可以全部拿走。第二回合也一样,第二个游戏者也有这样一次机会。从第三个回合(又轮到第一个游戏者)开始,规则和Nim游戏一样 几堆石子,先手拿若干堆(可以不拿,不能拿光),然后后手一样操作一次,然后是正常的ni 阅读全文
posted @ 2019-02-21 20:06 daklqw 阅读(231) 评论(0) 推荐(0) 编辑
摘要: 偏序集上的最小链覆盖等价于求最长反链 最小不交链覆盖等于传递闭包后最小链覆盖 最小链覆盖大小等于点数减去二分图最大匹配大小 二分图最小点覆盖大小等于二分图匹配大小 二分图最小点覆盖与二分图最大独立集对偶 建图完后,这个二分图最大独立集等价于最长反链。 于是两道题 1143: [CTSC2008]祭祀 阅读全文
posted @ 2019-02-21 16:05 daklqw 阅读(202) 评论(0) 推荐(0) 编辑
摘要: 一堆圆台平行光的投影 在草稿纸上画一下,发现对于一个圆,它投影完还是一个半径不变的圆。 定义树的轴在投影平面上经过的点为原点,定一个正方向,建立平面直角坐标系, 能发现,对于一个半径为$r$,高度为$h$的圆,投影到平面上是圆心坐标为$(cot(\alpha)h, 0)$,半径为$r$的圆 想象有一 阅读全文
posted @ 2019-02-21 15:48 daklqw 阅读(360) 评论(0) 推荐(0) 编辑
摘要: 二分答案限制最大的多少,然后再DP一下 #include <iostream> #include <cstdio> #include <cstring> #include <algorithm> const int Dollar1 = 10007; const int MAXN = 50010; i 阅读全文
posted @ 2019-02-11 13:16 daklqw 阅读(171) 评论(0) 推荐(0) 编辑