数据结构
zhengnanlee
这个作者很懒,什么都没留下…
展开
-
poj2524
说来惭愧啊。。现在才会并查集。我竟然给我妈妈讲明白并查集怎么回事了- -#define _CRT_SECURE_NO_WARNINGS#include using namespace std;#define maxx 50010int set[maxx];int find(int x) { return x == set[x] ? x : (set[x] = fin原创 2013-08-05 23:21:07 · 2133 阅读 · 4 评论 -
poj1611
为什么这么简单的题我竟然空下了!!!呃呃呃呃呃呃呃!#include using namespace std;int n, m, k, t, f, p[30001], rank[30001], a, b;int find(int x) { if (x == p[x]) return x; else return p[x] = find(p[x]);}void un(int原创 2014-01-23 15:35:57 · 2399 阅读 · 0 评论 -
poj1936
挨个儿对着比就行,暴力。#include #include using namespace std;int main(){ string a, b; while (cin>>a>>b) { unsigned long i, j, len1, len2; len1 = a.length(); len2 = b.lengt原创 2014-01-16 09:18:32 · 1390 阅读 · 0 评论 -
poj1007
结构体二级排序,准则是其逆序数,按照题意来即可,么有压力。#include #include #include using namespace std;struct dna{ int num; string s;}DNA[105];int inversionNum(string s){ int ans = 0; int A, C, G;原创 2014-01-16 08:50:03 · 2445 阅读 · 0 评论 -
poj2418
秒过!一是以前做过,二是这题用map又水了。。唉~#include #include #include #include using namespace std;int main(){ ios::sync_with_stdio(false); mapint> a; string name; int c原创 2013-12-13 16:33:45 · 1515 阅读 · 1 评论 -
poj1442
竟然卡输入??!!有意思么~用堆做不好玩,换了个multiset玩玩,最好还是优先队列哦~PS,这种能用stl解决的数据结构题其实没大有意思。。#include #include #include using namespace std;#define MAXN 30010int num[MAXN];multisetint>原创 2013-12-13 16:27:37 · 1415 阅读 · 0 评论 -
poj2503
扫扫尾,今天把初级的数据结构都完成了它,进军中级图论,算法导论看得很爽!这题没啥好说的,map搞定#include #include #include #include using namespace std;int main(){ string s, a, b; mapbool> apperance; m原创 2013-12-13 15:52:17 · 1658 阅读 · 6 评论 -
poj2442
基本的堆的应用,STL中heap即可搞定。最近手速快了好多啊~#include#includeusing namespace std;#define MAXN 2008int a[MAXN], b[MAXN], sum[MAXN];int main(){ int t; cin >> t; while (t--)原创 2013-12-13 16:02:37 · 1207 阅读 · 0 评论 -
poj2299
求一下逆序数,因为冒泡交换的准则是大于或者小于,逆序数累加的准则同样也是。#includeusing namespace std;long long cnt;void merge(int array[], int left, int mid, int right){ int* temp = new int[right - left原创 2013-12-01 00:43:42 · 1383 阅读 · 0 评论 -
poj3253
水题赚访问量之第二篇~Huffman编码,优先队列使用。#include #include #include #include using namespace std;int main(){ int n; while (cin >> n) { priority_queue long lon原创 2013-11-24 20:33:45 · 954 阅读 · 0 评论 -
poj1035
字符串,水题,1A。话说我逃课了额。。#include #include using namespace std;string dic[10005];string word[55];bool change(string word, string dic){ int countt = 0; for (int i = 0;原创 2013-11-23 09:57:10 · 1041 阅读 · 0 评论 -
UVa11462
http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=2457注意后台数据25m,内存不超2m,所以全输入进不去。计数排序,用于已知数据大小(需要排序的数)的序列的排序。思想是,出现一次,对应数组的值就加一,然后输出的时候,输出对应数组的值,循环输原创 2013-05-11 21:38:51 · 910 阅读 · 0 评论 -
poj3080
字符串的题嘛,水的很,STL解决!很方便。ps,npos比跟.size()比好得多,不必考虑边界问题。这代码效率很低,n^3的#include #include #define MAXN 60using namespace std;int main(){ int t; cin>>t; while(t--) { int n;原创 2014-01-16 09:01:13 · 1300 阅读 · 0 评论