摘要: 在优先队列中,优先级高的元素先出队列。标准库默认使用元素类型的<操作符来确定它们之间的优先级关系。优先队列的第一种用法,也是最常用的用法:priority_queue<int> qi;通过<操作符可知在整数中元素大的优先级高。故示例1中输出结果为:9 6 5 3 2第二种方法:在示例1中,如果我们要把元素从小到大输出怎么办呢?这时我们可以传入一个比较函数,使用functional.h函数对象作为比较函数。priority_queue<int, vector<int>, greater<int> >qi2;其中第二个参数为容器类型。第二 阅读全文
posted @ 2012-07-22 19:40 AbandonZHANG 阅读(279) 评论(0) 推荐(0)
摘要: 转自:http://www.cnblogs.com/pony1993/题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4006题意很简单,求第k大的数。用优先队列,输入的时候,队首元素是最小的,每输入一个元素,队列掺毒是否大于 K,若大于k,删除队首元素,这样队首元素永远是第k大的数。#include <iostream>#include <cstdio>#include <queue>#include <vector>#include <algorithm>using namespace 阅读全文
posted @ 2012-07-22 18:54 AbandonZHANG 阅读(225) 评论(0) 推荐(0)
摘要: 过几天就开始去学校集训,大二就算开始了吧?那也该为大一做做总结了。 这也许是我每次写它时的惯用开头吧? ACM是一种信仰;是兴趣,是梦想。 ------All of the ACMers 那天DIY群里在讨论,有人问那些大神ACM是为了拿奖&保研么?我看到了一致的回答:这里的大牛们有哪个是为了保研拿奖?就像FDU的HL和UESTC的Izayoi,在大一就已经拿到了区域赛金牌,又是什么让他们现在还在废寝忘食的学习、做题?是兴趣,是那句“因为我喜欢AC”。 正题:大一总结 直到今天,我才有勇气写下这篇该痛骂自己的总结,成功不是耍嘴皮子,不经历刮骨般的磨难,何谈成功? 很荣幸,... 阅读全文
posted @ 2012-07-22 01:37 AbandonZHANG 阅读(491) 评论(0) 推荐(0)
摘要: 距离ACM/ICPC的时间越来越少了,选择性地看一些集训队论文是很有必要的。(在此给已经看过所有论文的神牛跪了= =)所以,我在此整理了一下,供大家参考。组合数学计数与统计2001 - 符文杰:《Pólya原理及其应用》2003 - 许智磊:《浅谈补集转化思想在统计问题中的应用》2007 - 周冬:《生成树的计数及其应用》2008 - 陈瑜希《Pólya计数法的应用》数位问题2009 - 高逸涵《数位计数问题解法研究》2009 - 刘聪《浅谈数位类统计问题》动态统计2004 - 薛矛:《解决动态统计问题的两把利刃》2007 - 余江伟:《如何解决动态统计问题》博弈2002 阅读全文
posted @ 2012-07-21 01:08 AbandonZHANG 阅读(5327) 评论(0) 推荐(9)
摘要: 描述在成功地发明了魔方之后,拉比克先生发明了它的二维版本,称作魔板。这是一张有8个大小相同的格子的魔板:1 2 3 4 8 7 6 5 我们知道魔板的每一个方格都有一种颜色。这8种颜色用前8个正整数来表示。可以用颜色的序列来表示一种魔板状态,规定从魔板的左上角开始,沿顺时针方向依次取出整数,构成一个颜色序列。对于上图的魔板状态,我们用序列(1,2,3,4,5,6,7,8)来表示。这是基本状态。这里提供三种基本操作,分别用大写字母“A”,“B”,“C”来表示(可以通过这些操作改变魔板的状态):“A”:交换上下两行; “B”:将最右边的一列插入最左边; “C”:魔板中央作顺时针旋... 阅读全文
posted @ 2012-07-21 00:49 AbandonZHANG 阅读(633) 评论(0) 推荐(0)
摘要: 把一个整数X展开成如下形式X=a【n】*n!+a【n-1】*(n-1)!+...+a【2】*2!+a【1】*1!其中,a为整数,并且0<=a<i,i=1,2,..,n 这就是康托展开。 康托展开就是一个全排列到一个整数的双射,就是一种特殊的哈希函数,经常用来做可以用全排列表示状态的搜索的哈希函数(8数码,魔板等问题)。 康托展开的公式是 X=an*(n-1)!+an-1*(n-2)!+...+ai*(i-1)!+...+a2*1!+a1*0! 其中,ai为当前未出现的元素中是排在第几个(从0开始)。 这个公式可能看着让人头大,最好举个例子来说明一下。例如,有一个数组 s =... 阅读全文
posted @ 2012-07-20 22:22 AbandonZHANG 阅读(372) 评论(0) 推荐(0)
摘要: 距离ACM/ICPC的时间越来越少了,选择性地看一些集训队论文是很有必要的。(在此给已经看过所有论文的神牛跪了= =)所以,我在此整理了一下,供大家参考。组合数学计数与统计2001 - 符文杰:《Pólya原理及其应用》2003 - 许智磊:《浅谈补集转化思想在统计问题中的应用》2007 - 周冬:... 阅读全文
posted @ 2012-07-20 17:08 AbandonZHANG 阅读(124) 评论(0) 推荐(0)
摘要: 距离ACM/ICPC的时间越来越少了,选择性地看一些集训队论文是很有必要的。(在此给已经看过所有论文的神牛跪了= =)所以,我在此整理了一下,供大家参考。组合数学计数与统计2001 - 符文杰:《Pólya原理及其应用》2003 - 许智磊:《浅谈补集转化思想在统计问题中的应用》2007 - 周冬:... 阅读全文
posted @ 2012-07-20 17:08 AbandonZHANG 阅读(137) 评论(0) 推荐(0)
摘要: OI / ACM 知识归纳 修订:AbandonZHANG学习内容(不是很好区分难度,详见练习题):0.windos及linux基本的系统命令以及对拍方法。1.基础知识(待扩展,但觉得只要做USACO就可以掌握)2.搜索-N重循环-BFS=双向=判重+HASH(尤其是字符串HASH)+分段HASH+各种数据结构判重(Tire树、平衡树等)=A*-DFS=最优化剪枝 =可行性剪枝 =记忆化搜索-ID-DFS-ID-A*-DLX-近似算法及其他=模拟退火=遗传算法=随机调整=随机贪心3.DP(主要是自己做题总结,感悟+数学能力) -线性DP =一维线性DP =二维线性DP... 阅读全文
posted @ 2012-07-19 20:58 AbandonZHANG 阅读(1041) 评论(1) 推荐(0)
摘要: 描述在生物学中,一些生物的结构是用包含其要素的大写字母序列来表示的。生物学家对于把长的序列分解成较短的序列(即元素)很感兴趣。如果一个集合 P 中的元素可以通过串联(元素可以重复使用,相当于 Pascal 中的 “+” 运算符)组成一个序列 S ,那么我们认为序列 S 可以分解为 P 中的元素。元素不一定要全部出现(如下例中BBC就没有出现)。举个例子,序列 ABABACABAAB 可以分解为下面集合中的元素:{A, AB, BA, CA, BBC}序列 S 的前面 K 个字符称作 S 中长度为 K 的前缀。设计一个程序,输入一个元素集合以及一个大写字母序列 S ,设S'是序列S的最长 阅读全文
posted @ 2012-07-19 01:22 AbandonZHANG 阅读(1082) 评论(0) 推荐(0)