摘要:
这道题目没什么说的,刚开始快排超时了,后来就没有办法了。搜了一下才知道是hash,hash没怎么用过,记得这是第二次吧!记录一下!简单分析下超时的原因:本题的数据n最大的值为1000,如果取任意的两个数值进行绝对值计算,那么最多就会产生1000*1000/2个数据,大概就是500000个数据,下面又对这么的值进行排序,查找就超时了。用hash的方法,压缩了数据量,因为任意两个1000以内的数据进行绝对值计算,范围一定在0-2000内,所以hash算法,大大的压缩要处理的数据量,提高了查找的效率。 1 #include<iostream> 2 #include<cstring& 阅读全文
posted @ 2013-05-04 20:21
heat nan
阅读(344)
评论(0)
推荐(0)
摘要:
也许acm的迷人之处就在于这样的题目,当然也就是一些大牛嘴里的水题。这一题,我做的时候想通过实例去发现他们之间是否存在什么关系,可惜数很小的时候情况就非常多,感觉无从下手,一直也没有解出来。其实,就是遇到这样的问题,不能站在一个高度上去看这个问题,及思维局限在了繁杂的实例上。这一题可以这样考虑:假如有m行n列,首先,考虑单独的一行,一行一共有n个矩形,一个小单位矩形组成的矩形有n个,两个小单位矩形组成的矩形有n-1个,.......n个单位小矩形组成的矩形有1个,所以一行一共有n×(n+1)/2个,然后,把每一行缩成一个小单元矩形,则考虑一列的时候和考虑行的时候一样,每一列有m 阅读全文
posted @ 2013-05-04 20:13
heat nan
阅读(416)
评论(1)
推荐(1)

浙公网安备 33010602011771号