poj
文章平均质量分 74
cbsheng
这个作者很懒,什么都没留下…
展开
-
POJ 3630 解题报告 Trie 树
题目意思:如果某个 number 是另一个 number 的前缀,则 输出 NO。可以用 trie 树,这题有多组数据,要注意清零。代码:#include #include #define maxn 10000#define wlen 10 //number长度#define character '0'#define size 10 typedef str原创 2015-07-04 21:31:21 · 1541 阅读 · 0 评论 -
POJ 1056 解题报告 Trie 树
这题跟poj 3630一样,也是找前缀,数据更弱。代码:#include #include #define maxn 10#define wlen 10 //单词长度#define character '0'#define size 2 typedef struct node { int cnt; //记录访问量 int child_num; //记录孩子个数原创 2015-07-05 00:05:55 · 1554 阅读 · 0 评论 -
POJ 2530 解题报告 trie 树
题目意思:给含有两个单词的映射关系的字典,然后查询接下来每个输入字符串的对应字符串。这题可以用 hash 或者 trie 树,都是入门级别。代码://这题是 trie 树 和 哈希 的入门题。#include #include #include #include #include #include using namespace std;#defi原创 2015-07-04 17:29:27 · 1611 阅读 · 0 评论 -
POJ 2001 解题报告 trie 树
题目意思:就是找能标识每个字符串自身的最短前缀。可以用 Trie 树解决,只需要记录每个结点的访问次数,那么每个字符串的最短前缀,要么就是到访问次数为1的那个字符结点为止的字符串,要么就是遍历完毕还没有遇到访问量为1的字符结点时,最短前缀就是自身。代码:POJ 2001#include #include #define maxn 1010typedef struc原创 2015-07-04 11:11:09 · 1495 阅读 · 0 评论 -
POJ 2846 解题报告 Trie 树变型
题目意思:给一个待查询的字符串,输出包含这个字符串(作为子串)的个数。数据量比较大,用 KMP 会超时。可以用 Trie 树,不过需要变型。正常的 Trie 树是以前缀开始的。在这题需要改成以后缀开始,后缀指以字符串每个字符作为开始直至结尾。例如字符串 abcdae ,各个后缀是 abcdae,bcdae,cdae,dae,ae,e。这样就很方便查询子串出现的次数了。但是要原创 2015-07-05 12:20:30 · 1500 阅读 · 0 评论 -
poj_1068_Parencodings_解题报告
题目出处题意:对于字符串S有两种编码方式:1. P-sequence:当遇到右括号时,记录下当前左边的所有左括号 2. W-sequence: 当遇到右括号时,记录下与当前右括号匹配的左括号内的右括号数,并包括自己解法:模拟思路:用了最简单直接的方法,首先将P-sequence编码转换为原始字符串S,再由原始字符串S转换为W-sequence编码此题解法有待日后优原创 2013-01-25 20:36:20 · 891 阅读 · 0 评论 -
poj_2255_Tree Recovery_解题报告
题目出处题意:输入两组数据,分别是前序遍历序列和中序遍历序列,你需要编写程序通过这两组数据求出该树的后序遍历序列(前序序列 + 中序序列 = 后序序列)解法:递归题目分析:可以先按照用笔和纸的形式去推导出后序序列。推导过程省略,在推导过程中我们会发现规律:假设 前序序列是 A B E H F C G I 中序序列是 H E B F A C I G (图如下)每一原创 2013-01-22 15:49:44 · 5152 阅读 · 1 评论 -
poj_1664_放苹果_解题报告
题目出处----------------------------------------------------------------------------题目----------------------------------------------------------------------------Description把M个同样的苹果放在N个同样的盘子里,允许有的原创 2012-11-23 13:40:19 · 2651 阅读 · 0 评论 -
poj_2389_Bull Math_解题报告
题目出处解法:简单模拟要点:数据的存储使用数组观察乘法的规律,就可以先相乘再相加进位注意:存储空间必须开大一点,不然就像我开始一样不断地WA,坑爹啊!代码:(先相乘完再进位)也可以把进位的代码放进每个数相乘的循环里#include using namespace std;const int MAX=40;const int result=原创 2012-11-26 15:49:37 · 730 阅读 · 0 评论 -
poj_1008_Maya Calendar_解题报告
题目出处题意:玛雅人有两种历法,题目要求从键盘输入一中历法,通过程序转换成另一种历法解法:模拟思路:先通过输入求出haab历法的总天数,再对应holly历法进行转换就行了代码(C++):/*308K 0MS*/#include #include #include using namespace std;typedef struct { float da原创 2013-01-24 08:47:46 · 1145 阅读 · 0 评论 -
POJ 1163 解题报告
题目意思: 在 Triangle中从上到下,按照规则走,找出路径最大值。思路: 这题可以用 DP 去解。 子问题定义为 F(i, j)。 i 是行数, j 是列。 F(i, j)的值是从第 i 行第 j 列开始的 Triangle 的路径最大值,即问题的解。得出递归公式是: F(i, j) = A[i][j] + max{F(i+1, j), F(i+1, j+1)}代码链接:POJ 116原创 2015-05-15 22:23:11 · 555 阅读 · 0 评论 -
再谈poj2255_解题报告
上一篇解题报告的解法是比较简单,但并不精巧而下面的代码是更精巧的代码(代码源于是一位名为sgxiao的师兄)#include#include#includetypedef struct Node{ char ch; struct Node *left; struct Node *right;}Node; char mid[27];char pre[27];i原创 2013-01-22 15:48:31 · 2443 阅读 · 1 评论 -
使用freopen省掉每次ACM/POJ中手动输出测试数据的麻烦
在做poj的时候,对于每道题目都要自己手动去输入测试数据,天啊。太麻烦了。如果一直不能AC,手估计要抽筋了而程序员的特点就是“懒”,善于把重复劳动简化而解决这个问题,只需要用到标准库中 stdio.h 的 freopen 函数本人太懒了。看到别人都写好了,就干脆转过来 :-P-----------------------------------------------------转载 2012-12-02 13:44:25 · 807 阅读 · 0 评论 -
POJ 3264 解题报告 RMQ 问题 ST算法
这道题可以用线段树、树状数组解决,也可以用 ST 算法。题目意思很明显,最大值-最小值就是结果。第一道用 ST 解决的题目。//ST 算法#include #include #define MAXN (50000 + 10)int cows[MAXN];int st_max[MAXN][20];int st_min[MAXN][20];int n, q, l,原创 2015-07-17 15:58:09 · 1924 阅读 · 0 评论