![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
z451538473
这个作者很懒,什么都没留下…
展开
-
poj 1195 Mobile phones(树状数组)
刚接触树状数组,感觉是个很简练的数据结构,虽然我还没怎么明白它的原理。本来想用浙大模版里的树状数组,不过看半天不知道代码什么意思,而且求和的时候坐标向后错了一位,只能在网上找一个了,速度比浙大模版要快一点,不过浙大模版的简练程度让我真心佩服…… #include #include #include using namespace std; #define lowbit(x) ((x)&(-原创 2012-08-20 21:30:45 · 310 阅读 · 0 评论 -
POJ 1455 Crazy tea party
这题一开始没看明白题意,不知道测试数据怎么算出来的,又去找题解。要在最短的时间内实现两两逆序,设从一个人开始的序列是1 2 3 4 5,那么因为这是一个环就等价与把4 5 1 2 3两两逆序。一开始还没明白这样做有什么好处,后来才明白一开始的逆序数要尽可能的大才能使操作时间最短,因为已经逆序的数就不需要再进行交换了,观察发现1在中间时逆序数是最大的,这样就把这个串切成了两段,然后进行冒泡排序的时间原创 2012-08-21 01:50:39 · 440 阅读 · 0 评论 -
POJ 2823 Sliding Window(单调队列)
今天突然想搞一下单调队列,就去做了一下这道入门题,一个很简单的单调队列,之前看网上的代码都挺纠结的,还有各种用字符形式读入的(orz),写完以后还以为会超时,没想到一下就AC了,看来写的还不是太挫,跑了5s多跑过去了。单调队列是用来维护连续区间内最值的一种和方便的数据结构,编程复杂度也很低。单调队列的操作只有两个入队和出队。入队的时候把当前元素从最后一个元素向前比较,直到找到一个加入到该位置满足单原创 2012-08-25 01:27:14 · 377 阅读 · 0 评论 -
POJ 1521 Entropy(哈夫曼编码)
这道题题意挺长的,其实就是哈夫曼编码和普通8位编码对内存占用情况的比较。使用哈夫曼编码就是让出现频率高的字母占用的内存尽可能的少,就是一个贪心的思想。貌似之前还没有做过哈夫曼树相关的题目,一开始的想法出了一些问题,没有想清楚哈夫曼树的实现,以为不建树也能直接求出来,不过看来是不行的……这样的话求解思路就很简单了:先统计所有字符出现的次数,根据出现次数建立哈夫曼树,每次贪心的取出两个最小的节点合并成原创 2012-08-27 21:11:36 · 772 阅读 · 0 评论