模版
文章平均质量分 52
UMR小豪
这个作者很懒,什么都没留下…
展开
-
URAL 1123 Square Root(计算二次剩余)
The number x is called a square root of a modulo n (root( a, n)) if x* x = a (modn). Write the program to find the square root of number a by given modulo n.InputOne number K in the first原创 2017-08-05 18:07:29 · 373 阅读 · 0 评论 -
数论总结
数论总结欧拉定理aφ(n)≡1(modn)" role="presentation" style="position: relative;">aφ(n)≡1(modn)aφ(n)≡1(modn)a^{\varphi(n)}\equiv 1\pmod nφ(n)" role="presentation" style="position: r原创 2017-08-18 22:00:10 · 368 阅读 · 0 评论 -
图论总结
图论总结二分图最大匹配km最大权最小权最大流最小费用最大流强联通分量割点点双联通割边边双联通最大团带权并查集图论总结二分图最大匹配int match[MAXN];bool vis[MAXN];bool dfs(int u){ for(int v = 1; v <= b; ++v) { if(!vis[v]&&原创 2017-08-19 09:32:21 · 331 阅读 · 0 评论 -
HDU 4992 Primitive Roots(求出n的所有原根)
题意:求出n的所有原根,不存在原根输出-1。原根的定义题目已经给出,对于n的原根x,则满足x的y次幂模n等于1的最小y是n的欧拉函数值phi(n),也就是小于等于n且与n互质的个数。来自维基百科:一个是如果gcd(g, m)=1,且g^d=1(mod m),则d为phi(m)的一个因子。换句话说如果g是m的原根,那么对于phi(m)的所有因子d(不包含phi(m)本身),g^d转载 2017-08-06 00:33:58 · 421 阅读 · 0 评论 -
poj2417 Discrete Logging (计算离散对数)
Given a prime P, 2 31, an integer B, 2 BL == N (mod P)InputRead several lines of input, each containing P,B,N separated by a space.OutputFor each line print the logarithm on a sepa原创 2017-08-05 18:22:48 · 375 阅读 · 0 评论 -
Miller_Rabin 算法进行素数测试 pollard_rho 算法进行质因数分解 poj1811Prim Test
需要的板子://****************************************************************// Miller_Rabin 算法进行素数测试//速度快,而且可以判断 <2^63的数//****************************************************************const int S转载 2017-08-04 22:19:44 · 310 阅读 · 0 评论 -
数论总结
数论总结欧拉定理求欧拉函数素数筛Miller_Rabin 算法进行素数测试 pollard_rho 算法进行质因数分解求1n的素数的个数1e11计算二次剩余计算离散对数原根组合数学第一类斯特林数第二类斯特林数Lucas定理数论总结欧拉定理aφ(n)≡1(modn)a^{\varphi(n)}\equiv 1\pmod nφ(n)\varphi(n) 为欧拉函数使用条件为g原创 2017-08-19 09:37:22 · 203 阅读 · 0 评论 -
组合数取模
组合数取模在ACM竞赛中是一个很重要的问题,很多选手因为数据太大而束手无策,今天就来详细讲解它。 组合数取模就是求的值,当然根据,和的取值范围不同,采取的方法也不一样。 接下来,我们来学习一些常见的取值情况 (1)和 这个问题比较简单,组合数的计算可以靠杨辉三角,那么由于和的范围小,直接两层循环即可。 (2)转载 2017-05-08 10:41:20 · 363 阅读 · 0 评论 -
SPFA的两种优化SLF和LLL
SPFA有两种优化SPFA算法有两个优化策略SLF和LLL——SLF:Small Label First 策略,设要加入的节点是j,队首元素为i,若dist(j)x则将i插入到队尾,查找下一元素,直到找到某一i使得dist(i)<=x,则将i出队进行松弛操作。 SLF 可使速度提高 15 ~ 20%;SLF + LLL 可提高约 50%。就拿hdu4725为例:不优化肯定会超时的。原创 2017-08-02 14:59:43 · 539 阅读 · 0 评论 -
bzoj 2049: [Sdoi2008]Cave 洞穴勘测
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=2049他们都说是LCT的板子题,然而并不会LCT。这里纯粹是来练时间分治的。主要是学习了一下时间分治加可撤销的并查集。然后加深了对深搜递归的应用的理解。回溯撤销。我们把操作全部记录下来,把每条边的存活区间记录下来。对于一个时间点的查询,我们把当前存活的边连接起来看一下原创 2017-07-06 13:44:40 · 415 阅读 · 0 评论 -
poj2492 A Bug's Life
A Bug's LifeTime Limit: 10000MS Memory Limit: 65536KTotal Submissions: 35520 Accepted: 11650DescriptionBackground Professor Hopper is researching the sexual b原创 2017-02-08 17:02:32 · 237 阅读 · 0 评论 -
一维与二维树状数组
树状数组总结:假设c[]为树状数组,a[]为原数组,则两者之间存在这么一个关系,c[i]代表的意义是从a[i]开始往前2^k个元素的和(k为i化成二进制后尾部包含的0的个数),举例来说就是:(括号后面的数字代表几进制)c[1] = a[1]( (1)10 -> (1)2 -> k=0 )c[2] = a[1] + a[2]( (2)10 -> (10)2 -> k=1 )c[3]转载 2017-04-06 21:20:42 · 262 阅读 · 0 评论 -
最大团
#include<cstdio>#include<cstring>#define N 1010bool flag[N], a[N][N];int ans, cnt[N], group[N], n, vis[N];// 最大团: V中取K个顶点,两点间相互连接// 最大独立集: V中取K个顶点,两点间不连接 // 最大团数量 = 补图中最大独立集数bool dfs( int u, int转载 2017-08-11 21:53:06 · 1433 阅读 · 0 评论 -
出错总结欢迎提供建议
本文章记录编写题目代码时容易犯错的地方,提交代码之前,请务必一一检查确保正确。 手动扩栈:#pragma comment(linker, “/STACK:204800000,204800000”)用c++提交 1.最大流注意点的范围,不一定是n,边的数量,尤其重要,要开双倍。同样的数组范围确保没有开小!!!!。 2.数组初始化问题,确保多组数据时,该初始话的都初始化了。 3.该用long原创 2017-08-12 22:08:24 · 244 阅读 · 0 评论