摘要: 题目大意:$FFT$,给你两个多项式,请输出乘起来后的多项式。 题解:$FFT$,由于给的$n$不是很大,也可以用$NTT$做 卡点:无 C++ Code: FFT: NTT: 阅读全文
posted @ 2018-07-18 07:35 Memory_of_winter 阅读(296) 评论(0) 推荐(0) 编辑
摘要: 题目大意:将作物种在A,B两地,对于每种作物,种A,B分别有不同的收益,对于一些特殊的作物集合,共同种到A,B集合分别有一些额外收益。求最大收益。 题解:最小割,S向i连容量为$a_i$的边,i向T连容量为$b_i$,对于每个集合,建两个大点,把每组内的点与其连接,容量为inf,两个大点分别与原点或 阅读全文
posted @ 2018-07-11 08:32 Memory_of_winter 阅读(196) 评论(0) 推荐(0) 编辑
摘要: 题目大意:不知,根据样例猜测为最长上升子序列(竟然还对了) 题解:$O(n log_2 n)$,求二维偏序,(q为存答案的序列,a存原序列,len为答案) 卡点:无 C++ Code: 阅读全文
posted @ 2018-07-10 11:48 Memory_of_winter 阅读(170) 评论(0) 推荐(0) 编辑
摘要: 题目大意:不含前导零且相邻两个数字之差至少为$2$的正整数被称为$windy$数。问$[A, B]$内有多少个$windy$数? 题解:$f_{i, j}$表示数有$i$位,最高位为$j$(可能为$0$),$f_{i, j} = \sum\limits_{0 \leq k \leq 9, |k - 阅读全文
posted @ 2018-07-10 10:55 Memory_of_winter 阅读(114) 评论(0) 推荐(0) 编辑
摘要: 题目大意:在个$N*M$的地图上,有山地和平原,可以在平原上放置炮兵,炮兵可以攻击同行/同列距离$ \leq 2 $的$8$个位置(不受地形影响)。给定地图,求放置炮兵方案。 题解:状压每个位置是否放炮兵,可推出dp方程,$dp_{L,S,i}$表示当前状态是$S$,上一行的状态是$L$,当前考虑到 阅读全文
posted @ 2018-07-10 08:56 Memory_of_winter 阅读(180) 评论(0) 推荐(0) 编辑
摘要: 题目大意: 维护一个W*W的矩阵,每次操作可以增加某格子的权值,或询问某子矩阵的总权值。 题解:CDQ分治,把询问拆成四个小矩形 卡点:无 C++ Code: 阅读全文
posted @ 2018-07-09 19:51 Memory_of_winter 阅读(204) 评论(0) 推荐(0) 编辑
摘要: 题目大意:共$2n$个价格$p_i$。两人轮流取。你每次取最大的,对方每次随机取。问你取的期望和是多少。 题解:从小到大排序,$\sum\limits_{i=0}^{2n-1} \frac{i*p_i}{2n-1}$ 卡点:无 C++ Code: 阅读全文
posted @ 2018-07-05 18:13 Memory_of_winter 阅读(181) 评论(0) 推荐(0) 编辑
摘要: 题目大意:输入$n,d1,d2$,你要找到$n^2$个整点 x, y 满足$0 \leqslant x, y<2n$。并且找到的任意两个点距离,既不是$\sqrt{d1}$,也不是 $\sqrt{d2}$。 题解:如果$d mod 2=1$,如果$a^2+b^2=d$,a和b一定一奇一偶,按国际象棋 阅读全文
posted @ 2018-07-05 17:50 Memory_of_winter 阅读(215) 评论(0) 推荐(0) 编辑
摘要: 题目大意:有很多的装备,每种装备都有2个属性,这些属性的值用[1,10000]之间的数表示。每种装备最多只能使用一次,且只能使用其中一种属性。装备所使用的属性值必须从1开始连续。问最多能攻击多少次? 题解:每个装备从属性像编号连边,匈牙利算法,跑出匹配,若一个匹配不了就结束 卡点:无 C++ Cod 阅读全文
posted @ 2018-07-03 09:36 Memory_of_winter 阅读(201) 评论(0) 推荐(0) 编辑
摘要: 题目大意:有$n$颗行星,每颗行星的位置是$(x,y,z)$。每次可以消除一个面(即$x,y$或$z$坐标相等)的行星,求消除这些行星的最少次数。 题解:最小割,对于每一颗小行星,从 x 面的出点向 y 面的入点连一条容量为 inf 的边(仅为保证点之间的连通性),从 y 面的出点向 z 面的入点连 阅读全文
posted @ 2018-07-02 17:13 Memory_of_winter 阅读(175) 评论(0) 推荐(0) 编辑
摘要: 题目大意:给n个单词和一段话,段落中每出现一次指定单词答案加一,但同一句话中同一个单词只算一次,求答案 题解:暴力匹配 C++ Code: 阅读全文
posted @ 2018-07-01 13:13 Memory_of_winter 阅读(151) 评论(0) 推荐(0) 编辑
摘要: 题目大意:请你求出第$n$个斐波那契数列的数$mod 2^{31}$之后的值。并把它分解质因数。 题解:乱搞 卡点:1.忘记取模 C++ Code: #include<cstdio> #include<cmath> using namespace std; long long n,f[50]={1, 阅读全文
posted @ 2018-06-17 12:06 Memory_of_winter 阅读(173) 评论(0) 推荐(0) 编辑
摘要: 题目大意:有n个物体,大小为$c_i$。把第i个到第j个放到一起,容器的长度为$x=j-i+\sum\limits_{k-i}^{j} c_k$,若长度为x,费用为$(x-L)^2$。费用最小. 题解: $$令:a_i=\sum\limits_{i=1}^{i} c_i$$ $$dp_i=min(d 阅读全文
posted @ 2018-06-12 16:31 Memory_of_winter 阅读(166) 评论(0) 推荐(0) 编辑
摘要: 题目大意:有$m$个单位,每个单位有$r_i$个代表,有$n$张餐桌,每张餐桌可容纳$c_i$个代表。要求同一个单位的代表不在同一个餐桌就餐。若可以,输出$1$以及其中一种方案,否则输出$0$ 题解:贪心,把餐桌大小和单位人数从小到大排序,因为单位规模越大就越难满足,所以我们优先考虑他们。而桌子越多 阅读全文
posted @ 2018-06-10 16:58 Memory_of_winter 阅读(249) 评论(0) 推荐(0) 编辑
摘要: 题目大意:一个餐厅N天,每天需要$r_i$块餐巾。每块餐巾需要p元,每天用过的餐巾变脏,不能直接用。现在有快洗店和慢洗店,快洗店洗餐巾需要m天,每块花费f元;慢洗店洗餐巾需要n天,每块餐巾s元(m < n,s< f)。现要求最新的花费使满足每天所需。 题解:把每天拆点,变成上午和下午,进行连边,跑费 阅读全文
posted @ 2018-06-05 16:27 Memory_of_winter 阅读(216) 评论(0) 推荐(0) 编辑