存档

文章标签 ‘map’

HDOJ MAP HDU 1029 1075 1263

2011年4月5日 没有评论

几道用MAP通过的水体,仅供参考。当然用map可以水过的题目还有很多,以前也做过不少(文章在保留在老博客的数据库中(*^__^*) 嘻嘻……),做太多了也没意义,仅当复习。
HDU1029 Ignatius and the Princess IV http://acm.hdu.edu.cn/showproblem.php?pid=1029 找出现次数最多的数字,此题在内存方面做了限制,所以用数组是不行的。
HDU1075 What Are You Talking About http://acm[......]

继续阅读

分类: HDOJ解题报告 标签: , , ,

HDU 1880 魔咒词典

2011年4月3日 没有评论

做这些题,主要是复习STL。我用map写的,结果超内存了,非常郁闷。思路是这样的:用两个map,一个存咒语-意思,另一个存意思-咒语。于是我只用一个map,存咒语-意思,只有一个的话,value就要自己找了,没规律,只能暴力搜索,超时。
传送:http://acm.hdu.edu.cn/showproblem.php?pid=1880
后来,我还是用两个map,提交语言改为G++,结果就AC了。另外,自己试着用两个vector,然后快排,然后二分搜索,也行;不过还是必须G++,否则MLE。两个程[......]

继续阅读

分类: HDOJ解题报告 标签: , , , , ,

USACO Name That Number

2010年11月28日 没有评论

USACO Name That Number要求将数字通过手机键盘转换成字母,然后去字典中查找字符串是否存在,存在则输出。如果老老实实的照着这种做法,显得有点繁琐。因为数字串最长有12个,可能转换成的字符串有3^12次方,计算量很大,效率低。我们可以逆向思维,将字典中的字符串转换成对应的数字,如果和给定的数字相等,则说明字符串可以输出。
另外需要注意,题目给定的输入数据是数字串,得到的输出字符串里面不可能有Q和Z,所以这些字符串都可以忽略掉。我是直接打表的……题目给定[......]

继续阅读

分类: USACO题解 标签: , , ,

USACO Greedy Gift Givers

2010年11月24日 没有评论

USACO Greedy Gift Givers一题在于处理好字符串的查找工作,感觉C写起来有点别扭,于是用了C++里面的map来简单实现。分析给出的代码是自己用C实现了一个字符串的简单处理操作。下面是我的解题代码(另外我发现map里面用char*竟然出错了,正在寻找答案):
/*
ID:stackex1
LANG:C++
PROG:gift1
*/
#include <iostream>
#include <stdio.h>
#include &lt[......]

继续阅读

分类: USACO题解 标签: , ,

HDU 2095 Find your present

2010年11月17日 10 条评论

HDU 2095 Find your present, 题目地址http://acm.hdu.edu.cn/showproblem.php?pid=2095。水题范围。
题目大意:给定至多1000000个数,里面有一个数出现了奇数次(看题目也许是1次,不过不影响做题),其余的数全部出现偶数次,所有数的数值范围在2^31内,现在要求你找出那个出现奇数次的数。
解题思路:开始想用数组,但是发现开不了那么大,即便开出来也很有可能是Memory Limited Exceeded。后来想到用map,AC了[......]

继续阅读

分类: HDOJ解题报告 标签: , , , ,