2014年4月30日
摘要: 思路: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 阅读(116) 评论(0) 推荐(0) 编辑
摘要: 题意:在无向图中有n条边,现在给出你一个起点S和一个终点E,让你求从S到E经过且仅K条边的最短路径。注意此题中K远大于n,如果K小于n的话直接一边广搜就过了,第一次没注意到这个条件敲了一个BFS,结果WA了。思路:此题正解应该是矩阵乘法,但是重定义了,区别于线性代数里面的乘法(其实可以看出无论哪种定... 阅读全文
posted @ 2014-04-30 18:39 wangzhili 阅读(189) 评论(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 阅读(140) 评论(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 阅读(93) 评论(0) 推荐(0) 编辑
摘要: 题意:给你一串数字,问你他们能组成多少个不同的素数。思路:枚举这些数字的组合的排列,打一张素数表直接判断。这题时间限制很紧啊(1000ms),在无限TLE之后,我把memset(vis,0,sizeof(vis))这句删除之后跑了844ms,险过,memset怎么会那么坑,不是说内部实现是调用批处理... 阅读全文
posted @ 2014-04-30 18:39 wangzhili 阅读(109) 评论(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 阅读(200) 评论(0) 推荐(0) 编辑
摘要: 题意:平面上给你n个点。1为起始点,问你从1号点出发经过其他所有点再回到1号点的最短距离,两点之间的距离是曼哈顿距离(abs(x1-x2)+abs(y1-y2))。思路:DFS,算出每次的距离,取最短即可。#include#include#include#include#include#define... 阅读全文
posted @ 2014-04-30 18:39 wangzhili 阅读(111) 评论(0) 推荐(0) 编辑
摘要: 对于每头牛可以取或者不取,因此两种方法:dfs或二进制枚举,不过二进制枚举比较慢,但一般来说都能在题目限定时间内出解。1.DFS(32ms):#include#include#include#include#include#define INF 0x7fffffffusing namespace s... 阅读全文
posted @ 2014-04-30 18:39 wangzhili 阅读(87) 评论(0) 推荐(0) 编辑
摘要: 水题:直接模拟即可,次数cnt = abs(cnt1-cnt2)/2;#include#include#include#include#includeusing namespace std;int main(){ string s; int n, ans; while(~scanf... 阅读全文
posted @ 2014-04-30 18:39 wangzhili 阅读(125) 评论(0) 推荐(0) 编辑
摘要: C. Magic Formulastime limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputPeople in the Tomskaya region l... 阅读全文
posted @ 2014-04-30 18:39 wangzhili 阅读(138) 评论(0) 推荐(0) 编辑
摘要: Number SequenceTime Limit: 10000/5000 MS (Java/Others)Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 9899Accepted Submission(s): 4518Pr... 阅读全文
posted @ 2014-04-30 18:39 wangzhili 阅读(79) 评论(0) 推荐(0) 编辑
摘要: Til the Cows Come HomeTime Limit:1000MSMemory Limit:65536KTotal Submissions:27591Accepted:9303DescriptionBessie is out in the field and wants to get b... 阅读全文
posted @ 2014-04-30 18:39 wangzhili 阅读(140) 评论(0) 推荐(0) 编辑
摘要: 思路:二进制枚举,再用位运算来判断选的那些行是否满足每列只有一个1,(很神奇的位运算)。考虑最多16行,因此可以用一个int型(32位>16)的每个二进制位来表示每列状态,比如某列的第二行有个1,则int型数字里面第二个二进制位就为1,时间复杂度2^16*m,可以接受。这里存在一个问题就是怎么通过每... 阅读全文
posted @ 2014-04-30 18:39 wangzhili 阅读(323) 评论(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 阅读(160) 评论(0) 推荐(0) 编辑
摘要: 1.DFS:#include#include#include#include#include#include#includeusing namespace std; char str[20], ans[10]; int vis[20], flag; bool cmp(char a, char b){... 阅读全文
posted @ 2014-04-30 18:39 wangzhili 阅读(141) 评论(0) 推荐(0) 编辑
摘要: #include#include#include#include#include#define MAXN 1111using namespace std;class Point{ public: int x,y; bool operator > 1; ... 阅读全文
posted @ 2014-04-30 18:39 wangzhili 阅读(119) 评论(0) 推荐(0) 编辑
摘要: #include#include#include#include#include#define MAXN 20010using namespace std;typedef struct{ int to,next;}Node;typedef struct PP{ int id,par; ... 阅读全文
posted @ 2014-04-30 18:39 wangzhili 阅读(89) 评论(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 阅读(100) 评论(0) 推荐(0) 编辑
摘要: 思路:动态规划,设dp[i][j]表示从i到j这段子串匹配的最大长度,则状态转移方程分两种情况,1.若从i到j-1这些字符中没有一个能与j匹配,则 dp[i][j] = dp[i][j-1],这是显然的;2.若从i到j-1中有字符能与j匹配(可能不止一个,并设他们组成集合为A),则 dp[i][j]... 阅读全文
posted @ 2014-04-30 18:39 wangzhili 阅读(100) 评论(0) 推荐(0) 编辑
摘要: 思路:年前学得Trie树,当时没过,可能当时没完全理解吧,今天碰到了,就凭着理解直接敲的,调了两次终于过了,把每个单词结尾标记为1,查询的时候看某个单词的子串是否存在,这题WA点不少,必须搞清判断条件。#include#include#include#include#includeusing nam... 阅读全文
posted @ 2014-04-30 18:39 wangzhili 阅读(103) 评论(0) 推荐(0) 编辑