摘要: POJ 3083 dfs+bfs+模拟Children of the Candy CornTime Limit:1000MSMemory Limit:65536KTotal Submissions:10564Accepted:4539DescriptionThe cornfield maze is... 阅读全文
posted @ 2015-03-11 23:18 __560 阅读(310) 评论(0) 推荐(0) 编辑
摘要: POJ 2513 Colored Sticks欧拉回路判定,并查集,trie树Time Limit:5000MSMemory Limit:128000KTotal Submissions:31621Accepted:8370DescriptionYou are given a bunch of w... 阅读全文
posted @ 2015-03-11 20:21 __560 阅读(357) 评论(0) 推荐(0) 编辑
摘要: = = 阅读全文
posted @ 2015-03-11 17:59 __560 阅读(175) 评论(1) 推荐(0) 编辑
摘要: 最大流增广路算法Edmonds_Karp算法:通过bfs从零流开始不断寻找增广路,当无法在增广时,此时流为最大流/* Edmonds_Karp算法 */int cap[maxn][maxn],flow[maxn][maxn]; //cap容量,flow流量,相减得残量int Edmonds_Kar... 阅读全文
posted @ 2015-03-11 16:28 __560 阅读(224) 评论(0) 推荐(0) 编辑
摘要: 字典树trie又称单词查找树,trie树,是一种树形结构,是一种哈希树的变种。典型应用是用于统计,排序和保存大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计。它的优点是:利用字符串的公共前缀来减少查询时间,最大限度地减少无谓的字符串比较,查询效率比哈希表高。(这段来自百度百科... 阅读全文
posted @ 2015-03-11 16:20 __560 阅读(246) 评论(0) 推荐(0) 编辑
摘要: 哈希技术哈希技术应用广泛,可用于判重,存取,查询,降低时间复杂度;哈希可用STL中的set代替哈希可用STL中的setset ss;ss.insert(t); //插入if(ss.find(a)!=ss.end())... //找到ss.clear(); //清空STL_set哈希模版const i... 阅读全文
posted @ 2015-03-11 16:13 __560 阅读(318) 评论(0) 推荐(0) 编辑
摘要: 哈夫曼树——贪心哈夫曼树:给定n个权值作为n的叶子结点,构造一棵二叉树,若带权路径长度达到最小,称这样的二叉树为最优二叉树,也称为哈夫曼树(Huffman tree)。哈夫曼树是带权路径长度 最短的树,权值较大的结点离根较近。此类题目一般求算哈夫曼树路径总值,利用贪心选择性质每次从队... 阅读全文
posted @ 2015-03-11 16:06 __560 阅读(1073) 评论(0) 推荐(0) 编辑
摘要: 归并排序——计算逆序数归并排序用了分治的思想,时间复杂度o(N*logN)动态内存的运用可减小空间开销; 归并排序还可用于计算逆序数; 逆序数:序列中位置和大小相反的一对数字; 逆序数=冒泡排序中相邻两个数字交换的次数;int a[maxn],n;long long ans; //... 阅读全文
posted @ 2015-03-11 15:58 __560 阅读(531) 评论(0) 推荐(0) 编辑
摘要: 二分图的匈牙利算法 二分图的难点主要在建图; 关于二分图的几个重要公式: 最大匹配数=最小点覆盖 最小边覆盖=顶点总数-最大匹配数/2 (这个要拆点:uN=vN=cnt,ans=cnt-hungary/2) 最大团=补图最大独立集 最大独立集=顶点数-最大匹配 匈牙利算法: 顶点编号 u= 1~uN 阅读全文
posted @ 2015-03-11 15:49 __560 阅读(243) 评论(0) 推荐(0) 编辑
摘要: 拓扑排序拓扑排序主要有无前驱,无后继和dfs三种方法; 若只需判断是否为拓扑序列(DAG),可用上述拓扑排序看是否排序成功,也可用floyd传递闭包;无前驱的拓扑排序法:/* 无前驱的拓扑排序法 */bool toposort(){ queue q; while(!ans.empty()... 阅读全文
posted @ 2015-03-11 15:39 __560 阅读(252) 评论(0) 推荐(0) 编辑
摘要: 读入外挂当题目坑到连scanf都TLE的时候可试试读入外挂---inline int getint() //inline为内联函数,目的是预处理,可减少时间{ char c=getchar(); while(c!='-'&&!isdigit(c)) c=getchar(); int... 阅读全文
posted @ 2015-03-11 15:25 __560 阅读(324) 评论(0) 推荐(0) 编辑
摘要: 最小生成树最小生成树即用最少的边权将所有给定的点连在同一联通分量中,常用kruskal和prim算法kruskal算法(适合稀疏图)最小生成树的kruskal算法,稍带并查集的应用int find(int x){ return fa[x]==x?x:fa[x]=find(fa[x]); //不... 阅读全文
posted @ 2015-03-11 15:18 __560 阅读(478) 评论(0) 推荐(0) 编辑
摘要: 最短路算法dijkstra(初级的最短路算法,适合稠密图,可用邻接表优化)bool relax(int u,int v){ double tmp=max(dist[u],edge[u][v]); if(tmpv=v;p->w=w; p->next=pre->next; pre... 阅读全文
posted @ 2015-03-11 15:11 __560 阅读(406) 评论(0) 推荐(0) 编辑