总结
兜率工
XJTU 硕士研究生在读
展开
-
2019牛客暑期多校训练营(第三场)
目录B 、Crazy Binary String (思维)D 、Big Integer( 数论 )F 、Planting Trees(思维+单调队列)H、 Magic Line (计算几何)J、 LRU management(模拟)B 、Crazy Binary String (思维)题意:计算最长的01子串和子序列,其中01数量相同。分析:...原创 2019-08-11 17:17:57 · 407 阅读 · 0 评论 -
2019牛客暑期多校训练营(第二场)
目录A 、Eddy Walker(打表找规律+数学)D 、Kth Minimum Clique(第k小团)E 、MAZE(DP+线段树+矩阵)F、 Partition problem(爆搜)H 、Second Large Rectangle(单调栈 || DP)J 、Subarray(前缀和预处理+优化)A 、Eddy Walker题意:有n个点的环...原创 2019-08-06 11:40:09 · 360 阅读 · 0 评论 -
2019牛客暑期多校训练营(第一场)
目录A、Equivalent Prefixes 二分+笛卡尔树B、 Integration 数学+找规律C 、Euclidean Distance 贪心E 、ABBA DPF 、Random Point in Triangle 数学H 、XOR 线性基I 、Points Division 线段树+DPJ 、Fraction Comparis...原创 2019-07-23 22:04:23 · 355 阅读 · 0 评论 -
2019 Multi-University Training Contest 2
2019 Multi-University Training Contest 2目录HDU 6600、Just Skip The ProblemHDU 6601、Keen On Everything But Triangle (划分树)HDU - 6602、Longest Subarray (线段树)HDU 6600、Just Skip The Problem根...原创 2019-08-22 00:12:28 · 2316 阅读 · 0 评论 -
2019南昌邀请赛网络赛
A. PERFECT NUMBER PROBLEM这题没什么要说的。#include<bits/stdc++.h>using namespace std;int main(){ cout<<6<<endl; cout<<28<<endl; cout<<496<<endl...原创 2019-04-21 13:28:14 · 654 阅读 · 0 评论 -
快速傅里叶变换(FFT)(笔记)
今天看了一下午FFT,总算看懂了。怕以后忘记,留个图片。首先以下图片来自https://www.cnblogs.com/zwfymqz/p/8244902.html?mType=Grouphttps://www.cnblogs.com/wangyh1008/p/9325715.htmlhttp://www.cnblogs.com/rvalue/p/7351400.html谢谢以...原创 2018-12-24 22:27:38 · 405 阅读 · 0 评论 -
第一次总结
2018.10.28自从开始ACM之后还没有认认真真的写过一次总结。趁现在在火车上写一下总结吧。----------------------------------------------------------------------------------------------------------------------------------------------------...原创 2018-10-29 00:20:33 · 251 阅读 · 3 评论 -
2019 Multi-University Training Contest 3
目录6608、 Fansblog (米勒罗宾+威尔逊)6609 、Find the answer (划分树计算区间前K大的和)6608、 Fansblog (米勒罗宾+威尔逊)题意:给你一个内的质数p,求小于 p 的最大质数的阶乘取模p分析:对于大素数,可以用米勒罗宾进行素数测试对于阶乘,由威尔逊定理可得:对于任意的正质数K,有:()%所以易得:...原创 2019-09-02 16:30:18 · 207 阅读 · 0 评论 -
2019 Multi-University Training Contest 1
2019 Multi-University Training Contest 1目录(当前AC>500的题目,以后慢慢更新)HDU - 6578Blank (DP+滚动数组)HDU - 6579Operation (线性基+前缀预处理)HDU 6581Vacation (模拟+二分)HDU 6582 Path (最短路+最小割)HDU - ...原创 2019-08-08 20:37:22 · 306 阅读 · 0 评论 -
2019 Multi-University Training Contest 4
目录6614 、AND Minimum Spanning Tree 思维6620、 Just an Old Puzzle 逆序对6614 、AND Minimum Spanning Tree 思维题意:给出一个完全图,权值是两个点的and值,计算最小生成树,并输出与每个节点相连的节点(字典序最小)分析:可以很明显的知道偶数点与1and值永远是0,而对于奇数点,要使...原创 2019-09-02 16:31:26 · 287 阅读 · 0 评论 -
2019牛客暑期多校训练营(第六场)
目录A 、Garbage Classification 水题B 、Shorten IPv6 Address (模拟)D 、Move (表面二分实则暴力)E、 Androgynos (图的同构)G、 Is Today Friday? (暴力模拟+蔡勒公式)H 、Train Driver (BFS+优化+思维)J 、Upgrading Technolog...原创 2019-08-24 20:02:12 · 340 阅读 · 0 评论 -
2019牛客暑期多校训练营(第十场)
目录B 、Coffee Chicken (递归)D 、Han Xin and His Troops (扩展CRT)E 、Hilbert Sort (分形图递归)F、 Popping Balloons (思维)H、Stammering Chemists (水题)B 、Coffee Chicken (递归)题意:给出两个字符串,按照斐波那契数列进行操作,然后...原创 2019-09-02 16:21:52 · 404 阅读 · 0 评论 -
2019牛客暑期多校训练营(第九场)
目录A 、The power of Fibonacci (循环节+中国剩余定理)B 、Quadratic equation (二次剩余)D 、Knapsack Cryptosystem (折半搜索)E 、All men are brothers (并查集)A 、The power of Fibonacci (循环节+中国剩余定理)题意:对斐波那契数列计算 ...原创 2019-09-02 09:51:49 · 309 阅读 · 0 评论 -
2019牛客暑期多校训练营(第五场)
目录A 、digits 2 (简单构造)B generator 1 (十进制快速幂)C、 generator 2 (BSGS)E、 independent set 1 (状压DP)F、 maximum clique 1(最大团)G 、subsequence 1 (DP+组合计数)H 、subsequence 2 (拓扑排序)I 、three po...原创 2019-08-17 17:06:24 · 421 阅读 · 0 评论 -
2019牛客暑期多校训练营(第八场)
目录A 、All-one Matrices (单调栈)B 、Beauty Values (计算贡献)C 、CDMA (递归)D、 Distance(三维树状数组)E 、Explorer (线段树+并查集按秩合并)G、Gemstones (模拟)J 、Just Jump (DP+组合计数)A 、All-one Matrices (单调栈)题意:...原创 2019-08-29 19:28:28 · 970 阅读 · 0 评论 -
2019 Multi-University Training Contest 6
2019 Multi-University Training Contest 6目录HDU - 6638Snowy Smile (线段树+离散化,最大矩阵和)HDU - 6641TDL (异或性质)HDU - 6645Stay Real (优先队列)HDU - 6638Snowy Smile (线段树+离散化,最大矩阵和)题意:给出n(n&...原创 2019-08-22 00:13:16 · 266 阅读 · 0 评论 -
2019牛客暑期多校训练营(第七场)
目录A 、String (暴力)B 、Irreducible Polynomial(多项式分解)C、 Governing sand (贪心)D、 Number (简单构造)E 、Find the median (权值线段树+离散化)J 、A+B problem (水题)A 、String (暴力)题意:给出一个字符串,将它划分成几个子串,且满足...原创 2019-08-27 11:16:55 · 284 阅读 · 0 评论 -
2019牛客暑期多校训练营(第四场)
目录A 、meeting (树的直径)C 、sequence (单调栈+线段树)D 、triples I (构造)J、 free (分层图)K 、number (DP 前缀和)A 、meeting (树的直径)题意:给出一个树,然后k个人分别在k个节点处,他们要聚会吃饭(一起走到一个点上),走每条边花费的时间是1,计算相遇在每个点的最小时...原创 2019-08-13 20:22:29 · 451 阅读 · 0 评论 -
2017ACM/ICPC广西邀请赛
D - Covering 可以有两种方法来实现。 第一种方法: 通过前后缀和来计算,因为是从中任意删除一个,如果直接进行模拟的话,太浪费时间,而采用前后缀和的方法既简便又又节省时间。 第二种方法: 通过模拟位运算的特点; 因为与运算只要有一个为0则全部为0,或运算只要有一个是1就全部为1, 异或运算,现将全部的数字进行异或运算,然后再拿要删除的那个元素跟最后结果进行异或就能得到答案。...原创 2018-07-14 20:23:06 · 403 阅读 · 0 评论 -
string 的一些字符串操作函数
1.find查找函数 函数原型:size_t find ( const string&amp;amp;amp;amp;amp;amp;amp; str, size_t pos = 0 ) const; size_t find ( const char* s, size_t pos, size_t n ) const; size_t find ( const char* s, size_t pos = 0 ) const; size_...原创 2018-05-08 15:46:28 · 5915 阅读 · 2 评论 -
快速计算n!阶乘中素因子的个数
我们来一个样例说明一下:1 2 3 4 5 6 7 8 我们求得在8!中2的个数 1 1 1 1 首先我们先计算出2的倍数的个数:8/2=4 1 1 其次我们计算出4的倍数的个数: 8/4=2(上面一个式子求出了第一层,现在求第二层) ...原创 2018-06-05 20:21:27 · 2901 阅读 · 0 评论 -
费马小定理在ACM中的应用
费马小定理 假如p是素数,且(a,p)=1(a,p)=1(a,p)=1,那么a^(p-1)≡1(mod p)① 判断素数,对于大素数的判定,Miller-Rabin 素数判定 ②求解逆元 ,设a模p的逆元为x,则a*x≡1(mod p) ,(a,p)=1;由费马小定理可以知道x=a^(p-2) ③对于计算ab(modp)ab(modp)a^b(mod p) 可简化 &nb...原创 2018-06-06 15:58:32 · 1946 阅读 · 1 评论 -
积性函数的基本理论
积性函数:对于任意互质的整数a和b有性质f(ab)=f(a)f(b)的数论函数。 完全积性函数:对于任意整数a和b有性质f(ab)=f(a)f(b)的数论函数。 常用积性函数举例φ(n) -欧拉函数 μ(n) -莫比乌斯函数,关于非平方数的质因子数目 gcd(n,k) -最大公因子,当k固定的情况 d(n) -n的正因子数目 σ(n) -n的所有正因子之...原创 2018-06-06 16:20:09 · 2557 阅读 · 0 评论 -
卢卡斯定理(十分钟带你看懂)
在开始之前我们先介绍3个定理:1.乘法逆元如果ax≡1 (mod p),且gcd(a,p)=1(a与p互质),则称a关于模p的乘法逆元为x。2.费马小定理: 3.扩展欧几里得已知整数a、b,扩展欧几里得算法可以在求得a、b的最大公约数的同时,能找到整数x、y(其中一个很可能是负数),使它们满足贝祖等式ax + by = gcd(a, b)。好了,在明白上面的定理后我们开始...原创 2018-05-28 22:26:33 · 32880 阅读 · 17 评论 -
拓展卢卡斯定理
再看下面讲解之前,请大家熟悉一下乘法逆元,中国剩余定理,拓展gcd,费马小定理 关于拓展卢卡斯,也就是卢卡斯的升级版,卢卡斯限定只能取余一个素数,而拓展卢卡斯则没有限定 其求解方法如下: 若不是素数,将p分解质因数,将C(n,m)分别按照Lucas定理中的方法求对p的质因数的模,然后用中国剩余定理合并。比如计算C(10,3)%14。C(10,3)=120,14有两个质因数2和7,120...原创 2018-05-29 13:21:23 · 3657 阅读 · 2 评论 -
扩展KMP算法(详解+代码)
参考链接:扩展KMP#include&amp;amp;lt;cstdio&amp;amp;gt;#include&amp;amp;lt;cstring&amp;amp;gt;#include&amp;amp;lt;algorithm&amp;amp;gt;using namespace std;const int maxn=9999;int Next[maxn],extand[maxn];原创 2018-06-07 14:52:06 · 344 阅读 · 0 评论 -
莫比乌斯函数跟莫比乌斯反演的基本理论
摘自百度百科,其中的某些证明略原创 2018-06-07 15:35:53 · 224 阅读 · 0 评论 -
容斥定理以及其应用
下面仅仅是我在学习ACM中所遇到的应用场景,如果以后有遇到再另行补充 举个栗子: 以51nod 上的一道题说一下,题目意思是求解10以内不能被2 3 5 7整除的数的个数。 利用容斥定理,计算出能被2 3 5 7 整除的数的个数即: ans=n/2+n/3+n/5+n/7−n/6−n/10−n/14−n/15−n/21−n/35+n/30+n/42+n/70+n/105−...原创 2018-06-07 21:09:13 · 419 阅读 · 0 评论 -
求一个数的因子数以及因子和
int count(int n){ int s=1; for(int i=2;i*i&amp;amp;lt;=n;i++){ if(n%i==0){ int a=0; while(n%i==0){ n/=i; a++; } ...原创 2018-06-05 16:26:56 · 11666 阅读 · 1 评论 -
关于原根的一些基本理论
①一个数m如果有原根,则其原根个数为phi(phi(m))。特别地,对素数有phi(p)=p-1。 ②如果正整数(a,m) = 1和正整数 d 满足a^d≡1(mod m),则 d 整除 φ(m)。原创 2018-06-04 21:39:51 · 603 阅读 · 0 评论 -
关于欧拉函数的一些基本理论
欧拉函数的基本性质:① N是不为0的整数。φ(1)=1(唯一和1互质的数就是1本身)② 除了N=2,φ(N)都是偶数.③ 小于N且与N互质的所有数的和是φ(n)*n/2。④ 欧拉函数是积性函数——若m,n互质,φ(m*n)=φ(m)*φ(n)。⑤ 当N为奇数时,φ(2*N)=φ(N)⑥ 若N是质数p的k次幂,φ(N)=p^k-p^(k-1)=(p-1)p^(k-1),因为除...原创 2018-06-04 20:35:48 · 845 阅读 · 0 评论 -
通过遍历确定二叉树结构
中序遍历跟后序遍历求出前序遍历/*中序遍历跟后序遍历求出前序遍历*/#include&amp;lt;iostream&amp;gt;#include&amp;lt;cstdio&amp;gt;#include&amp;lt;cstring&amp;gt;using namespace std;char inord[30],suford[30];void fun(int lsuf,i原创 2018-05-15 17:20:43 · 553 阅读 · 0 评论 -
STL之heap用法
STL中并没有把heap作为一种容器组件,heap的实现亦需要更低一层的容器组件(诸如list,array,vector)作为其底层机制。Heap是一个类属算法,包含在algorithm头文件中。虽然STL中关于heap默认调整成的是大顶堆,但却可以让用户利用自定义的compare_fuction函数实现大顶堆或小顶堆。heap的低层机制vector本身就是一个类模板,heap基于vector便实...原创 2018-05-24 13:40:58 · 453 阅读 · 0 评论 -
STL之rope容器
专用于块状链表计算的rope容器 库中模板计算基本和string一样简单 string的基本用法 但内部是用平衡树实现,各种操作的复杂度都是O(log n),十分方便高效 需要增加的预处理指令: #include&lt;ext/rope&gt; using namespace __gnu_cxx; rope的库函数提供的基本操作:rope list;list.insert(...原创 2018-05-24 14:21:09 · 2243 阅读 · 0 评论 -
最长上升子序列(LIS)算法
开一个栈,每次取栈顶元素top和读到的元素temp做比较,如果temp &amp;amp;amp;amp;amp;gt; top 则将temp入栈;如果temp &amp;amp;amp;amp;amp;lt; top则二分查找栈中的比temp大的第1个数,并用temp替换它。 最长序列长度即为栈的大小top。这也是很好理解的,对于x和y,如果x &amp;amp;amp;amp;amp;lt; y且Stack[y] &amp;amp;am原创 2018-05-26 08:17:23 · 313 阅读 · 0 评论 -
平衡二叉树节点跟高度的关系
设f(n)为高度为n的平衡二叉树最少含有的节点数,则:f(1) = 1;f(2) = 2; f(3) = 4;f(4) = 7;……这些可以通过画图就能得到,但是当n很大时呢?其实有如下结论:f(n) = f(n-1) + f(n-2) +1,(n&gt;=3)。这个递推结论如何得到的呢?引导问题:求一棵二叉树的节点数目:假设一颗二叉树T,其左右子树分别为TL,TR。又假设T的节点数目...原创 2018-05-26 12:29:24 · 16675 阅读 · 2 评论 -
卡特兰数
卡特兰数: h(0)=1,h(1)=1,catalan数满足递归式:h(n)= h(0)*h(n-1) + h(1)*h(n-2) + + h(n-1)h(0) (其中n&gt;=2) 该递推关系的解为:h(n)=C(2n,n)/(n + 1) (n=1,2,3,) 递归式: h(n)=(h(n-1)*(4*n-2)/(n+1));前几项:1, 1, 2, 5, 14, ...原创 2018-05-26 19:59:49 · 167 阅读 · 0 评论 -
求解欧拉函数
*全文围绕以上两个公式展开*—————————————————————————————————————————//直接对n进行素因子分解#include &amp;amp;amp;lt;iostream&amp;amp;amp;gt;#include &amp;amp;amp;lt;stdio.h&amp;amp;amp;gt;#include &amp;amp;amp;lt;a原创 2018-05-27 21:00:52 · 518 阅读 · 0 评论 -
乘法逆元及其解法
乘法逆元 如果ax≡1 (mod p),且gcd(a,p)=1(a与p互质),则称a关于模p的乘法逆元为x。1.用扩展欧几里得求得逆元 我们都知道模就是余数,比如12%5=12-5*2=2,18%4=18-4*4=2。(/是程序运算中的除) 那么ax≡1 (mod p)即ax-yp=1.把y写成+的形式就是ax+py=1,为方便理解下面我们把p写成b就是ax+by=1。就表示...原创 2018-05-29 20:46:38 · 4973 阅读 · 0 评论 -
拓扑排序总结
删边法邻接表list存储边的信息,in数组为入度,读入边的信息后,将入度为0的点加入队列中,从队首开始,进行删边操作,每删除一个顶点,即链接的边的入度减一,如果入度变为0,将改点加入,直到结束为止。dfs计算 将顶点信息存入,完成后从第一个顶点开始进行dfs, for(int i=1;i&lt;=n;i++) if(!vis[i]) dfs(i);...原创 2018-06-11 21:20:34 · 211 阅读 · 0 评论