
排序哈希
plusplus7
萌系大学生一枚。。。。
展开
-
POJ 2388 Who's in the Middle
给你一列数,问你这些数中间的那个数是多少。 #include #include #include #include using namespace std;int a[10000];int main(){ int n,i; scanf("%d",&n); for (i=0; i<n; i++) scanf("%d"原创 2012-11-17 02:04:11 · 408 阅读 · 0 评论 -
POJ 3007 Organize Your Train part II
这题题意转化一下,给一个字符串,然后从任意位置把这个串分成两个子串(都不是空串),然后两个串a,b得到他们的反串c,d。最后得到8种组合ab,ad,cb,cd,ba,da,bc,cd。问最终可以得到多少种字符串。 用STL神马的会超时,所以用hash。于是写了个静态链表,1Y~#include #include #include using namespa原创 2013-01-14 11:56:38 · 970 阅读 · 0 评论 -
BNUOJ 14362 Election Time
排序水题。第一次排序要求把a值前k大的提取出来。第二次排序要求把这k个里面b值最大的提取出来,并输出序号。#include #include #include #include using namespace std;struct T{ int n; int a; int b;};T ab[51000];bool cmp1(T a,T b){原创 2013-01-13 11:06:06 · 395 阅读 · 0 评论 -
POJ 3087 Shuffle'm Up
这题应该不是搜索,勉强算个hash把。其实是个水模拟。。。判断-1的方法就是,看是否是得到了以前出现过的字符串,所以用set或者map都可以。这里用的是set。#include #include #include #include using namespace std;set st;int n;char *shuffle(char *str2,char *原创 2012-11-24 00:33:03 · 388 阅读 · 0 评论 -
POJ 1840 Eqs
给出一个5元3次方程,输入其5个系数,求它的解的个数把方程变个形,然后左右对拍。注意,map需要记录值出现的次数,因为若x1 =a, x2=b ,x3=c ,x4=d,x5=e时,与 x1=b, x2=a ,x3=c ,x4 =d, x5=e 代入方程后都得到值0,那么他们视为不同的解。#include #include #include #include #include原创 2012-11-21 09:56:13 · 442 阅读 · 0 评论 -
POJ 2503 Babelfish
map水题= =我发现我有点太依赖map了。。#include #include #include #include using namespace std;map mp;int main(){ int n; char str[50],s1[20],s2[20]; mp.clear(); while (1) { gets原创 2012-11-21 13:28:43 · 381 阅读 · 0 评论 -
POJ 2002 Squares
给你1000个点,让你在这些点中,找到4个点,使其成为一个正方形的顶点。问有多少对这种点。选两个点,看剩下的两个点是否是给出来的,用hash过之,我用的map,差不多。#include #include #include #include #include using namespace std;map mp;long long cnt;struct point{原创 2012-11-21 13:10:37 · 399 阅读 · 0 评论 -
POJ 3274 Gold Balance Lineup
抽象一下,此题给你10W个数,让你求一个[i,j],使得a[i]到a[j]的数的二进制每一位上的1出现的次数相等,并使j-i+1最大。解法: 我们把每个数化为二进制把每一位对应地保存在一个长为k的数组l,l[i][j]的值就表示第i个数的第j位是1还是0。 令p[i][j]表示把前i项的第j位累加起来的值,即p[i][j]=l[i][j]+l[i-1][j]+...原创 2012-11-19 19:46:23 · 704 阅读 · 0 评论 -
POJ 3349 Snowflake Snow Snowflakes
本题有各种各样的hash方法。本菜用的是“把6个数加起来,mod 100001,如果有冲突就放进链表,方便以后比较”。注意:mod的数最好是一个质数,为什么呢? 看对话本菜 2012-11-17 10:11:09为什么那些hash求key的时候,都要mod一个大质数唉?aikilis大神 2012-11-17 10:11:31你mod其他数也行 ai原创 2012-11-17 10:20:28 · 467 阅读 · 0 评论 -
POJ 2299 Ultra-QuickSort
求快排的交换次数,也就是逆序数写个归并排序来算就ok了,注意逆序数会超int#include #include #include #include using namespace std;long long a[500100],b[500100];long long MergeSort(long long s,long long e){ long lo原创 2012-11-17 02:45:06 · 459 阅读 · 0 评论 -
【博客搬家】本博客已全面停止更新,新博客地址 plusplus7.com
新博客地址:http://www.plusplus7.com原创 2013-11-23 21:24:40 · 1414 阅读 · 0 评论