上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 22 下一页
  2014年4月30日
摘要: 题意:平面上给你n个点。1为起始点,问你从1号点出发经过其他所有点再回到1号点的最短距离,两点之间的距离是曼哈顿距离(abs(x1-x2)+abs(y1-y2))。思路:DFS,算出每次的距离,取最短即可。#include#include#include#include#include#define... 阅读全文
posted @ 2014-04-30 18:39 wangzhili 阅读(136) 评论(0) 推荐(0)
摘要: 使用C/C++处理大数据时有时不是很方便,这时可以使用JAVA中大数类,当然代价就是运行时慢。import java.math.*;import java.util.*;import java.io.*;import java.text.*;public class test{ public ... 阅读全文
posted @ 2014-04-30 18:39 wangzhili 阅读(221) 评论(0) 推荐(0)
摘要: 题意:给你一串数字,问你他们能组成多少个不同的素数。思路:枚举这些数字的组合的排列,打一张素数表直接判断。这题时间限制很紧啊(1000ms),在无限TLE之后,我把memset(vis,0,sizeof(vis))这句删除之后跑了844ms,险过,memset怎么会那么坑,不是说内部实现是调用批处理... 阅读全文
posted @ 2014-04-30 18:39 wangzhili 阅读(121) 评论(0) 推荐(0)
摘要: 思路:1.最基本的,需要用到矩阵快速幂 2.快速幂求完之后怎样快速求和?若逐项累加求和必然会超时,这时需要求递推公式:(1)若n为偶数,则:S(n) = A^(n/2)*S(n/2)+s(n/2);(2)若n为奇数 S(n) = A^(n/2+1) + S(n/2)*A^(n/2+1) + S(n/... 阅读全文
posted @ 2014-04-30 18:39 wangzhili 阅读(111) 评论(0) 推荐(0)
摘要: 思路:矩阵快速幂,没什么可说的。#include#include#include#include#includeusing namespace std;typedef struct Matrix{ int m[2][2]; Matrix(){ memset(m, 0, si... 阅读全文
posted @ 2014-04-30 18:39 wangzhili 阅读(165) 评论(0) 推荐(0)
摘要: 题意:在无向图中有n条边,现在给出你一个起点S和一个终点E,让你求从S到E经过且仅K条边的最短路径。注意此题中K远大于n,如果K小于n的话直接一边广搜就过了,第一次没注意到这个条件敲了一个BFS,结果WA了。思路:此题正解应该是矩阵乘法,但是重定义了,区别于线性代数里面的乘法(其实可以看出无论哪种定... 阅读全文
posted @ 2014-04-30 18:39 wangzhili 阅读(205) 评论(0) 推荐(0)
摘要: 思路:dfs,试填每个方格,当搜索的范围超过9×9时说明已经找到解#include#include#include#include#includeusing namespace std; int map[15][15], flag; bool CanPlace(int x, int y, int n... 阅读全文
posted @ 2014-04-30 18:39 wangzhili 阅读(131) 评论(0) 推荐(0)
摘要: 思路:二进制枚举,再用位运算来判断选的那些行是否满足每列只有一个1,(很神奇的位运算)。考虑最多16行,因此可以用一个int型(32位>16)的每个二进制位来表示每列状态,比如某列的第二行有个1,则int型数字里面第二个二进制位就为1,时间复杂度2^16*m,可以接受。这里存在一个问题就是怎么通过每... 阅读全文
posted @ 2014-04-30 18:39 wangzhili 阅读(345) 评论(0) 推荐(0)
摘要: 利用深度优先搜索的性质可以方便的生成n的排列和组合。生成排列(默认是全排列,也可以传个参数生成n的k排列)#include#define MAXN 111using namespace std;int tmp[MAXN],vis[MAXN],n,k;void dfs(int cnt,int num ... 阅读全文
posted @ 2014-04-30 18:39 wangzhili 阅读(177) 评论(0) 推荐(0)
摘要: 思路:动态规划,不论怎么取则必须有一个最后取(设为k),设dp[n][m] 是n到m这段中的最优解,则dp[n][m] = min(dp[n][k]+dp[k][m]+a[k]*a[n]*a[m],dp[n][m])(k > n && k #include#include#include#defin... 阅读全文
posted @ 2014-04-30 18:39 wangzhili 阅读(116) 评论(0) 推荐(0)
上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 22 下一页