上一页 1 ··· 6 7 8 9 10 11 12 13 14 ··· 20 下一页
摘要: 题意 已知一个数X有K个因子,求最小的X。解法 搜索剪枝 对于任意整数 其因子个数为: 意味着 因为需要最小的整数 N, 则我们使用小的质因子总是最优. 所以我们枚举 #include<stdio.h>typedef long long LL;const LL INF = 1000000000000000010ll; int p[12] = { 2,3,5,7,11,13,17,19,23,27,29,31}; int N; void dfs( LL &ans, int i, LL x, int n ){ if( n > N ) return; // 基本减枝 if. 阅读全文
posted @ 2013-04-01 12:21 yefeng1627 阅读(261) 评论(0) 推荐(0) 编辑
摘要: A 简单DP,状态DP[I][J] 表示第I个时间位置为J的最小花费View Code #include<stdio.h>#include<math.h>#include<stdlib.h>#include<string.h>const int INF = 0x3f3f3f3f;#define MIN(a,b) (a)<(b)?(a):(b)int dp[21][510];int val[21];int n, k;int main(){ while( scanf("%d%d", &n,&k) != EOF 阅读全文
posted @ 2013-03-31 21:23 yefeng1627 阅读(201) 评论(0) 推荐(0) 编辑
摘要: 题意 n*m的矩阵中,某些地区需要放置雷达,而雷达覆盖有四种方式,上下左右,问最少的雷达数量覆盖所有*号地区。解法 关于二分图的性质,有点晕头转向了。 和旭神讨论了。 这个题目是满足二分图的。因为对于一个雷达其关联的地方分别为上下左右,不能够斜线。则与雷达A关联的其它雷达间是不会有联系的。所以不会形成环。可以转换成2个集合间的关联关系。所以我们可以通过拆点法求出最大匹配。而有效顶点数量 = 最大匹配数 + 边覆盖数(最小边覆盖集)。同时也是本题的所求的边覆盖数,既最小雷达数量。View Code #include<cstdio>#include<cstdlib>#inc 阅读全文
posted @ 2013-03-31 16:57 yefeng1627 阅读(254) 评论(0) 推荐(0) 编辑
摘要: 题意 n*n的矩阵中,有空地和墙,放置机器人能攻击到垂直和水平地方(有墙则被隔绝),问最多能放多少机器人,相互之间不攻击解题思路 最大独立集, 对于实际顶点应该是除去墙。 然后贴模板~~ View Code #include<cstdio>#include<cstring>#define N 50bool flag[N], a[N][N];int ans, cnt[N], group[N], n, m, vis[N]; bool dfs( int u, int pos ){ int i, j; for( i = u+1; i <= n; i++){ if( cn. 阅读全文
posted @ 2013-03-31 15:33 yefeng1627 阅读(172) 评论(0) 推荐(0) 编辑
摘要: 题意 给一个无向图,求其最大团中顶点数量。。。解题思路 跪了。。。这够裸了。。。 最大团模板。。View Code #include<cstdio>#include<cstring>#define N 51bool flag[N], a[N][N];int ans, cnt[N], group[N], n, m, vis[N]; 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[u][i]... 阅读全文
posted @ 2013-03-31 14:19 yefeng1627 阅读(321) 评论(0) 推荐(0) 编辑
摘要: 题目大意: 一个无向图中,使用黑白两种颜色对顶点着色,要求相邻顶点不能同时为黑色,求最大能染黑色顶点数量以及对应顶点。解题思路: 相邻顶点间有边相连,模型转换成求 无向图 最大独立集。因为是NP问题,目前没有有效算法。 又 最大团顶点数量 = 补图的最大独立集 所以我们可以用 优化的 Bron-Kerbosch算求其补图的最大团,然后得出当前图的最大独立集View Code #include<cstdio>#include<cstring>#define N 1010bool flag[N], a[N][N];int ans, cnt[N], group[N], n, 阅读全文
posted @ 2013-03-31 14:03 yefeng1627 阅读(782) 评论(0) 推荐(0) 编辑
摘要: 本文转载自http://www.felix021.com/blog/read.php?2040,如是转载文则注明原出处,谢谢:)Google Reader 订阅点击这里,RSS地址:http://www.felix021.com/blog/feed.php。源于这两篇文章:http://blog.csdn.net/ggggiqnypgjg/article/details/6645824http://zhuhongcheng.wordpress.com/2009/08/02/a-simple-linear-time-algorithm-for-finding-longest-palindrome 阅读全文
posted @ 2013-03-31 13:45 yefeng1627 阅读(145) 评论(0) 推荐(0) 编辑
摘要: 游戏开始时有许多硬币任意分布在楼梯上,共n阶楼梯从地面由下向上编号为0到n。游戏者在每次操作时可以将楼梯j(1<=j<=n)上的任意多但至少一个硬币移动到楼梯j-1上。游戏者轮流操作,将最后一枚硬币移至地上的人获胜。 分析:这个问题与nim游戏的区别在于移走的硬币不是被扔掉而是被放进了另一堆硬币之中,考虑能否将这一部分楼梯排除考虑范围。奇数号楼梯只能将硬币扔到偶数号楼梯之中,同样偶数号楼梯上的硬币也只会被扔上奇数号楼梯。只考虑奇数号楼梯nim,若偶数楼梯只作容器,那么游戏变为nim。当偶数号楼梯上的硬币可以将硬币移出时,我们是不是仍然可以用nim的方法判断必败状态?将奇数台阶的硬币 阅读全文
posted @ 2013-03-31 13:38 yefeng1627 阅读(536) 评论(0) 推荐(0) 编辑
摘要: 刘雅琼PPT讲解链接:http://www.doc88.com/p-216945446450.html扩展KMP:给出模板串A和子串B,长度分别为lenA和lenB,要求在线性时间内,对于每个A[i](0<=i<lenA),求出A[i..lenA-1]与B的最长公共前缀长度,记为ex[i](或者说,ex[i]为满足A[i..i+z-1]==B[0..z-1]的最大的z值)。扩展KMP可以用来解决很多字符串问题,如求一个字符串的最长回文子串和最长重复子串。【算法】设next[i]为满足B[i..i+z-1]==B[0..z-1]的最大的z值(也就是B的自身匹配)。设目前next[0. 阅读全文
posted @ 2013-03-31 13:37 yefeng1627 阅读(175) 评论(0) 推荐(0) 编辑
摘要: 本文转载自:http://hi.baidu.com/aekdycoin/item/e493adc9a7c0870bad092fd9曾经看过如下一个公式:以上的公式如果第一次见到,难免有不少疑惑:为什么可以这么写?限制条件为什么是x >= Phi(C),这个公式为什么正确?今天突发奇想,在纸上YY以后得到了以下证明(个人证明,如果有问题欢迎提出)定理 1:对于一个数对(A,C) 必然存在一个最小的正整数 L,满足其中SPOS 是一个大于等于0的整数(下面具体介绍)我们称L 为(A,C) 的最小循环节长度证明:根据鸽巢原理,得到在x >= C 后必然出现循环,从而定理得证.定理 2:对 阅读全文
posted @ 2013-03-31 13:35 yefeng1627 阅读(197) 评论(0) 推荐(0) 编辑
上一页 1 ··· 6 7 8 9 10 11 12 13 14 ··· 20 下一页

Launch CodeCogs Equation Editor