- 博客(47)
- 收藏
- 关注
原创 各种易错点,trick收集
留坑待填。。。易错点:1.记得开ll2.一定要对拍大数据3.NTT wn=qsm(g,(p-1)/(i<<1))*kTricks:1.能用lower_bound就不要二分2.适当用vector简化代码3.线性筛用mn[i]记i的最小质因子是第几个质数4.最小中找最大/最大中找最小的题 二分答案5.尽量少开邻接表
2018-10-30 15:23:50 321
原创 暑假集训小结7.14-7.22
各种套路,知识点小结[7.14]T1T2[7.15]T2T3[7.16]T1T2[7.17]T1T2T3[7.18]T1T2T3[7.14]T1不能在这种**题上丢分 每种情况要仔细讨论清楚 T2生日悖论及其在Miller-Robin素数测试,Pollard-Rho alg...
2018-07-18 19:32:26 356
原创 二项式反演&斯特林数&斯特林反演 学习笔记
二项式反演从错排数讲起, 考虑一个有n个元素的排列,若一个排列中所有的元素都不在自己原来的位置上,那么这样的排列就称为原排列的一个错排。用容斥来解决这个问题,不难发现错排数即为g(n)=∑i=1n(−1)i(ni)(n−i)!g(n)=\sum_{i=1}^n (-1)^i\binom{n}{i}(n-i)! 考虑二项式定理,(1−1)n=∑i=0n(−1)i(ni)=0(1-1)^n=\s
2018-05-04 15:24:49 952
原创 gdfzoj #1440 Max(状压DP)
原题链接 注意到这题求的的是最大值的期望,考虑使用状压dp维护最大值求解 发现对于每个n行c+1列的矩阵,发生Aj=Aj+kA_j=A_j+k 的事件概率和为1,即它们是互斥的,考虑将是否发生Aj=Aj+kA_j=A_j+k的事件压入状态 我们可以记f[i][mask][k]f[i][mask][k]表示第i个数经过mask的操作(mask为状态压缩值),值为k的概率 则易得转移方程f[
2018-04-27 19:29:46 274
原创 hdu #5730 Shell Necklace (CDQ分治+FFT)
原题链接Problem DescriptionPerhaps the sea‘s definition of a shell is the pearl. However, in my view, a shell necklace with n beautiful shells contains the most sincere feeling for my best lover Arrietty,
2018-04-20 22:06:02 313
原创 bzoj #4827 礼物(FFT)(HNOI2017)
标签:FFTDescription我的室友最近喜欢上了一个可爱的小女生。马上就要到她的生日了,他决定买一对情侣手 环,一个留给自己,一个送给她。每个手环上各有 n 个装饰物,并且每个装饰物都有一定的亮度。但是在她生日的前一天,我的室友突然发现他好像拿错了一个手环,而且已经没时间去更换它了!他只能使用一种特殊的方法,将其中一个手环中所有装饰物的亮度增加一个相同的自然数 c(即非负整数)。并且...
2018-02-14 09:50:45 300
原创 bzoj #3527 力(FFT)(ZJOI2014)
标签:FFT给出n个数qi,给出Fj的定义如下: 令Ei=Fi/qi,求Ei. n<=100000我们发现,直接暴力算复杂度为O(n2)O(n^2),常数还很大,注意到Ei=∑i<jqj(i−j)2−∑i>jqj(i−j)2E_i=\sum_{i<j}\frac{q_j}{(i-j)^2}-\sum_{i>j}\frac{q_j}{(i-j)^2} 算上i=j的情况,刚好是有n项,并且每一
2018-02-11 15:25:50 327
原创 luogu #2522 Problem b(莫比乌斯反演)(HAOI2011)
标签:数学对于给出的n个询问,每次求有多少个数对(x,y),满足a≤x≤b,c≤y≤d,且gcd(x,y) = k,gcd(x,y)函数为x和y的最大公约数。 a,b,c,d,k<=50000记g(a,b,c,d)为题目所求,记f(m,n)为满足1≤x≤m,1≤y≤n,且gcd(x,y) = k的数对个数,记F(m,n)为满足1≤x≤m,1≤y≤n,且gcd(x,y)%k=0的数对个数。 首先我
2018-02-05 17:05:51 329
原创 bzoj #3669 魔法森林(SPFA/LCT)(NOI2014)
标签:SPFA/LCT Time Limit: 30 Sec Memory Limit: 512 MBSubmit: 3139 Solved: 1984[Submit][Status][Discuss]Description为了得到书法大家的真传,小E同学下定决心去拜访住在魔法森林中的隐士。魔法森林可以被看成一个包含个N节点M条边的无向图,节点标号为1..N,边标号为1..M。初始时小E同学在
2018-01-03 14:08:56 337
原创 LCT(Link-Cut Tree)学习笔记
0LCT(Link-Cut Tree)是一种支持动态维护的树形数据结构,可以用来解决非循环图的动态连通性问题。 这里大概就我的理解去说一下LCT的原理以及实现。 与树剖类似,LCT分为轻/重链,可以保证,重链的条数不超过log(n)log(n)条。 但是,由于链的维护是动态的,这使得我们不能像树剖一样用线段树去维护每一条链。 我们使用splay去维护每一条链,LCT就可以视为是一个splay
2017-12-27 14:10:10 466
原创 bzoj #1001 狼抓兔子(图论/网络流)
标签:图论/网络流1001: [BeiJing2006]狼抓兔子Time Limit: 15 Sec Memory Limit: 162 MBSubmit: 25723 Solved: 6529[Submit][Status][Discuss]Description现在小朋友们最喜欢的"喜羊羊与灰太狼",话说灰太狼抓羊不到,但抓兔子还是比较在行的,而且现在的兔子还比较笨,它们只有两个窝,现在你做
2017-12-18 13:02:35 402
原创 luogu #2852 Milk Patterns(后缀数组)
原题链接题目描述Farmer John has noticed that the quality of milk given by his cows varies from day to day. On further investigation, he discovered that although he can’t predict the quality of milk from one da
2017-12-07 22:59:28 282
原创 luogu #3809 【模板】后缀排序(后缀数组)
题目背景这是一道模板题。题目描述读入一个长度为nn的由大小写英文字母或数字组成的字符串,请把这个字符串的所有非空后缀按字典序从小到大排序,然后按顺序输出后缀的第一个字符在原串中的位置。位置编号为 1 1 到 n n。输入输出格式输入格式: 一行一个长度nn 的仅包含大小写英文字母或数字的字符串。 输出格式: 一行,共n个整数,表示答案。模板题,注释写的很详细了#include<cstdio>
2017-12-04 22:51:39 358
原创 luogu #3391 【模板】文艺平衡树(splay)
题目背景这是一道经典的Splay模板题——文艺平衡树。题目描述您需要写一种数据结构(可参考题目标题),来维护一个有序数列,其中需要提供以下操作:翻转一个区间,例如原有序序列是5 4 3 2 1,翻转区间是[2,4]的话,结果是5 2 3 4 1输入输出格式输入格式: 第一行为n,m n表示初始序列有n个数,这个序列依次是(1,2,⋯n−1,n) (1,2, \cdots n-1,n),m表示翻转操
2017-11-30 20:06:19 432
原创 bzoj #1208 宠物收养所(splay)
原题链接Description最近,阿Q开了一间宠物收养所。收养所提供两种服务:收养被主人遗弃的宠物和让新的主人领养这些宠物。每个领养者都希望领养到自己满意的宠物,阿Q根据领养者的要求通过他自己发明的一个特殊的公式,得出该领养者希望领养的宠物的特点值a(a是一个正整数,a<2^31),而他也给每个处在收养所的宠物一个特点值。这样他就能够很方便的处理整个领养宠物的过程了,宠物收养所总是会有两种情况发生
2017-11-29 22:58:07 275
原创 bzoj #1588 营业额统计(splay)
题目链接DescriptionTiger最近被公司升任为营业部经理,他上任后接受公司交给的第一项任务便是统计并分析公司成立以来的营业情况。 Tiger拿出了公司的账本,账本上记录了公司成立以来每天的营业额。分析营业情况是一项相当复杂的工作。由于节假日,大减价或者是其他情况的时候,营业额会出现一定的波动,当然一定的波动是能够接受的,但是在某些时候营业额突变得很高或是很低,这就证明公司此时的经营状况出现
2017-11-28 13:28:48 362
原创 模板合集(2)
如有错误请及时指出~(纯手打,持续更新中……) 目录: 编号 算法/数据结构 1 FFT 2 凸包 3 splay 4 线性求逆元 5 LCT 6 后缀数组(SA) 7 后缀自动机(SAM) 8 NTT 9 树的重心 10 CDQ分治 11 AC自动机 12 最小费用最大流 13 树链剖分
2017-11-20 22:56:30 551
原创 学习清单
(更新中)树树链剖分树的重心TreapSplay √SBT左偏树点分治树套树LCT √K-D tree图基础网络流(最大流)√tarjan割点/割顶二分图匹配 √最小费用最大流缩点数学莫比乌斯反演线性基exgcd卡特兰数lucas定理高斯消元 √FFT √FWT乘法逆元 √凸包 √旋转卡壳 √数据结构...
2017-11-15 23:09:38 322
原创 NOIP2017 游记
2017.11.10-2017.11.12 by Talex YeungDay 0下午大概三点半从学校出发 酒店还算好 晚上和hz,ljj,ssn,lsb,xbc等大佬出去吃了一顿 回酒店后去召唤师峡谷旅游了一圈,结果线上就被打崩 敲了几个板子就去睡了(第二天一个都没考到) 晚上失眠,体验极差,差不多第二天早上4点才睡着Day 1酒店早餐竟然没有咖啡,走
2017-11-11 14:21:47 415
原创 noip中STL总结
先写这么多,以后有时间再更~bitset用法:#include<bitset> 定义:`bitset <大小> b; 功能: 函数 功能 b.any() 是否存在1 b.reset() 全部置为0 b.set() 全部置为1 b.count() 1的个数priority_queue用法:#include<queue> 定义:priority_queue<
2017-11-10 07:50:03 2895
原创 gdfzoj #1002 Tourist Attractions(bitset)
标签:bitset 题解:我们设f[i][j]表示以点i为起点,j为路径长度的简单路径数量。 显然有f[i][1]=1,f[i][2]=∑所有j与i相连f[j][1]f[i][2]=\sum_{所有j与i相连}^{}f[j][1],f[i][3]=∑所有j与i相连f[j][2]−1f[i][3]=\sum_{所有j与i相连}^{}f[j][2]-1。 注意到在一条长度为4的路径中,第一个点
2017-11-07 18:30:19 417
原创 gdfzoj #987 约数统计(线性筛+思维)
标签:线性筛 P.S.:100分的做法时间复杂度证明类似于调和级数。。。#include<cstdio>#include<algorithm>#include<cstring>#include<cmath>#define mod 998244353using namespace std;typedef long long ll;bool f[1000050];ll p[10
2017-11-06 19:52:10 563
原创 模板合集(1)
如有错误请及时指出~(纯手打,持续更新中……) 目录: 编号 算法/数据结构 0 对拍程序 1 邻接表 2 LCA 3 SPFA 4 线性筛 5 快速幂 6 读入优化 7 二分(求上/下界) 8 并查集 9 线段树 10 二分图匹配
2017-10-17 13:04:41 1316 2
原创 gdfzoj #831 A(线段树)
不友善的原题链接 题意: 不难看出,这题就是一道裸的线段树题,考虑到曼哈顿距离的性质(见下图),我们只需维护一个区间中左上,右上,左下,右下的四个点的最优值。 用上一个线段树区间修改,查询模板即可。#include<cstdio>#include<algorithm>#include<cstring>#include<ctime>#include<cmath>#define
2017-09-20 12:51:33 400
原创 gdfzoj #791 硬币(优先队列)
标签:优先队列 原题:AtCoder Grand Contest 018 C,gdfzoj上的链接 迟到的博客。。。有X+Y+Z个人,从1到X+Y+Z编号。第i个人有Ai个金币,Bi个银币,Ci个铜币。 小J想从X个人手中得到他们的全部金币,Y个人手中得到他们的全部银币,Z个人手中得到他们的全部铜币。 一个人只会将他的一种硬币全部给小J。 小J想知道她最多能得到多少个硬币。Input 第
2017-09-06 22:53:42 381
原创 luogu #2680 运输计划(二分答案+树上差分)(noip2015)
题目链接 标签:二分答案,树上差分题目描述 L 国有 n 个星球,还有 n-1 条双向航道,每条航道建立在两个星球之间,这 n-1 条航道连通了 L 国的所有星球。 小 P 掌管一家物流公司,该公司有很多个运输计划,每个运输计划形如:有一艘物 流飞船需要从 ui 号星球沿最快的宇航路径飞行到 vi 号星球去。显然,飞船驶过一条航道 是需要时间的,对于航道 j,任意飞船驶过它所花费的时间为 t
2017-09-02 22:15:43 487
原创 bzoj #1101 ZAP-Queries (莫比乌斯反演)
原题链接 题意: FGD正在破解一段密码,他需要回答很多类似的问题:对于给定的整数a,b和d,有多少正整数对x,y,满足x(1首先挂一个莫比乌斯反演的公式: 若f(n)f(n)和F(n)F(n)是定义在正整数集合下的两个函数,并且满足F(n)=∑d|nf(d)F(n)=\sum_{d|n} f(d),则有$$$f(n)=\sum_{d|n} μ(d)F()$ 其中μ(d)μ(d)为
2017-08-29 22:14:49 375
原创 bzoj #3781小B的询问(莫队)
原题链接(好像是权限题)题目描述 小B有一个序列,包含N个1~K之间的整数。他一共有M个询问,每个询问给定一个区间[L..R],求Sigma(c(i)^2)的值,其中i的值从1到K,其中c(i)表示数字i在[L..R]中的重复次数。小B请你帮助他回答询问。输入输出格式 输入格式: 第一行,三个整数N、M、K。 第二行,N个整数,表示小B的序列。 接下来的M行,每行两个整数L、R。 输出格
2017-08-29 18:17:37 317
原创 gdfzoj #790 卡尔的连招(状压dp)
标签:状压dp 原题链接 由于本人第一次写状压dp,技术不精,许多细节都没处理好,调了3小时才出来,最后发现是少了一个括号。。。 这道题属于比较明显的状压dp题。考虑到2^15只有32768,我们可以用1,0分别表示一个一个技能用与不用,就可以将每个技能连招所要求用到的技能,以及dp时的状态压起来。 这到题需要用到一个技巧:将1到2^n-1的数根据二进制中的1的个数多少提前排列好,这样可
2017-08-22 21:38:32 607
原创 gdfzoj #786 很容易AC的题(AC自动机)
标签:AC自动机 原题链接 这道题看上去并不好做,但是如果你学过fail指针,再结合题目标题,一看就知道是用AC自动机。 题目中提及“找到第x个字符串和第y个字符串的连续公共子串同时也是某个字符串的前缀的串”,我们便可以利用fail指针来解题。考虑到 fail指针的性质:假设有一个节点k,他的失败指针指向j。那么k,j满足这个性质:设root到j的距离为n,则从k之上的第n个节点到k所组成
2017-08-22 11:15:29 400
原创 gdfzoj #785 买水果(树上dp)
标签:树上dp 原题链接(其实并没有什么用) ———————————————————我是分割线——————————————————–考虑到q比较庞大(10^5级别),我们不能用单个处理询问的方法来解决,这道题的方法是用树上dp来做。首先我们把一家店视为一个点,水果店为黑点,其他店为白点。我们令f[i][j][0]表示在以i点为根,有j个黑点时白点的最大数量,同理,f[i][j][1]表示
2017-08-21 19:46:28 337
原创 gdfzoj #768 百度地图导航(SPFA+建图)
原题:2017计蒜之道复赛Problem D 标签:建图,SPFA 题目链接Problem Description百度地图上有 n 个城市,城市编号依次为 1 到 n。地图中有若干个城市群,编号依次为 1 到 m。每个城市群包含一个或多个城市;每个城市可能属于多个城市群,也可能不属于任何城市群。 地图中有两类道路。第一类道路是 城市之间的快速路,两个城市 u,v 之间增加一条距离为 c 的边;
2017-07-18 20:48:07 919
原创 luogu #2527 Panda的烦恼(模拟)
原题链接 题目描述panda是个数学怪人,他非常喜欢研究跟别人相反的事情。最近他正在研究筛法,众所周知,对一个范围内的整数,经过筛法处理以后,剩下的全部都是质数,不过panda对这些不感兴趣,他只对被筛掉的数感兴趣,他觉得在这些被筛掉的数中一定隐藏着重要的宇宙秘密,只是人们还没有发现罢了。panda还觉得如果只是单纯地从小到大筛的话,还不足够发现其中的奥秘,于是他决定对至多只包含某些质因数的数进行
2017-07-17 09:06:02 510
原创 gdfzoj #727 文本编辑(线段树)
source:7.12模拟赛,原题链接 题目大意: 对于Insert和Delete的操作,显然直接加减即可。对于To的操作,我们容易发现,最优的策略总是光标先往上(下)走,再往左(右)走。考虑到“如果要将其向下(上)移动,而下(上)一行的字符不足a个,那么光标就会落在下(上)一行的最后一个字符后面。”我们只需要维护一个区间最小值即可。这里采用的是单点修改求区间最值的线段树。
2017-07-13 09:04:35 572
原创 Atcoder #2362 Splatter Painting(dfs+优化)
原题链接(vjudge上的) 这道题的大意是:对于一个无向图,有n个节点和m条边,每个操作将与节点v的距离小于等于d的节点涂为颜色c。n,m,p<=105n,m,p<=10^5,d<=10d<=10。 给出输入输出样例: 要解决这道题:我们只需要注意两个点: 1.离线处理操作,将操作倒序进行处理,这样就可以避免一个点被重复染色 2.基于第1点,在dfs时记录
2017-07-10 10:52:36 466
原创 gdfzoj #560 Maple吃饺子
这就是一道水题,不过不容易看出来。。。 原题链接:http://www.gdfzoj.com/oj/contest/128/problems/3 标签:水题 Problem Description Maple非常喜欢吃南亭的黑龙江饺子店的饺子,人均二十块左右就可以吃得超饱。 黑龙江饺子里面一共有n种饺子,现在Maple需要在里面选几种来吃,因为Maple想吃尽量多不同的饺子,所以每种饺子M
2017-05-16 21:46:39 755
原创 gdfzoj #549 Homework of Politics(SG函数+快速幂)
原题链接:http://www.gdfzoj.com/oj/contest/125/problems/3 标签:SG函数
2017-05-03 23:05:39 532
原创 gdfzoj #547 diaosi(dp)
由于五一去旅游了(呵呵),所以这道题的博客现在才打出来…… 原题链接:http://www.gdfzoj.com/oj/contest/125/problems/1 标签:dp Problem 547: diaosi Time Limit: 1000 ms Memory Limit: 262144 KBProblem Description 节目《非诚勿扰》上有n个男屌丝按初始顺序
2017-05-02 19:22:40 430
原创 codeforces #343d water tree(dfs+线段树)
原题链接:http://codeforces.com/contest/343/problem/D 标签:线段树,dfs 大致题意:(搬运自dm的ppt) 这道题的解法如果没看过题解,是比较难想到的。这道题的解法就是读入完所有的树边后,用dfs搜一遍,得到每个节点的的儿子所在的区间,用in和out来表示。然后这道题就可以转化为线段树的问题。 那么如何实现三种操作呢?我们可以对于每个节点维护
2017-04-24 20:20:17 512
原创 gdfzoj #510 树上路径(点分治)
第一次打点分治,看了许多代码、用了很久才打出来。。。 标签:点分治 原题链接:http://www.gdfzoj.com/oj/contest/115/problems/4 (其实你没帐号也进不去) (文字复制不了,只有图片了)题意♂如下 由于数据范围比较大,所以考虑用点分治。点分治的总体过程就是先求出一个重心(就是去掉重心后,剩下的最大的子树最小)。然后分成子树继续进行上述过程,
2017-04-19 13:49:01 754
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人