- 博客(43)
- 收藏
- 关注
转载 无向图hash
一个效果还行的 无向图hash判同构的方法求出每个点向其它点的最短路,然后排序,然后按字符串拼接起来,再按每个点的字符串 排序后的rank 作为每一个点的初始hash值然后每一轮,把每个点的相邻点的上一轮hash值取出来排序,再字符串拼接+排序,得到这一轮的hash值。做至hash值不再变化为止转载于:https://www.cnblogs.com/cyz666/p/91...
2018-06-11 16:02:00 196
转载 字符串相关
补一些字符串姿势。一: 最小表示法 { 初始时,让i=0,j=1,k=0,其中i,j,k表示的是以i开头和以j开头的字符串的前k个字符相同 分为三种情况 1.如果str[i+k]==str[j+k] k++。 2.如果str[i+k] > str[j+k] i = i + k + 1,即最小表示不可能以str[i->i+k]开头。 3.如果s...
2018-03-13 21:25:00 135
转载 Tutte矩阵求一般图最大匹配
【集训队2017论文集】一张无向图的Tutte矩阵为其中xi,j为一个random的值。Tutte矩阵的秩(一定为偶数)/2 就是这张图的最大匹配。原理大概就是: 一个图有完美匹配,则det(A) <>0。 上面这个求det的式子中,每个偶环覆盖方案 都对应非零值,每个奇环覆盖方案 代进去都为0。转载于:https://...
2018-01-18 16:54:00 706
转载 FFT的常数优化
卡得一手好常数。。学习了。。(似乎只对FFT有效)JZOJ 4349 1 #include <bits/stdc++.h> 2 #define LL long long 3 #define DB long double 4 using namespace std; 5 const int mo=100003; 6 const DB...
2018-01-07 11:58:00 337
转载 洲阁筛
洲阁筛真是个不错的暴力啊。。简单的写了个求1~n质数个数-O2 N=1e11要2.5s 1 #pragma GCC optimize(2) 2 #include <bits/stdc++.h> 3 using namespace std; 4 #define LL long long 5 int L0[1000005],L1[100000...
2017-12-30 12:10:00 151
转载 半平面交
存板子。常数比较糟糕的一个板子 ,不过比较好敲 1 #include <bits/stdc++.h> 2 using namespace std; 3 #define DB double 4 const int maxn=100005; 5 const DB pi=acos(-1); 6 const DB eps=1e-6;...
2017-12-19 10:06:00 75
转载 非旋treap套线段树
BZOJ3065。去年用pascal 块链过了。。今年来试了试非旋treap大法 注定被块链完爆代码留这。第一份 :辣鸡的 垃圾回收做法 跑得极慢 1 #include <bits/stdc++.h> 2 #define M 70000 3 using namespace std; 4 struct W{int l,r,...
2017-12-14 16:17:00 118
转载 点分治 [IOI2011]Race
BZOJ2599.放板子。利用agc009-D 代码简洁了很多 1 #include <bits/stdc++.h> 2 #define N 200005 3 using namespace std; 4 int n,m,K,F[N][30],H[N],x,y,z,h[N],f[1000005],T,O,e[N],ans,d[N],g[N],t;...
2017-11-20 13:42:00 97
转载 treap
【平衡树要是手生了就糟了、】Codefoces round 172 div1 E虽然那题是可以n^2的,但是,主要是来敲treap的所以。。 1 #include <bits/stdc++.h> 2 #define DB double 3 using namespace std; 4 const DB eps=0.00000001;...
2017-11-17 19:42:00 72
转载 KD树
BZOJ4066板子: 1 #include <bits/stdc++.h> 2 #define LL long long 3 using namespace std; 4 int n,op,x,y,z,M,a1,a2,b1,b2; LL ans; 5 int read(){ 6 int x=0,f=1;char ch...
2017-11-14 16:16:00 274
转载 非旋treap (BZOJ1895)
记个板子,还是挺好用的。 1 #include <bits/stdc++.h> 2 using namespace std; 3 char op[10]; int rt,n,m,l,r,x,A,B,C,t; 4 struct O{ 5 int l,r,x,m,o,s,v; 6 }a[300005]; 7 void up...
2017-11-06 10:09:00 91
转载 高明的最长公共子序列
国家集训队论文。?https://wenku.baidu.com/view/ed99e4f77c1cfad6195fa776.htmlXJOI题 重复串。 虽然不满的1000^3复杂度能水过,但还是学了一下。。以后压位别压太死了(用unsigned压32位这种),可能会引出很多麻烦,比如自然溢出之类的。。放代码。 1 #include <bits/std...
2017-09-19 17:25:00 112
转载 plan~
樱花庄、亚人、虫师、穿越时空的少女、CL、夏日大作战、寒蝉、声之形、ABZU、火影、青春之旅(真)、来自风平浪静的明天、Re:CREATORS、玻璃之花与崩坏的世界、神不在的星期天、龙之谷:破晓奇兵、精灵王座、紫罗兰永恒花园、月色真美、Just Because!、overlord、go sick、钢之炼金术师、邻座的怪同学、会长是女仆大人、黑之契约者、至高指令、犬夜叉、空之轨迹ova、...
2017-08-07 13:11:00 170
转载 最大团(随机化)
原理以(wo)后(bu)再(zhi)补(dao)。。。。具体就是 random_shuffle 个几千几万次。 每次,O(n)贪心加, 若能加,则加进来,不然不加。。实测 BZOJ4080 用dfs加剪枝 会T,【ah。不过这题标算是暴枚两个点之后求二分图最大独立集 并不能针对一般的最大团问题。。所以这里不管它了】那么既然 100个点随机算法可以过, 而dfs那种做法不...
2017-07-24 15:48:00 289
转载 高次剩余
有关x^a = b (%p) p为质数 的问题首先求解可以 用 原根+BSGS 转换 成 g^(x'a) = g ^ b' ,即 x' * a = b' (% p-1 )然后可以判无解 或 判多解 (多解是循环的, 解的个数是 gcd(p-1,a), 每(p-1)/gcd(p-1,a) 一个解)【二次剩余】a2=b(%p)(a2)(p-1)/2=...
2017-07-18 10:19:00 365
转载 类欧几里得算法
若无特殊说明,接下来的所有除法都是整除别忽视一个细节:(a/c) * (b/c) 不一定等于 (a*b)/(c^2) 随便举个例子, a=11,b=17,c=3 [(a/c)*(a/c)也一样]类欧几里得算法及其推导转载自不来也不去的一只失忆蝴蝶。%%%证明见原主的博客。。rand了几组, 每组1000个 230级别的数 a,b,c 跑了...
2017-06-27 07:57:00 83
转载 Matrix Tree
(更为基本的知识本篇不作讲解)Kirchhoff矩阵:定义为度数矩阵减去邻接矩阵。MatrixTree定理为:G的所有不同的生成树的个数等于C中任何一个n−1阶主子式。我们把这个主子式对应的矩阵记为Cr,表示从C中删去了第r行和第r列后得到的矩阵。性质1:对于任何一个图G,它的Kirchhoff矩阵C的行列式总是0。这是因为C每行每列所有元素的和均为0。性质...
2017-06-25 21:38:00 124
转载 线性代数笔记
要活用 向量x矩阵是n^2的 好性质来优化 n^3的矩阵乘法下面是原文,上面是会不断更新的小知识。。==========分==割==线=============使用符号约定:符号A∈ Rm×n表示一个m行n列的矩阵,并且矩阵A中的所有元素都是实数。符号x ∈ Rn表示一个含有n个元素的向量。通常,我们把n维向量看成是一个n行1列矩阵,即列向量。如果我...
2017-06-20 20:53:00 449
转载 厉害的工具
给大家分享一些极好的网站:笛卡尔坐标系:https://www.desmos.com/更新:比楼上更全的绘图网站:https://www.geogebra.org/数列的性质:http://oeis.org/一个数的各种性质:http://zh.numberempire.com/建图、树专用:https://csacademy.com/app/graph_edito...
2017-06-18 17:59:00 83
转载 最浅谈的SG函数
【更新】Nim游戏的经验:每次最多取m个——%(m+1)阶梯nim——奇数位无视,看偶数位互相独立,成一堆一堆的石子。。。。既然被征召去汇总算法。。那么挑个简单点的SG函数好了。。介绍:{ SG函数是解Nim游戏的一个很好的。。。'思路'么? Nim游戏是博弈论的一个经典模型,指两个人轮流操作,且双方的操作条件一样(...
2017-06-15 21:40:00 168
转载 数学搬运工
(如果看不到图片,可以右键图 在新标签中打开,再在新打开的标签中右键图 在新标签中打开,然后回来不停刷新博文页面)导数的运算y=f(x)的反函数是x=g(y), 则有y'=1/x'.若h(x)=f(g(x)), 则h‘(x)=f’(g(x))g’(x).(C为常数)...
2017-06-04 15:40:00 239
转载 BZOJ3625
此处不作题解。。只有细节记住两个多项式相乘的时候必须在高位留出空,也就是代码里的memset(b+n,0,n<<2);然后 在%x^n的操作结束后一定要把>=n的部分清零,保持答案在%x^n意义下。(当然,如果能记得,之后用的时候再清零也行)还有就是从本题学到两个卡常技巧:一、 1 ① Time:24732ms 2 void ntt...
2017-05-29 18:24:00 55
转载 bzoj 3027: [Ceoi2004]Sweet
一道题含了好多知识点。。首先母函数不多说看式子。π(1+x+x^1+x^2+...+x^mi)=π{[1-x^(mi+1)]/[1-x]}=(1-x)^(-n) * π(1-x^(mi+1))=(1+x+x^2+...+x^inf..)^n *π(1-x^(mi+1));然后答案是f(b)-f(a-1) ,f(m) 表示0到m的系数和那么后面的π(1-x^(mi+1...
2017-05-26 08:10:00 96
转载 Burnside&Polya
以前只是直接用了这两个式子。。今天才仔细看了证明。。【网上的真是难懂啊我看的几个博客地址(各有优缺): 其实如果能懂的话 只看博客B就可以了首先是一些置换群方面的定义和性质 博客A:http://blog.csdn.net/xym_CSDN/article/details/53456447然后是burnside的证明 博客B:http...
2017-05-25 14:41:00 49
转载 BZOJ4814,几何
对每个关键点i,将每个三角形缩成一个线段(因为三角形不相交),然后把线段两端点 和其他关键点一起 以i为中心点 极角排序。扫一圈。扫到一个关键点j时, 判断当前最靠近i的线段是否遮盖i到j的路径, 因为对同一个点i,线段之间的相对关系是不变的,所以可以用堆维护加线段删线段, 1 #include <bits/stdc++.h> 2 #define LL ...
2017-05-05 10:24:00 160
转载 BZOJ 4815 数论
今年的重庆省选?具体就是,对于每次修改,A[p,q]这个位置, 设d=gcd(p,q) ,则 gcd为d的每一个格子都会被修改,且他们之间有个不变的联系A[p,q]/p/q==A[k,t]/k/t 所以只要记录对于gcd为d的所有格子,只要保存A[d][d]的值就可以了。那么求前k行k列的值ans,则所有gcd(p,q)==d的A[p,q]对答案的贡献就是 {...
2017-05-03 21:12:00 113
转载 堆
省选前。发现某题czt的代码又一次奇短无比。。然后我就学了一个新的stl库。【根本原因是 我正处于并将长期处于C++萌新状态。。来熟练打一句话证明: for i:=1 to n do if i mod 2=1 then blabla....;priority_queue <int> s[10000]; //首先 它的真名叫优先队列,俗称堆 1 #...
2017-04-24 18:25:00 70
转载 Tarjan
明明用了那么久了、然而突然才发现tarjan真是个好东西。。回顾了一下 存在博客里以后用吧。。首先tarjan 主要是三个用途: 【有向图 强连通分量】 一个强连通分量G中的点可以互相到达,而一个G中的点可以到达的G外的点不能到达G中任意一个点。 {dfn[x]==low[x]} 1 void tarjan(int x){ 2 ...
2017-04-19 19:27:00 83
转载 数论
【逆元】: 若 a*b=1(%p) 则a是b在%p意义下的逆元。 则在%p意义下 一个数 除以a就等价于乘b 两种求逆元方法:1、若p为质数时,则有性质则a^(p-1)=1(%p) 。 即a*a^(p-2)=1(%p)。 所以a的逆元就是a^(p-2) 2、exgcd(a,b,x,y) 可求 ax+by=c=gcd(a,b) 若a,b互质 则可求...
2017-04-12 11:57:00 120
转载 【Bitset】 BZOJ4810
难得学习一下C++的库。。【至今连map,vector都没用过的我。。首先#include<bitset>或<bits/stdc++.h>定义函数: { bitset <15> b; 15是bitset长度 之后我就写成n了,b是变量名 或: string s='01001'; bitset <n> ...
2017-04-05 15:09:00 78
转载 BZOJ2874 训练士兵 主席树
【啊 首先 这是道权限题,然后本人显然是没有权限的 23咳3】最近数据结构做的越来越少。。然后 就跟上次一样 ,一做就是三四种不同写法。等价的题面:最近GY大神在sc2的天梯中被神族虐得很惨,表示很不爽。ryz决定帮助GY大神练习散枪兵技术。GY生产了n*m个枪兵,并站成了一个大小为n*m的方阵。ryz生产了t个电兵(高阶圣堂武士),每个电兵能对一个矩形区域造成一...
2017-03-30 11:16:00 186
转载 单纯形 BZOJ3112: [Zjoi2013]防守战线
题面自己上网查。学了一下单纯形。当然 证明什么的 显然是没去学。不然估计就要残废了上学期已经了解了 什么叫标准型。 听起来高大上 其实没什么就是加入好多松弛变量+各种*(-1),使得最后成为一般形式: 给定A[][],求满足A[i][j]*Xj<=A[i][0];(0<i<=n,0<j<=m) 使A[0][j]*Xj最大的X[];...
2017-03-28 18:16:00 101
转载 珠宝 jewelry 省选模拟
n种珠宝。每种各1个。有价格ci元,美度vi。 要求分别输出1元到m元 可买的最大优美度。整数 :0<n<=10000000, 0<ci<=300,0<=vi<=10^9, 0<m<=50000;之前 系统的看过有关背包的题目。。然而这个做法还没见过。首先复杂度是 300*m*log(m)+n对1~300的每个价格 x,...
2017-03-16 21:33:00 92
转载 FWT [BZOJ 4589:Hard Nim]
4589: Hard NimTime Limit:10 SecMemory Limit:128 MBSubmit:275Solved:152[Submit][Status][Discuss]DescriptionClaris和NanoApe在玩石子游戏,他们有n堆石子,规则如下:1. Claris和NanoApe两个人轮流拿石子,Cla...
2017-03-15 21:35:00 73
转载 后缀自动机SAM BZOJ 2806
终于遇到了一道后缀数组不能过 一定要学SAM的题。。。(看了半个下午+半个上午)现在总结一下(是给我自己总结。。所以只总结了我觉得重要的 。。看不太懂的话可以To http://blog.csdn.net/clover_hxy/article/details/53758535 图文并茂或者 去看更长更详细的陈立杰PPT http://wenku.baidu.co...
2017-03-09 18:58:00 66
转载 就是要第一个出场的albus 【BZOJ】 线性基
就是我代码里读入之后的那一部分。1.(一下a[]为原数组 a'[]为线性基)线性基 中的a'[i]其实 是 原来的a[]中的某个子集(2^n个子集中的某个) 异或出来的 可能会有其他的子集与它异或和相同,a'[i]代表了 这个集合。线性基的大小是log的,因为 a[]中异或和等于a'[i]的集合可能有好多 而线性基则 通过异或消掉了这些 重复的。2.假设...
2017-03-07 19:46:00 73
转载 转C++的一点点
为什么突然放些这么水的东西?我还是个C++小萌新,XD【一 litTLE经验值】 1. 注意 C++里 自带pow(x,y) 使用是没问题,尤其是pow(x,0.333333)这种时候很有用。但是 自己定义的快速幂 模意义下的就要注意传参了(要么传参是全部转成我定义的,要么就把pow改成po。。。防止重名) 2. c++的 /既有整除也有小数除。 记得用上(double) ...
2017-03-07 09:43:00 91
转载 BZOJ4561: [JLoi2016]圆的异或并 计算几何+treap
因为本题保证两圆之间只有相包含或相离(不用担心两圆重合 因为我没有RE) 所以每个圆之间的相对位置是确定的 也就是可以按极角排序的, 所以可以按横坐标排序后 扫描同时用treap维护加圆删圆(即遇到圆的左边界加圆 遇到又边界删圆 treap中的节点是某个圆的上半部分 或某个圆的下半部分)具体见其他人的博客 我只想说 我颓废两天、要来的数据全A交上去还是RE 的原因是 ...
2017-02-27 15:55:00 111
转载 后缀数组 hash求LCP BZOJ 4310: 跳蚤
后缀数组的题博客里没放进去过。。所以挖了一题写写 充实下博客 顺便留作板子。。一个字符串S中 内容不同的子串 有 sigma{n-sa[i]+1-h[i]} (噢 这里的h[]就是大家熟知的height[])所以l=1,r=上述sigma 二分 答案是字典序第几大的子串。然后 求S中第k大的子串W : 因为h[i]是与i-1有关的 所以要从n downto 1,k-=n-...
2017-02-22 21:34:00 114
转载 prufer BZOJ1211: [HNOI2004]树的计数
以前做过几题。。好久过去全忘了。看来是要记一下。。。【prufer】n个点的无根树(点都是标号的,distinct)对应一个 长度n-2的数列所以 n个点的无根树有n^(n-2)种树 转 prufer数列: 每次删除编号最小的叶子节点,将与其相连的那个点 加入 prufer数列 直到树中只剩两个点,就结束prufer数列 转 树: 首先是有个1到n的集合G,...
2017-02-20 15:13:00 114
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人