上一页 1 ··· 7 8 9 10 11 12 13 14 15 ··· 20 下一页
摘要: 本文内容转载自Matrix67大神:http://www.matrix67.com/blog/archives/333除了字符串匹配、查找回文串、查找重复子串等经典问题以外,日常生活中我们还会遇到其它一些怪异的字符串问题。比如,有时我们需要知道给定的两个字符串“有多像”,换句话说两个字符串的相似度是多少。1965年,俄国科学家Vladimir Levenshtein给字符串相似度做出了一个明确的定义叫做Levenshtein距离,我们通常叫它“编辑距离”。字符串A到B的编辑距离是指,只用插入、删除和替换三种操作,最少需要多少步可以把A变成B。例如,从FAME到GATE需要两步(两次替换),从G 阅读全文
posted @ 2013-03-31 13:33 yefeng1627 阅读(535) 评论(0) 推荐(0) 编辑
摘要: 1. 概述同splay tree一样,treap也是一个平衡二叉树,不过Treap会记录一个额外的数据,即优先级。Treap在以关键码构成二叉搜索树的同时,还按优先级来满足堆的性质。因而,Treap=tree+heap。这里需要注意的是,Treap并不是二叉堆,二叉堆必须是完全二叉树,而Treap可以并不一定是。2. Treap基本操作为了使Treap 中的节点同时满足BST性质和最小堆性质,不可避免地要对其结构进行调整,调整方式被称为旋转。在维护Treap 的过程中,只有两种旋转,分别是左旋转(简称左旋)和右旋转(简称右旋)。左旋一个子树,会把它的根节点旋转到根的左子树位置,同时根节点的右子 阅读全文
posted @ 2013-03-31 13:27 yefeng1627 阅读(169) 评论(0) 推荐(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 pos ){ int i, j; for( i = u+1; i <= n; i++){ if( cnt[i]+pos <= ans ) return 0; if( a.. 阅读全文
posted @ 2013-03-31 13:18 yefeng1627 阅读(208) 评论(1) 推荐(0) 编辑
摘要: 训练专题以及解题思路... 持续更新 Train 1 搜索 Train 2 动态规划 Train 3 组合数学 Train 4 点分治 Train 5 最大流 Train 6 群论/置换群 Train 7 动态规划1 Train 8 动态规划2 Train 9 动态规划3 Train 10 动态规划4 Train 11 最大独立集与二分图匹配 A. 最大独立子集,用最大团模板即可,注意若不存在的特殊情况 B. 跪了,赤裸裸的最大团模板题 C. 最大独立集,去除掉墙壁的点,才是实际的图。注意模板的ans=-1,若为-1则手动设定为0.即不存... 阅读全文
posted @ 2013-03-31 13:15 yefeng1627 阅读(171) 评论(0) 推荐(0) 编辑
摘要: A 错排公式 d[n] = (n-1)*(d[n-1]+d[n-2]);View Code #include<stdio.h>typedef long long LL;LL d[110];const int mod = 1e9+7;void init(){ d[1] = 0; d[2] = 1; for(int i = 3; i <= 100; i++){ d[i] = 1LL*(i-1)*(d[i-1]+d[i-2])%mod; } }int main(){ init(); int T; scanf("%d",&T); ... 阅读全文
posted @ 2013-03-31 12:48 yefeng1627 阅读(203) 评论(0) 推荐(0) 编辑
摘要: ---恢复内容开始---Bron-Kerbosch算法计算图的最大全连通分量(团clique)最大独立集: 顶点集V中取 K个顶点,其两两间无连接。最大团: 顶点集V中取 K个顶点,其两两间有边连接。最大团中顶点数量 = 补图的最大独立集中顶点数量补图定义: G=<V,E> thecomplementofG,\bar{G}=<V,V\timesV-E> 详见连接:http://zh.wikipedia.org/wiki/%E8%A3%9C%E5%9C%96 更详细的:http://en.wikipedia.org/wiki/Bron%E2%80%93Kerbos... 阅读全文
posted @ 2013-03-31 12:33 yefeng1627 阅读(19236) 评论(1) 推荐(3) 编辑
摘要: 感谢其它高校的负责人,严格的审题等工作~~~。预祝大家本场训练赛玩的高兴。。。训练赛 RankList解题报告转摘自 Lyush A.简单的想法题。使用hash表或者是map存储所有数,然后从最小的数开始找从这个数开始的连续P倍数的个数X,那么需要删除的数的个数为X/2。View Code #include <iostream>#include <cstring>#include <cstdio>#include <cstdlib>#include <map>#include <cassert>#include <c 阅读全文
posted @ 2013-03-30 15:01 yefeng1627 阅读(971) 评论(2) 推荐(0) 编辑
摘要: 就做了签到题..... 菜的掉渣了..都... A 题....签到题,竟然搞晕了半天... 其实第三种操作, 因为 60*k - (60-x)*k = 0 (mod 43200) 转化成 x*k = 43200*B, 因为是浮点型, 直接求单位的 k = (43200/x)*K*60 sView Code #include<stdio.h>#include<stdlib.h>#include<string.h> typedef long long LL;int gcd( int a, int b ){ return b == 0 ? a : gcd( b, 阅读全文
posted @ 2013-03-29 22:35 yefeng1627 阅读(245) 评论(0) 推荐(0) 编辑
摘要: 题意 输入N (N <= 1e4), 求满足 的整数解 (x,y)的数量。解法 令 N! = M, 且分析等式可以知道, X > M, Y > M 假设 X = M + K , 其中K为正整数 则原式转换成: 又 Y 为正整数, M也为正整数, 则若需要满足条件则 M^2 % K == 0 则题目就转换成为 求 M^2 = ( N! )^2 的因子个数 又 对于任意正整数 其因子数量为 因为题目所给的 M = N! 对于 N! 的质因子分解,我们可以不需要从1到N进行枚举。仅仅通过N即可得出 [1,N] 的素因子及素因子次数。 阅读全文
posted @ 2013-03-29 16:41 yefeng1627 阅读(133) 评论(0) 推荐(0) 编辑
摘要: 在这里记录下比较有用的计算几何模板,以便于以后自己查找,持续更新坐标点数据类型struct Point{ double x, y; };已知三点,求外界圆心Point Cross( Point A, Point B, Point c ){ Point o; double a1 = B.x - A.x, b1 = B.y - A.y, c1 = a1*a1+b1*b1; double a2 = C.x - A.x, b2 = C.y - A.y, c2 = a2*a2+b2*b2; double d = a1 * b2 - a2 * b1; // det( AB,... 阅读全文
posted @ 2013-03-29 16:29 yefeng1627 阅读(126) 评论(0) 推荐(0) 编辑
上一页 1 ··· 7 8 9 10 11 12 13 14 15 ··· 20 下一页

Launch CodeCogs Equation Editor