05 2016 档案

摘要:并查集的结构: 并查集用树型(非二叉树)结构实现,每个元素对应一个节点,每个组对应一棵树。 并查集是一种不相交集(Disjoint Sets)ADT,常常在使用中以森林来表示,用来管理元素的分组情况。,进行快速规整。可以以高效的进行: 1)Find,查询元素a和b是否属于同一个组 当且仅当... 阅读全文
posted @ 2016-05-29 08:25 闲鱼型选手 阅读(324) 评论(0) 推荐(0)
摘要:#include#include#define MAX 105struct edge{ int from,to; long long cost;}lm[MAX*MAX];int N,M,father[MAX],i;bool cmp(edge a,edge b){ return ... 阅读全文
posted @ 2016-05-29 07:57 闲鱼型选手 阅读(169) 评论(0) 推荐(0)
摘要:生成树(spanning tree):无向联通图的某个子图中,任意两个顶点互相都联通并且形成了一棵树,那么这棵树就叫做生成树。 最小生成树(MST,minimum spanning tree):如果为有权图的生成树,使得边权和最小的生成树就叫做最小生成树。 从生成树的定义中可以看出,为房... 阅读全文
posted @ 2016-05-28 16:36 闲鱼型选手 阅读(207) 评论(0) 推荐(0)
摘要:判断奇数 (x&1)==1 判断偶数 (x&1)==0 取右边第一个1所在位置 x&-x 异或:模2相加 去掉最后一位 | (101101->10110) | x >> 1 在最后加一个0 | (101101->1011010) | x 1011011) | x 101101) | x | ... 阅读全文
posted @ 2016-05-28 16:32 闲鱼型选手 阅读(185) 评论(0) 推荐(0)
摘要:在取模操作中,我们常把MOD设置为1000000007 模一个大数和模一个质数可以减少冲突 而1e9+7又有一个很好的特点,就是相加不会爆int,相乘不会爆long long 在设置无穷大值时中我们常常选择0x7fffffff作为INF值(32位int的最大值) 如果用这个值进行比较的话... 阅读全文
posted @ 2016-05-26 14:40 闲鱼型选手 阅读(584) 评论(0) 推荐(0)
摘要:题面: A. Nicholas and Permutation time limit per test 1 second memory limit per test 256 megabytes input standard input output standard ou... 阅读全文
posted @ 2016-05-26 13:20 闲鱼型选手 阅读(158) 评论(0) 推荐(0)
摘要:弱到只会写div2的A题... 题面: A. Infinite Sequence time limit per test 1 second memory limit per test 256 megabytes input standard input output ... 阅读全文
posted @ 2016-05-25 22:46 闲鱼型选手 阅读(150) 评论(0) 推荐(0)
摘要:1.Robberies 连接 :http://acm.hdu.edu.cn/showproblem.php?pid=2955 背包;第一次做的时候把概率当做背包(放大100000倍化为整数):在此范围内最多能抢多少钱 最脑残的是把总的概率以为是抢N家银行的概率之和… 把状态转移... 阅读全文
posted @ 2016-05-25 16:55 闲鱼型选手 阅读(243) 评论(0) 推荐(0)
摘要:如何判断一个素是素数 效率很高的筛法 打个表 (素数的倍数一定是合数) 就可以解决问题。 筛选法的效率很高,但是遇到大素数就无能为力了。 米勒罗宾素性测试是一个相当著名的判断是否是素数的算法 核心为费马小定理: 假如a是整数,p是质数,且a,p互质(即两者只有一个公约数1),那么a的(p-1)次... 阅读全文
posted @ 2016-05-24 09:22 闲鱼型选手 阅读(5583) 评论(0) 推荐(0)
摘要: HDU2604: 本鶸第二道矩阵快速幂。 题意: n个人排队,f表示女,m表示男,包含子串fmf和fff为O队列,否则为E队列,求有多少个序列为E队列。 由于只求个数,按经验xjb找一下递推公式 : 用lm(n)表示n个人满足结果的个数,那么 1)如果最后一个是m,那么就不考虑他,l... 阅读全文
posted @ 2016-05-24 08:08 闲鱼型选手 阅读(189) 评论(0) 推荐(0)
摘要: HDU1575:裸的矩阵快速幂(二进制迭代法),用结构体能省不少事,想的话也可以重载个乘法 #include#include#define N 11using namespace std;const int mod=9973;int n;struct matrix{ int i,j... 阅读全文
posted @ 2016-05-24 08:07 闲鱼型选手 阅读(130) 评论(0) 推荐(0)
摘要: 矩阵相乘: A,B两矩阵相乘得到的新矩阵的第i行j列值为A矩阵的第i行每个元素跟B矩阵第j列每个 元素相乘的和。 需要把主对角线赋值成1其余部分为0来初始化单位矩阵. 快速幂: 求a的b次幂O(lgn)方法(二进制迭代)。 把b转换成2进制数 该2进... 阅读全文
posted @ 2016-05-24 08:07 闲鱼型选手 阅读(143) 评论(0) 推荐(0)
摘要: 1.指针和引用的定义和性质区别: (1)指针:指针是一个变量,只不过这个变量存储的是一个地址,指向内存的一个存储单元;而引用跟原来的变量实质上是同一个东西,只不过是原变量的一个别名而已。如: 1.int a=1;int *p=&a; 2.int a=1;int &b=a; 1定义了一个整形... 阅读全文
posted @ 2016-05-24 08:04 闲鱼型选手 阅读(228) 评论(0) 推荐(0)
摘要: 1.burnside定理,polya计数法 这个专题我单独写了个小结,大家可以简单参考一下:polya 计数法,burnside定理小结 2.置换,置换的运算 置换的概念还是比较好理解的,《组合数学》里面有讲。对于置换的幂运算大家可以参考一下潘震皓的那篇《... 阅读全文
posted @ 2016-05-24 08:04 闲鱼型选手 阅读(592) 评论(0) 推荐(0)
摘要: 调用gdb编译需要在cc后面加 -g参数再加-o; [root@redhat home]#gdb 调试文件:启动gdb (gdb) l :(字母l)从第一行开始列出源码 (gdb) break n :在第n行处设置断点 (gdb) break func:在函数fun... 阅读全文
posted @ 2016-05-24 08:02 闲鱼型选手 阅读(208) 评论(0) 推荐(0)
摘要: 书里给出比较无脑的做法,三个for循环复杂度是n的立方。如果先把数列排序,依次判断连续三个数是否能形成三角形,可以把时间复杂度控制在nlogn。#include#includeusing namespace std;int main(){ int n,a[10],i,ans=0; ... 阅读全文
posted @ 2016-05-24 08:01 闲鱼型选手 阅读(278) 评论(0) 推荐(0)