USACO 3.1 Humble Numbers丑数_优先队列
2016-12-08 20:54
513 查看
题目大意
找出自然数中因子含有a[i]的第m小的数思路
用优先队列直接求解,每次往堆里面塞top∗a[1],top∗a[2]……然后删掉堆顶,但会蜜汁爆内存。。。时间复杂度很玄学,不会算。。。
大神指点
O(NKlogN)
#include <stdio.h> #include <queue> using namespace std; priority_queue<long long,vector<long long& cb87 gt;,greater<long long> > heap; long long a[10000],f[10000]; int main() { long long m,n; scanf("%I64d%I64d",&m,&n); for (int i=1;i<=m;i++) { scanf("%I64d",&a[i]); } heap.push(1); long long t=0; while (t<=n) { int x=heap.top(); if (f[t]<x) { t++; f[t]=x; } heap.pop(); for (int j=1;j<=m;j++) heap.push(x*a[j]); } printf("%I64d\n",f[n+1]); }
相关文章推荐
- USACO 3.1 Humble Numbers丑数
- USACO 3.1 Humble Numbers丑数
- USACO : Humble Numbers (丑数)
- USACO-Section 3.1 Humble Numbers(DP)
- USACO Section 3.1 Humble Numbers
- USACO 3.1 Humble Numbers (humble)
- usaco 3.1 Humble Numbers
- USACO 3.1 Humble Numbers
- usaco 3.1 Humble Numbers
- USACO section3.1 Humble Numbers题解&代码
- USACO3.1Humble Numbers[...]
- USACO 3.1 Humble Numbers
- USACO-Section 3.1-PROB Humble Numbers
- 【USACO题库】3.1.3 Humble Numbers丑数
- 【USACO 3.1】Humble Numbers(给定质因子组成的第n大的数)
- USACO 3.1 Humble Numbers
- USACOTrainning.Section 3.1.Humble Numbers
- 1278. 【USACO题库】3.1.3 Humble Numbers丑数
- USACO 3.1 humble numbers
- 【USACO题库】3.1.3 Humble Numbers丑数