10 2016 档案

求组合数取模的几种方法
摘要:求Cnm%P 其中P为大质数 ①利用杨辉三角 ②Cnm=[n*(n-1)......*(n-2)]/[m*(m-1)....*1],由式子的意义可知此数肯定为整数,将分子分解质因数,记录下各个质因子的个数,减去对应的分母的质因子的个数,最后每个质数的个数肯定非负,在统计各个质因子的个数,最后对P取模 阅读全文

posted @ 2016-10-28 10:38 比特飞流 阅读(472) 评论(0) 推荐(0)

多个矩形,求覆盖面积,周长,及交点
摘要:问题:给出若干个矩形,(给的是矩形左上角和右下角坐标),求最后所得图形的面积/周长; 三个矩形如左图所示,而若要计算面积,看右图,用3个矩形各自的面积之和减去重复部分(红色和蓝色)的面积 人算很简单,但是用算法怎么实现呢? 此类问题一般都是用线段树辅助扫描法来计算; 什么是扫描法?有什么用?怎么用? 阅读全文

posted @ 2016-10-18 15:26 比特飞流 阅读(3839) 评论(0) 推荐(1)

字符串hash算法
摘要:http://www.cnblogs.com/zyf0163/p/4806951.html hash函数对大家来说不陌生吧 ? 而这次我们就用hash函数来实现字符串匹配。 首先我们会想一下二进制数。 对于任意一个二进制数,我们将它化为10进制的数的方法如下(以二进制数1101101为例): has 阅读全文

posted @ 2016-10-05 14:18 比特飞流 阅读(814) 评论(0) 推荐(0)

DFS序详解
摘要:dfs序就是一棵树在dfs遍历时组成的节点序列. 它有这样一个特点:一棵子树的dfs序是一个区间. 下面是dfs序的基本代码: void dfs(int x,int pre,int d){//L,R表示一个子树的范围 L[x]=++tot; dep[x]=d; for(int i=0;i<e[x]. 阅读全文

posted @ 2016-10-03 15:04 比特飞流 阅读(3534) 评论(0) 推荐(1)

dfs序
摘要:dfs序比较重要的性质:一棵子树的所有节点在dfs序里是连续一段,主要就是利用这个性质来解题 题型一:对某个点X权值加上一个数W,查询某个子树X里所有点权值和。 解:列出dfs序,实现修改一个数,查询一段序列的和,显然这个序列可以用线段树维护。 题型二:对X到Y的最短路上所有点权值加上一个数W,查询 阅读全文

posted @ 2016-10-02 20:42 比特飞流 阅读(188) 评论(0) 推荐(0)

bzoj2441 小W的问题
摘要:bzoj2441 按照纵坐标排序,从小到大插入数列中,每个点i维护一个data[i]表示未插入序列中横坐标小于i的数的个数(用线段树)其实点i就是“W”中第一个极小点,那么f[j]就等于1到j-1中所有已插入的data之和(也用线段树),j点就是“W”的极大点,为什么呢?因为现在在未插入数列中的数都 阅读全文

posted @ 2016-10-02 20:40 比特飞流 阅读(179) 评论(0) 推荐(0)

导航