题目传送门:http://acm.hdu.edu.cn/showproblem.php?pid=6438 Buy and Resell Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)To ...
分类:
其他好文 时间:
2018-08-26 19:37:27
阅读次数:
200
#include<bits/stdc++.h>using namespace std;priority_queue<pair<int,int>>q;int main(){ int t; int n; scanf("%d",&t); while(t--) { while(!q.empty()) q.p ...
分类:
其他好文 时间:
2018-08-26 11:47:33
阅读次数:
348
算法描述:许多应用程序都需要按照顺序处理任务,但是不一定要求他们全部有序,或是不一定要一次就将他们排序。很多情况下我们只需要处理当前最紧急或拥有最高优先级的任务就可以了。面对这样的需求,优先队列算法是一个不错的选择。 算法图示: 算法解释:上图所展示的是最大优先队列(大顶堆)的算法逻辑,在这个标准的 ...
分类:
其他好文 时间:
2018-08-25 22:57:13
阅读次数:
239
题意:给N个点M条边,判断是否构成有环图,若无,输出字典序最小的拓扑序列思路:拓扑排序+优先队列 //By DXY 2018.04.26 //按字典序就用优先队列即可 //拓扑排序+优先队列 #include<iostream> #include<cmath> #include<cstdio> #i ...
分类:
其他好文 时间:
2018-08-25 15:34:29
阅读次数:
110
第一想法是建立一个足够大的bool数组,i遍历,如果nums[i]是ugly num,那么 2*nums[i] 3*nums[i] 5*nums[i] 一定也是 ugly num。最后遍历一遍找到第n个,但是这样空间会超,不行。 继续这个思路,可以利用一个优先队列,重复元素直接过掉,可以AC。但是时 ...
分类:
其他好文 时间:
2018-08-25 14:15:48
阅读次数:
124
1 #include 2 #include 3 #include 4 using namespace std; 5 6 struct cmp { 7 bool operator ()(int &a, int &b) { 8 return a > b;//从小到大 9 } 10 }; 11 12 in... ...
分类:
其他好文 时间:
2018-08-24 17:28:29
阅读次数:
178
有n个数字,你需要把这n个数字合成一个数字,每次只能把k个数字合并成一个,花费为这k个数字的和。 给一个最大花费,问不超过这个最大花费的情况下,k的最小值。 这个题很容易想到二分答案+优先队列check 然而这样复杂度是 O(n logn*logn ),会TLE(这特么都会TLE?加个读入优化就过了 ...
分类:
其他好文 时间:
2018-08-24 17:22:56
阅读次数:
290
堆(优先队列)priority queue特殊的队列,取出元素的顺序是依照元素的优先权(关键字)大小,而出元素进入队列的先后顺序操作:查找最大值(最小值),删除(最大值) 数组:链表:有序数组:有序链表: 采用二叉搜索树? NO 采用完全二叉树 YES堆的连个特性结构性:用数组表示的完全二叉树:有序 ...
分类:
其他好文 时间:
2018-08-24 00:36:36
阅读次数:
528
1.贪心 k个点,进行k次分配,每次选取最稀疏的区间,更新该区间的稀疏度,并用优先队列优化。 时间复杂度为O(klogn) 1 //贪心 时间复杂度为klogn 2 #include <cmath> 3 #include <queue> 4 #include <cstdio> 5 using nam ...
分类:
其他好文 时间:
2018-08-20 14:28:44
阅读次数:
145
"来源poj2970" A new web design studio, called SMART (Simply Masters of ART), employs two people. The first one is a web designer and an executive direct ...
分类:
其他好文 时间:
2018-08-19 21:50:01
阅读次数:
196