- 博客(173)
- 收藏
- 关注

转载 一些卡常技巧
什么?你说这些东西没用? 那你就大错特错了。WC考过的东西怎么可能没用开O2之后FFT会比不开快几倍 不开O2:NTT比FFT快 开O2:FFT比NTT快常数尽量声明成常量 有一道NTT的题,模数声明成变量跑了1166" role="presentation" style="position: relative;">116611661166ms,模数声明成常量跑
2017-11-07 20:56:47
4450
1

原创 一些需要注意的点
卡常模数用const读入优化空间尽量多开一点点,比如用了长度为nn的数组,空间就开n+10n+10有位运算特别是xorxor和oror时把数组开大一倍精度如果精度要求特别高,比如绝对误差≤10−10\leq{10}^{-10},就要用long double
2017-10-15 20:58:26
412

原创 失分情况记录
由于各种奇怪问题的失分情况 从2017.9.26开始统计 我要看看到省赛前要丢多少分 2017.9.26 80pts 2017.9.27 25pts
2017-09-27 22:09:30
619

原创 一些算法(套路)
概率/期望DP 有一些概率/期望DP可以快速地推出这样的式子: fi(1−b)fifi=a+bfi=a=a1−b\begin{align}f_i&=a+bf_i\\(1-b)f_i&=a\\f_i&=\frac{a}{1-b}\end{align} BZOJ4872 XSY2472分治 有一些问题求得是只包含/不包含一个点的情况,只需要考虑当前[l,r
2017-09-11 19:05:52
1324

原创 FFT什么的
这里只有公式&做法,没有复杂的证明(其实是因为弱鸡yww不会) 参考自国家集训队论文&各个博客多项式 一个以xxx为变量的多项式定义在一个代数域FFF上,将函数A(x)A(x)A(x)表示为形式和: A(x)=∑j=0n−1ajxjA(x)=∑j=0n−1ajxjA(x)=\sum_{j=0}^{n-1}a_jx^j 我们称a0,a1,…,an−1...
2017-08-27 15:42:29
1515
原创 【洛谷U20626】gemo 容斥 FWT 高斯消元
题目大意 给你一个无向图,有mmm个询问,每次给你一个点xxx和一个点集SSS,问你从xxx开始走,每次从一个点随机的走到与这个点相邻的点,问你访问SSS中每个点至少一次的期望步数是多少。 n≤18,m≤100000n≤18,m≤100000n\leq 18,m\leq 100000题解 有个东西叫min-max容斥: max(S)=∑T⊆S(−1)|T|+1min(T...
2018-03-02 15:36:00
954
原创 【UOJ347】【WC2018】通道 边分治 虚树 DP
题目大意 给你三棵树,点数都是nnn。求 maxi,jd1(i,j)+d2(i,j)+d3(i,j)maxi,jd1(i,j)+d2(i,j)+d3(i,j)\max_{i,j}d_1(i,j)+d_2(i,j)+d_3(i,j) 其中dk(i,j)dk(i,j)d_k(i,j)是在第kkk棵数中i,ji,ji,j两点之间的距离。 n≤100000n≤100000n\leq...
2018-02-13 09:40:41
1406
原创 【UOJ349】【WC2018】即时战略 LCT 动态点分治
这是一道交互题题目大意 有一棵nnn个点的树。最开始111号点是白的,其他点是黑的。 每次你可以执行一个操作:explore(x,y)explore(x,y)explore(x,y)。要求xxx是一个白点。该函数会返回从xxx到yyy的路径上第二个点的坐标并把该点染白。 要求你把所有点都染成白色。 设操作次数为ttt。 对于30%30%30\%的数据:这棵树是...
2018-02-12 16:52:45
1080
原创 【UOJ348】【WC2018】州区划分 状压DP FWT
题目大意 给定⼀个nnn个点的⽆向图,对于⼀种nnn个点的划分{S1,S2,…,Sk}{S1,S2,…,Sk}\{S_1,S_2,\ldots,S_k\},定义它是合法的,当且仅当每个点都在其中的一个集合中且对于任何的i∈[1,k]i∈[1,k]i\in[1,k],点集SiSiS_i⾮空,且导出⼦图不存在欧拉回路。 给定数组wiwiw_i,求对于所有合法的划分{s1,s2,…,sk}{...
2018-02-12 09:24:29
1094
原创 THUWC2018游记
前言 这次THUWC有pretest,非常不错。但还是要对拍。DAY1 上午先去报个到。 下午1:30开始比赛,状态还是很好的。 开场先看题。 发现t1是个联赛贪心题,就花了半个小时写完+拍完了。 然后同时开t2、t3。感觉t2的O(n2)O(n2)O(n^2)挺好写的,但只有101010分,就先放了一下。 感觉t3很可做,就开始写t3。 想...
2018-02-01 22:00:57
2543
2
原创 【XSY2190】Alice and Bob VI 树形DP 树剖
题目描述 Alice和Bob正在一棵树上玩游戏。这棵树有nn个结点,编号由11到nn。他们一共玩qq盘游戏。 在第ii局游戏中,Alice从结点aia_i出发,Bob从结点bib_i出发。开始时,除了aia_i和bib_i这两个结点外,所有结点都没有染色。结点aia_i被Alice染色,结点bib_i被Bob染色。 接下来,两位玩家轮流移动,两位玩家移动步数之和为kik_i步。A
2018-01-23 17:08:47
430
原创 【XSY2733】Disembrangle DP
题目描述 有一个3×n3\times n的网格,一些格子里已经有棋子了,一些格子里还没有。 每次你可以选择往一个没有棋子的格子里放一个棋子,但要满足这个格子上下两个格子都有棋子或左右两个格子都有棋子。 你的任务是把这个网格填满。问你有几种填法。 n≤2000n\leq 2000题解 先判无解。 如果四个角没有棋子或在第1/31/3行有两个相邻的空格就无解
2018-01-23 16:53:45
384
原创 【XSY2732】Decalcomania 可持久化线段树 分治
题目描述 有一个陶瓷瓶周围有nn个可以印花的位置。第ii个与第i+1i+1个位置之间的距离为did_i,在第ii个位置印图案要tit_i秒。 机器刚开始在00号位置,可以以11单位长度每秒的速度移动。 一个位置只能印一个图案。 现在有mm秒,问你最多能印几个图案。 保证时间不足以绕陶瓷瓶一圈。 n≤100000n\leq 100000题解 肯定是先
2018-01-23 16:41:48
489
原创 【XSY2703】置换 数学 置换 DP
题目描述 对于置换pp,定义f(p)f(p)为最小的正整数kk,使得pkp^k为恒等置换。 你需要求对于所有的nn元素置换pp,f2(p)f^2(p)的平均值。 n≤200n\leq 200题解 考虑把置换拆成很多个循环。 f(p)f(p)就是所有循环的长度的lcmlcm 可以考虑DP,设fi,jf_{i,j}为放了ii个位置,当前所有循环长度的lcml
2018-01-23 16:19:36
761
原创 【XSY2701】异或图 线性基 容斥原理
题目描述 定义两个图G1G_1与G2G_2的异或图为一个图GG,其中图GG的每条边在G1G_1与G2G_2中出现次数和为11。 给你mm个图,问你这mm个图组成的集合有多少个子集的异或图为一个连通图。 n≤10,m≤60n\leq 10,m\leq 60题解 考虑枚举图的子集划分,让被划分到不同子集的点之间没有连边,而在同一个子集里面的点可以连通,可以不连通。
2018-01-23 16:04:54
294
原创 【BZOJ3997】【TJOI2015】组合数学 Dilworth定理 DP
题目描述 有一个n×mn\times m的网格图,其中某些格子有财宝,每次从左上角出发,只能向下或右走。问至少走多少次才能将财宝捡完。 此对此问题变形,假设每个格子中有好多财宝,而每一次经过一个格子至多只能捡走一块财宝,至少走多少次才能把财宝全部捡完。 n,m≤1000n,m\leq 1000题解 定义偏序关系 把一个格子拆成很多个点,每个点代表一个财宝。
2018-01-19 09:20:46
352
原创 【XSY2727】Remove Dilworth定理 堆 树状数组 DP
题目描述 一个二维平面上有nn个梯形,满足: 所有梯形的下底边在直线y=0y=0上。 所有梯形的上底边在直线y=1y=1上。 没有两个点的坐标相同。 你一次可以选择任意多个梯形,必须满足这些梯形两两重叠,然后删掉这些梯形。 问你最少几次可以删掉所有梯形。 n≤105n\leq {10}^5题解 先把坐标离散化。 定义AA为所有梯形
2018-01-19 08:56:54
331
原创 【XSY2032】简单粗暴的题目 组合数
题目描述 给你n,k,a1…ann,k,a_1\ldots a_n,设 ansn=∑i=1n(∑j=ins(j))kans_n=\sum_{i=1}^n{(\sum_{j=i}^ns(j))}^k\\ 求ans1…ansnans_1\ldots ans_n 对109+7{10}^9+7取模 n≤50000,k≤100n\leq 50000,k\leq 100题
2018-01-17 20:04:50
369
原创 【XSY2731】Div 数论 杜教筛 莫比乌斯反演
题目大意 定义复数a+bia+bi为整数kk的约数,当且仅当aa和bb为整数且存在整数cc和dd满足(a+bi)(c+di)=k(a+bi)(c+di)=k。 定义复数a+bia+bi的实部为aa,虚部为bb。 定义f(n)f(n)为整数nn的所有实部大于00的约数的实部之和。 给定正整数nn,求出∑ni=1f(i)\sum_{i=1}^nf(i)对100453580910
2018-01-16 11:22:26
459
原创 【XSY2730】Ball 多项式exp 多项式ln 多项式开根 常系数线性递推 DP
题目大意 一行有nn个球,现在将这些球分成kk 组,每组可以有一个球或相邻两个球。一个球只能在至多一个组中(可以不在任何组中)。求对于1≤k≤m1\leq k\leq m的所有kk分别有多少种分组方法。 答案对998244353998244353取模。 n≤109,m219n\leq {10}^9,m题解 因为k>nk>n的项都是00,所以我们钦定m≤nm\leq
2018-01-16 10:58:47
1184
原创 【XSY2729】欧拉子图 无向图连通性 数学
题目大意 给你一个nn个点mm条边的无向图(可能有重边),对于这个图的边集的子集(一共有2m2^m个),如果其导出的子图的每个联通块内都存在欧拉回路,我们就把答案加上这个子图的边数的平方,答案对109+7{10}^9+7取模。 n,m≤200000n,m\leq 200000题解 先求出这个图的DFS树。 记cc为这个图的联通块个数。 通过观察发现,如果非树边任意
2018-01-16 10:42:22
1084
原创 【CTSC2017】【BZOJ4903】吉夫特 卢卡斯定理 DP
题目描述 给你一个长度为nn的数列aa,求有多少个长度≥2\geq 2的不上升子序列ab1,ab2,…,abka_{b_1},a_{b_2},\ldots,a_{b_k}满足 ∏i=2k(abi−1abi)mod2>0\prod_{i=2}^k\binom{a_{b_{i-1}}}{a_{b_i}}\mod 2>0 答案对109+7{10}^9+7取模。 n≤211985,
2018-01-15 11:43:54
582
原创 【XSY2718】gift 分数规划 网络流
题目描述 有nn个物品,买第ii个物品要花费aia_i元。还有mm对关系:同时买pi,qip_i,q_i两个物品会获得bib_i点收益。 设收益为BB,花费为AA,求⌈BA⌉−1\lceil\frac{B}{A}\rceil-1 n≤400,m≤200000,1≤ai,bi≤100n\leq 400,m\leq 200000,1\leq a_i,b_i\leq 100题解
2018-01-14 21:11:46
395
原创 【XSY2719】prime 莫比乌斯反演
题目描述 设f(i)f(i)为ii的不同的质因子个数,求∑ni=12f(i)\sum_{i=1}^n2^{f(i)} n≤1012n\leq{10}^{12}题解 考虑2f(i)2^{f(i)}的意义:有f(i)f(i)总因子,每种可以分给两个人中的一个。那么就有2f(i)=∑d|i[gcd(d,id)=1]2^{f(i)}=\sum_{d|i}[\gcd(d,\frac
2018-01-14 21:01:26
314
原创 【XSY2720】区间第k小 整体二分 可持久化线段树
题目描述 给你你个序列,每次求区间第kk小的数。 本题中,如果一个数在询问区间中出现了超过ww次,那么就把这个数视为nn。 强制在线。 n≤100000,ain,w≤nn\leq 100000,a_i题解 考虑整体二分。 先看看离线要怎么做。 现在我们要计算每个数对每个区间的贡献。 对于每个询问区间和每种数,让这个区间最右边ww个数对这个询问
2018-01-14 20:52:02
335
原创 【XSY2721】求和 杜教筛
题目描述 设n=∏apiin=\prod a_i^{p_i},那么定义fd(n)=∏(−1)pi[pi≤d]f_d(n)=\prod{(-1)^{p_i}[p_i\leq d]}。特别的,f1(n)=μ(n)f_1(n)=\mu(n)。 给你n,kn,k,求 ∑i=1n∑j=1n∑d=1kfd(gcd(i,j))\sum_{i=1}^n\sum_{j=1}^n\sum_{d=1}^
2018-01-14 20:37:50
352
原创 【XSY2716】营养餐 博弈论
题目描述 给你一棵有根树,每个点有两个属性a,ba,b 两人轮流操作,每次要减小一个点的aa值,要求 ax≥∑i∈child(x)aibia_x\geq\sum_{i\in child(x)}a_ib_i 保证初始状态满足这个要求。 ∑n≤5×105\sum n\leq 5\times {10}^5题解 令 sx=ax−∑i∈child(x)aibis_
2018-01-11 11:15:29
298
原创 【XSY2715】回文串 树链剖分 回文自动机
题目描述 有一个字符串ss,长度为nn。有mm个操作:addl caddl ~c:在ss左边加上一个字符ccaddr caddr~c:在ss右边加上一个字符transl l1 r1 l2 r2transl~l_1~r_1~l_2~r_2:有两个ss的子串s1=s[l1…r1],s2=s[l2…r2]s_1=s[l_1\ldots r_1],s_2=s[l_2\ldots r_2]。
2018-01-11 11:02:18
341
原创 【XSY2714】大佬的难题 数学 树状数组
题目描述 给你三个排列A,B,CA,B,C,求 ∑1≤x,y≤n[axay][bxby][cxcy]\sum_{1\leq x,y\leq n}[a_x<a_y][b_x<b_y][c_x<c_y] n≤2×106n\leq 2\times {10}^6题解 就是一个三位偏序。用CDQ分治可以做到O(nlog2n)O(n\log^2 n)。常熟小一点可以卡过。我在UOJ
2018-01-11 10:15:49
354
原创 【XSY2707】snow 线段树 并查集
题目描述 有nn个人和一条长度为tt的线段,每个人还有一个工作范围(是一个区间)。最开始整条线段都是白的。定义每个人的工作长度是这个人的工作范围中白色部分的长度(会随着线段改变而改变)。每一天开始时你要选择一个人满足这个人的工作长度最小(如果有多个就选编号最小的)。把这个人的工作区间染黑。请你输出每天你选了哪个人。 保证工作范围中左端点和右端点单调递增。 n≤300000n\le
2018-01-10 08:41:39
279
原创 【XSY2709】count DP
题目描述 有一个序列AA,你可以随意排列这个序列,设s=∑n−1i=1|ai−ai+1|s=\sum_{i=1}^{n-1}|a_i-a_{i+1}| 。 问你最终s≤ms\leq m的方案数有几种。 保证AA中的元素两两不同。 n≤100,ai,m≤1000n\leq 100,a_i,m\leq 1000题解 考虑从大到小把AA中的元素插回去。 插入
2018-01-10 08:30:29
278
原创 【XSY2708】hack 网络流
题目描述 给你一个图,每条边有一个权值。要求你选一些边,满足对于每条从11到nn的路径上(可以不是简单路径)有且仅有一条被选中的边。问你选择的边的边权和最小值。 n≤100n\leq 100题解 先把整张图分为两个集合S,TS,T,其中SS是从原点开始BFS能够到达的点组成的集合,TT是剩下的点组成的集合。 如果没有在一条路径上只能选一条边的限制,就是一个普通的网络流了。 我们看看什么情况
2018-01-10 08:09:51
255
原创 【XSY2691】中关村 卢卡斯定理 数位DP
题目描述 在一个kk维空间中,每个整点被黑白染色。对于一个坐标为(x1,x2,…,xk)(x_1,x_2,\ldots,x_k)的点,他的颜色我们通过如下方式计算:如果存在一维坐标是00,则颜色是黑色。如果这个点是(1,1,…,1)(1,1,\ldots,1)(每一维都是11),这个点的颜色是白色如果这个点的kk个前驱(任取一维坐标减11)中的白点有奇数个,那么这个点的颜色就是白色
2018-01-07 10:16:22
394
原创 【XSY2693】景中人 区间DP
题目描述 平面上有nn个点,你要用一些矩形覆盖这些点,要求:每个矩形的下边界为y=0y=0每个矩形的大小不大于ss 问你最少要用几个矩形。 n≤100,1≤y≤sn\leq 100,1\leq y\leq s题解 先把坐标离散化。 猜(zheng)一个结论:最优解中任意两个矩形的横坐标只可能是相离或包含,不可能是相交。证明略。 考虑区间DP。
2018-01-07 09:53:42
470
1
原创 【XSY2679】修墙 最短路
题目描述 有一个(n+1)×(m+1)(n+1)\times (m+1)的网格,每条边都有一个边权。有一些格子是城市。你要用一个环圈住所有城市,要求环上所有边的边权和最小。重合的边边权算多次。保证左上角(1,1)(1,1)一定有一个城市。 n,m≤400n,m\leq 400题解 观察到左上角一定有一个城市。 首先求出每个城市左上角到(0,0)(0,0)的最短路,那么这个圈肯定不会经过最短路
2017-12-29 09:29:19
233
原创 【XSY2669】归并排序 树状数组 简单组合数学
题目描述 有一个长度为nn的排列n=2kn=2^k,你要把这个数组归并排序。但是在长度为22的时候有12\frac{1}{2}的概率会把两个数交换(就是有12\frac{1}{2}的概率返回错的结果)。有两种操作 11:交换两个数 22:询问排序后的一个位置等于一个数的概率。 k≤16,q≤105k\leq 16,q\leq {10}^5题解 这个排序有点奇怪。两个数a,b(a<b)a,b
2017-12-29 08:56:08
352
原创 【XSY2668】排列统计 DP
题目描述 给你一个长度为nn的排列aa,每次要选择两个数,交换这两个数(这两个数可以相同)。总共要交换kk次。 最后要统计数列中有多少位置ii满足maxj≤iai=ai\max_{j\leq i}a_i=a_i。求前面这个东西的期望。 n≤100,k≤80n\leq 100,k\leq 80题解 毒瘤题。。。 我们枚举每个数yy每在个位置xx的贡献。把其他数中大于yy的看成11,把其他数中
2017-12-29 08:39:59
329
原创 【XSY2667】摧毁图状树 贪心 堆 DFS序 线段树
题目大意 给你一棵有根树,有nn个点。还有一个参数kk。你每次要删除一条长度为kk(kk个点)的祖先-后代链,问你最少几次删完。现在有qq个询问,每次给你一个kk,问你答案是多少。 n≤105,k≤109n\leq {10}^5,k\leq {10}^9题解 设ll为这棵树的叶子个数,显然当k>k>树的深度时答案都是ll。 下面要证明:答案是O(l+n−lk)O(l+\frac{n-l}{k
2017-12-29 08:06:47
485
原创 【XSY2665】没有上司的舞会 LCT DP
题目大意 有一棵树,最开始只有一个点。每次会往这棵树中加一个点,总共nn次。输出每次加点后树的最大独立集大小。 强制在线。 n≤300000n\leq 300000题解 显然是LCT。 那么要维护什么呢? 先看看DP方程:设fi,0f_{i,0}为以ii为根的子树中ii这个点不选的答案,fi,1f_{i,1}为ii这个点选的答案。显然 fi,0fi,1=∑vmax(fv,0,fv,1)
2017-12-23 21:32:26
365
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人