摘要: 2019-01-18 4543: [POI2014]Hotel加强版:长链剖分+树形dp。 3653: 谈笑风生:dfs序+主席树。 POJ 3678 Katu Puzzle:2-sat问题,给n个变量赋值(0/1),满足所有等式。 POJ 3683 Priest John's Busiest Da阅读全文
posted @ 2019-01-17 08:10 hwim 阅读(8) 评论(0) 编辑
摘要: 整理一些结论。 1、关于组合数 $C_n^m = \frac{n!}{m!(n-m)!}$ $C_n^m = C_n^{m-1} + C_{n-1}^{m-1}$ $C^0_n+C^1_n+C^2_n+...+C^{n-1}_n+C^n_n=2^n$ $C_n^m ≡ C_{n/p}^{m/p} \阅读全文
posted @ 2018-04-27 08:58 hwim 阅读(124) 评论(0) 编辑
摘要: 整理一些常用的东西。 1、cincout读入优化 2、“万能头文件”,别忘了命名空间 等于 3、随机数函数 srand和rand属于#include<algorithm> time属于#include<ctime> 4、读入优化 fread的读入优化 带返回值的读入优化 自己yy了一种读入优化,跑的阅读全文
posted @ 2017-07-16 19:10 hwim 阅读(252) 评论(0) 编辑
摘要: 不时更新常用的模板,模板可能写的有些早,不像现在写的一样 数论 组合数递推公式 1 C[1][0] = C[1][1] = 1; 2 for (int i=2; i<=N; i++) 3 { 4 C[i][0] = 1; 5 for (int j=1; j<=N; j++) 6 C[i][j] = 阅读全文
posted @ 2017-05-27 15:14 hwim 阅读(645) 评论(0) 编辑
摘要: 1483: [HNOI2009]梦幻布丁 链接 分析: 启发式合并+链表。 代码:阅读全文
posted @ 2019-01-19 18:36 hwim 阅读(1) 评论(0) 编辑
摘要: 3495: PA2010 Riddle 链接 分析: 每个点要么建首都,要么不建,并且一个点建了,会导致一些点不能建。所以可以考虑2-sat。 但是如果在每个郡里两两连边,边数是n^2的。 考虑用前缀优化。 S[i]表示对于当前郡,前i个点中是否存在一个首都,A[i]表示i这个点是否建首都。 1、那阅读全文
posted @ 2019-01-19 14:55 hwim 阅读(2) 评论(0) 编辑
摘要: 1997: [Hnoi2010]Planar 链接 分析: 首先在给定的那个环上考虑进行操作,如果环内有有两条边相交,那么可以把其中的一条放到环的外面去。所以转换为2-sat问题。 像这样,由于1-4和2-3在环内相交了,所以可以把1-4放到环外,就变成了下图。 代码:阅读全文
posted @ 2019-01-19 11:23 hwim 阅读(3) 评论(0) 编辑
摘要: Priest John's Busiest Day 链接 题意: 有n场婚礼,每场婚礼有开始时间和结束时间,每场婚礼都需要牧师的祝福,祝福的时间只能是婚礼开始或者婚礼结束。问能否满足n场婚礼的要求。 分析: 2-sat问题。 代码:阅读全文
posted @ 2019-01-18 21:41 hwim 阅读(3) 评论(0) 编辑
摘要: Katu Puzzle 链接 题意: 有n个变量(每个变量只能是0或者1),m个等式,每个等式形如$x_i \ op \ x_j = c, \ op \in["and","or","xor"],c \in [0,1]$,问能否给n个变量赋值,满足所有等式。 分析: 2-sat问题。 注意一下a&b=阅读全文
posted @ 2019-01-18 18:47 hwim 阅读(3) 评论(0) 编辑
摘要: 3653: 谈笑风生 链接 分析: $ans = min(deep[x] - 1, k) * siz[x] - 1 +\sum\limits_{y是u子树内的点}(siz[y] - 1)$ 前面的可以$O(1)$算,后面的那一部分可以dfs序+主席树维护。 或者dfs的过程中+线段树合并。或者长链剖阅读全文
posted @ 2019-01-18 16:29 hwim 阅读(3) 评论(0) 编辑
摘要: 4543: [POI2014]Hotel加强版 链接 分析: f[u][i]表示子树u内,距离u为i的点的个数,g[u][i]表示在子树u内,已经选了两个深度一样的点,还需要在距离u为i的一个点作为第三个点。 然后就可以利用这两个数组统计答案了。 ans+=g[u][j]*f[v][j-1]+f[u阅读全文
posted @ 2019-01-18 14:40 hwim 阅读(2) 评论(0) 编辑
摘要: 2019-01-18 4543: [POI2014]Hotel加强版:长链剖分+树形dp。 3653: 谈笑风生:dfs序+主席树。 POJ 3678 Katu Puzzle:2-sat问题,给n个变量赋值(0/1),满足所有等式。 POJ 3683 Priest John's Busiest Da阅读全文
posted @ 2019-01-17 08:10 hwim 阅读(8) 评论(0) 编辑
摘要: F - Two Trees 链接 题意: 给定两棵都是N个节点的有根树,节点均从1~N标号。给每个标号定一个权值(类似一号点的权值是x,那么两棵树中1号点的权值都是x),使在两棵树满足以任意节点为根的子树的权值和为1或-1。输出任意一种解或判断无解,N<=100000。 分析: 欧拉回路。 首先每棵阅读全文
posted @ 2019-01-16 21:21 hwim 阅读(5) 评论(0) 编辑
摘要: POJ 1149 PIGS 链接 #include<cstdio> #include<algorithm> #include<cstring> #include<iostream> #include<cmath> #include<cctype> #include<set> #include<que阅读全文
posted @ 2019-01-15 22:03 hwim 阅读(11) 评论(0) 编辑
摘要: 很久没写过这东西了,复习一波。 3238: [Ahoi2013]差异 链接 单调栈维护height数组,由于height是递增的,所以维护单调栈中维护每个height出现的次数。(还可以两遍单调栈求一个点是最小值的区间) 1 #include<cstdio> 2 #include<algorithm阅读全文
posted @ 2019-01-02 22:50 hwim 阅读(22) 评论(0) 编辑
摘要: D. Little Elephant and Broken Sorting 链接 题意: 长度为n的序列,m次操作,每次交换两个位置,每次操作的概率为$\frac{1}{2}$,求m此操作后逆序对的期望。 分析: f[i][j]表示i>i的概率,每次交换的概率为$\frac{1}{2}$,设交换的位阅读全文
posted @ 2018-12-30 20:55 hwim 阅读(11) 评论(0) 编辑
摘要: B - Tree Burning 链接 题意: 一个长度为L的环,有n个位置上有树,从0出发,每次选择一个方向(顺时针或者逆时针),一直走,直到走到一棵树的位置,烧掉这棵树,重复这个过程,直到没有树。求最多走多少距离。 分析: 最优一定是LLLRLRLRL……类似这样的,于是枚举每个点,计算答案。 阅读全文
posted @ 2018-12-30 18:01 hwim 阅读(13) 评论(0) 编辑
摘要: G. Multidimensional Queries 链接 分析: 考虑如何去掉绝对值符号。 $\sum \limits_{i = 1}^{k} |a_{x, i} - a_{y, i}|$,由于k比较小,考虑枚举每一维的符号,发现如果不是最终的答案,结果会变小,不影响取max的操作。 然后就是单阅读全文
posted @ 2018-12-29 17:56 hwim 阅读(4) 评论(0) 编辑
摘要: E. Intersection of Permutations 链接 题意: 给定两个序列,询问第一个排列的[l1,r1]和第二个排列[l2,r2]中有多少个共同的数,支持在第二个排列中交换两个数。 分析: 首先求出一个数组,c[i],第二个排列的这个数字在第一个排列中出现的位置。那么查询就是询问c阅读全文
posted @ 2018-12-29 11:16 hwim 阅读(6) 评论(0) 编辑