随笔 - 70  文章 - 160  trackbacks - 0

公告:
知识共享许可协议
本博客采用知识共享署名 2.5 中国大陆许可协议进行许可。本博客版权归作者所有,欢迎转载,但未经作者同意不得随机删除文章任何内容,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。 具体操作方式可参考此处。如您有任何疑问或者授权方面的协商,请给我留言。

常用链接

留言簿(8)

随笔档案

文章档案

搜索

  •  

积分与排名

  • 积分 - 177859
  • 排名 - 147

最新评论

阅读排行榜

评论排行榜

欢迎您来到Tanky Woo的博客: 我们的【C++奋斗乐园】 C++/算法网站:www.cpply.com C++/算法论坛:www.cppleyuan.com QQ群:①群:19333724 ②群:23840480 ③群:17314377 ④群:23829384 经典的递归问题,递归+回溯解决。 注意代码中select_combination()的应用 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 // POJ 2245 // Tanky Woo // www.wutianqi.com #include<iostream> #include<algorithm> using namespace std; int num[14]; int lotto[14]; int n,cnt;   void select_combination(int current,int p)//递归填充数并打   印组合,相当于DFS过程 { int i; if(6 == current) { for(i = 0; i < 6; ++i) printf("%d ", lotto[i]); printf("\n"); } else { for(i = p; i < n; ++i) { lotto[current] = num[i]; select_combination(current+1,   i+1); } } }   // www.wutianqi.com int main() { [...]
文章来源:http://www.wutianqi.com/?p=287
posted @ 2010-07-08 18:33 Tanky Woo 阅读(136) | 评论 (0)编辑 收藏
欢迎您来到Tanky Woo的博客: 我们的【C++奋斗乐园】 C++/算法网站:www.cpply.com C++/算法论坛:www.cppleyuan.com QQ群:①群:19333724 ②群:23840480 ③群:17314377 ④群:23829384 经典的递归问题,递归+回溯解决。 注意代码中select_combination()的应用 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 // POJ 2245 // Tanky Woo // www.wutianqi.com #include<iostream> #include<algorithm> using namespace std; int num[14]; int lotto[14]; int n,cnt;   void select_combination(int current,int p)//递归填充数并打   印组合,相当于DFS过程 { int i; if(6 == current) { for(i = 0; i < 6; ++i) printf("%d ", lotto[i]); printf("\n"); } else { for(i = p; i < n; ++i) { lotto[current] = num[i]; select_combination(current+1,   i+1); } } }   // www.wutianqi.com int main() { [...]
文章来源:http://www.wutianqi.com/?p=287
posted @ 2010-07-08 18:33 Tanky Woo 阅读(77) | 评论 (0)编辑 收藏
欢迎您来到Tanky Woo的博客: 我们的【C++奋斗乐园】 C++/算法网站:www.cpply.com C++/算法论坛:www.cppleyuan.com QQ群:①群:19333724 ②群:23840480 ③群:17314377 ④群:23829384 很经典的递归! 把握前序,中序,后序的特点。 前序的第一个元素是树的根,在相应中序中根以左是左子树,根以右是右子树。 注意考虑 n == 1和 n == 0 的情况。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 // POJ 2255 Tree Recovery // Tanky Woo // Memory: 180K Time: 0MS // Language: C++ Result: Accepted   #include <iostream> #include <string> using namespace std;   //定义前序,中序,后序序列 string preord, inord, postord; void find_postord(string preord, string inord);   // Blog:www.wutianqi.com int main() { while(cin >> preord >> inord) { find_postord(preord, inord); cout << endl; } return 0; }     //找到ch在inord中的位置,未找到返回-1 int find_root(string inord, char ch) { int i; for(i = 0; [...]
文章来源:http://www.wutianqi.com/?p=285
posted @ 2010-07-08 18:27 Tanky Woo 阅读(54) | 评论 (0)编辑 收藏
欢迎您来到Tanky Woo的博客: 我们的【C++奋斗乐园】 C++/算法网站:www.cpply.com C++/算法论坛:www.cppleyuan.com QQ群:①群:19333724 ②群:23840480 ③群:17314377 ④群:23829384 很经典的递归! 把握前序,中序,后序的特点。 前序的第一个元素是树的根,在相应中序中根以左是左子树,根以右是右子树。 注意考虑 n == 1和 n == 0 的情况。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 // POJ 2255 Tree Recovery // Tanky Woo // Memory: 180K Time: 0MS // Language: C++ Result: Accepted   #include <iostream> #include <string> using namespace std;   //定义前序,中序,后序序列 string preord, inord, postord; void find_postord(string preord, string inord);   // Blog:www.wutianqi.com int main() { while(cin >> preord >> inord) { find_postord(preord, inord); cout << endl; } return 0; }     //找到ch在inord中的位置,未找到返回-1 int find_root(string inord, char ch) { int i; for(i = 0; [...]
文章来源:http://www.wutianqi.com/?p=285
posted @ 2010-07-08 18:27 Tanky Woo 阅读(146) | 评论 (0)编辑 收藏
欢迎您来到Tanky Woo的博客: 我们的【C++奋斗乐园】 C++/算法网站:www.cpply.com C++/算法论坛:www.cppleyuan.com QQ群:①群:19333724 ②群:23840480 ③群:17314377 ④群:23829384  谁说这道题简单?是水题? 又让我郁闷了。 思路:枚举,BFS,位操作 分析:要求输入一个4*4的棋盘,考虑状态是否全为黑或者全为白,状态共有2^16种,联系棋盘是4*4,可以想到用位来压缩状态。 bwwb bbwb bwwb bwww 可以表示为:0001|1001|1011|1001 这里对位操作介绍下: id ^= (1 << i)   //对整数id转换成二进制后的第i位取反 其次,这里是广搜,用队列表示。 queue的front(), pop(), push()要掌握。 题目地址: http://acm.pku.edu.cn/JudgeOnline/problem?id=1753  Memory: 504K      Time: 16MS    Language: C++      Result: Accepted 自定义难度:★★★☆☆ 代码:   1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 // POJ 1753 // Author: Tanky Woo #include <iostream> #include <queue> using namespace std;   const int MAX_STATE = 65536; const int ALL_BLACK = 65535; const int ALL_WHITE = 0; const int SIZE = 4;   // www.wutianqi.com int convert(char c) { if(c == 'b') return 1; else return 0; }   int FlipPiece(int state_id, int pos) { state_id ^= (1 << pos);   //up if(pos >= 4) state_id [...]
文章来源:http://www.wutianqi.com/?p=280
posted @ 2010-07-06 18:37 Tanky Woo 阅读(1118) | 评论 (0)编辑 收藏
欢迎您来到Tanky Woo的博客: 我们的【C++奋斗乐园】 C++/算法网站:www.cpply.com C++/算法论坛:www.cppleyuan.com QQ群:①群:19333724 ②群:23840480 ③群:17314377 ④群:23829384  谁说这道题简单?是水题? 又让我郁闷了。 思路:枚举,BFS,位操作 分析:要求输入一个4*4的棋盘,考虑状态是否全为黑或者全为白,状态共有2^16种,联系棋盘是4*4,可以想到用位来压缩状态。 bwwb bbwb bwwb bwww 可以表示为:0001|1001|1011|1001 这里对位操作介绍下: id ^= (1 << i)   //对整数id转换成二进制后的第i位取反 其次,这里是广搜,用队列表示。 queue的front(), pop(), push()要掌握。 题目地址: http://acm.pku.edu.cn/JudgeOnline/problem?id=1753  Memory: 504K      Time: 16MS    Language: C++      Result: Accepted 自定义难度:★★★☆☆ 代码:   1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 // POJ 1753 // Author: Tanky Woo #include <iostream> #include <queue> using namespace std;   const int MAX_STATE = 65536; const int ALL_BLACK = 65535; const int ALL_WHITE = 0; const int SIZE = 4;   // www.wutianqi.com int convert(char c) { if(c == 'b') return 1; else return 0; }   int FlipPiece(int state_id, int pos) { state_id ^= (1 << pos);   //up if(pos >= 4) state_id [...]
文章来源:http://www.wutianqi.com/?p=280
posted @ 2010-07-06 18:37 Tanky Woo 阅读(105) | 评论 (0)编辑 收藏
欢迎您来到Tanky Woo的博客: 我们的【C++奋斗乐园】 C++/算法网站:www.cpply.com C++/算法论坛:www.cppleyuan.com QQ群:①群:19333724 ②群:23840480 ③群:17314377 ④群:23829384 今天论坛的ambition发了一个帖子: http://www.cppleyuan.com/redirect.php?tid=1171&goto=lastpost#lastpost 看了下,感觉题目很不错,ambition的思路也很好。 涉及到了m^n,我感觉经常就是与log一起使用。 把题目做了下,ambition的代码已经足够了,贴出来分享: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 #include<iostream> #include<cmath> using namespace std;   int main() { int n,m; double g; double h; for(cin>>n;n>0;n--) { cin>>m; g=m*log10((double)m); [...]
文章来源:http://www.wutianqi.com/?p=278
posted @ 2010-07-05 23:17 Tanky Woo 阅读(130) | 评论 (0)编辑 收藏
欢迎您来到Tanky Woo的博客: 我们的【C++奋斗乐园】 C++/算法网站:www.cpply.com C++/算法论坛:www.cppleyuan.com QQ群:①群:19333724 ②群:23840480 ③群:17314377 ④群:23829384 今天论坛的ambition发了一个帖子: http://www.cppleyuan.com/redirect.php?tid=1171&goto=lastpost#lastpost 看了下,感觉题目很不错,ambition的思路也很好。 涉及到了m^n,我感觉经常就是与log一起使用。 把题目做了下,ambition的代码已经足够了,贴出来分享: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 #include<iostream> #include<cmath> using namespace std;   int main() { int n,m; double g; double h; for(cin>>n;n>0;n--) { cin>>m; g=m*log10((double)m); [...]
文章来源:http://www.wutianqi.com/?p=278
posted @ 2010-07-05 23:17 Tanky Woo 阅读(120) | 评论 (0)编辑 收藏
欢迎您来到Tanky Woo的博客: 我们的【C++奋斗乐园】 C++/算法网站:www.cpply.com C++/算法论坛:www.cppleyuan.com QQ群:①群:19333724 ②群:23840480 ③群:17314377 ④群:23829384 就算是第一题又如何,POJ 1000,这是每个ACM爱好者的第一次。。。。 今天打击很大,三个小时2题都没做出来,感觉以前做的太混乱了, 今天重新申请了一个号,开始新的旅程,第一站当然就是这一题。 大家可以去看看我的代码情况,我账号:200841193 从今天开始系统的开始做了。加油!Tanky Woo! 题目地址: http://acm.pku.edu.cn/JudgeOnline/problem?id=1000 1 2 3 4 5 6 7 8 9 10 11 12 //Author: Tanky Woo #include <iostream>   using namespace std;   int main() { int a,b; cin >> a >> b; cout << a+b << endl; return 0; } 欢迎您来到C++奋斗乐园,原创文章,转载请注明: 转载自Tanky Woo 的程序人生 文章标题: POJ 1000 A+B Problem 本文链接地址: http://www.wutianqi.com/?p=276
文章来源:http://www.wutianqi.com/?p=276
posted @ 2010-07-05 21:14 Tanky Woo 阅读(112) | 评论 (0)编辑 收藏
欢迎您来到Tanky Woo的博客: 我们的【C++奋斗乐园】 C++/算法网站:www.cpply.com C++/算法论坛:www.cppleyuan.com QQ群:①群:19333724 ②群:23840480 ③群:17314377 ④群:23829384 就算是第一题又如何,POJ 1000,这是每个ACM爱好者的第一次。。。。 今天打击很大,三个小时2题都没做出来,感觉以前做的太混乱了, 今天重新申请了一个号,开始新的旅程,第一站当然就是这一题。 大家可以去看看我的代码情况,我账号:200841193 从今天开始系统的开始做了。加油!Tanky Woo! 题目地址: http://acm.pku.edu.cn/JudgeOnline/problem?id=1000 1 2 3 4 5 6 7 8 9 10 11 12 //Author: Tanky Woo #include <iostream>   using namespace std;   int main() { int a,b; cin >> a >> b; cout << a+b << endl; return 0; } 欢迎您来到C++奋斗乐园,原创文章,转载请注明: 转载自Tanky Woo 的程序人生 文章标题: POJ 1000 A+B Problem 本文链接地址: http://www.wutianqi.com/?p=276
文章来源:http://www.wutianqi.com/?p=276
posted @ 2010-07-05 21:14 Tanky Woo 阅读(187) | 评论 (1)编辑 收藏
仅列出标题
共7页: 1 2 3 4 5 6 7