找最小的k個數(優先佇列)
kkun的一道簡單簽到題
釋出時間: 2017年6月11日 17:59 最後更新: 2017年6月11日 18:10 時間限制: 2000ms 記憶體限制: 512M
描述
青大最優雅的程式設計師kkun一直友好(?)的致力於為學妹們出一道做法優雅而且非常簡單的題。
例如著名的“一道非常簡單的爐石題”,“一道非常簡單的簽到題”,“一道非常簡單的數學題”,“一道非常簡單的平衡樹套替罪羊樹套喜羊羊樹套聖誕樹套動態仙人掌”,“一道非常簡單的簽到題”(這個人是真的優雅,比那個菜凡不知道高到哪裡去了!)
這次也不例外,他想從no cer那裡拿到n個數,並找到其中最小的k個數。
但是no cer只是扔給了他一個公式:val[i]=k^(i+1)%1000000007(1<=i<=n),並讓他自己一邊玩去。
kkun頓時覺得這個問題變得索然無味,所以他讓你來解決這個問題。
最終從大到小輸出最小的k個數。
輸入
第一行一個整數t代表資料組數
每組資料中
第一行兩個整數n,k
n<=1e7
k<=1e4
k<=n
輸出
從大到小輸出k個數,每組資料佔一行
樣例輸入1 複製
1
3 2
樣例輸出1
8 4
沒看這題。= =一個優先佇列
#include <bits/stdc++.h>
using namespace std;
const int N = 1e7+100;
typedef long long ll;
ll a[N];
const int mod = 1e9+7;
int main()
{
int t;
scanf("%d",&t);
while(t--)
{
int n,m;
scanf("%d%d",&n,&m);
priority_queue<int> Q;
a[0]=m;
for(int i=1;i<=n;i++)
{
a[i]=a[i-1]*m%mod;
if(i<=m)
Q.push(a[i]);
}
for(int i=m+1;i<=n;i++)
{
int top=Q.top();
if(a[i]<top)
{
Q.pop();
Q.push(a[i]);
}
}
printf("%d",Q.top() );
Q.pop();
for(int i=1;i<m;i++)
{
printf(" %d",Q.top() );
Q.pop();
}
printf("\n");
}
}
相關文章
- NO GAME NO LIFE(優先佇列/最小堆)GAM佇列
- STL優先佇列最小堆最大堆佇列
- MaxHeap 最大堆 MinHeap 最小堆 PriorityQueue 優先佇列實現佇列
- PHP優先佇列PHP佇列
- 8.13(優先佇列貪心維護+打表找規律+對頂堆優先佇列+DFS減枝+貪心dp)佇列
- STL 優先佇列 用法佇列
- 淺談優先佇列佇列
- 堆與優先佇列佇列
- 優先佇列的比較器佇列
- 找到無序陣列中最小的k個數陣列
- 優先佇列和堆排序佇列排序
- leetcode621——優先佇列的思路LeetCode佇列
- 01揹包優先佇列優化佇列優化
- 佇列 優先順序佇列 python 程式碼實現佇列Python
- 棧,佇列,優先順序佇列簡單介面使用佇列
- 求最小k個數
- 封裝優先順序佇列封裝佇列
- 個推基於 Apache Pulsar 的優先順序佇列方案Apache佇列
- 三、資料結構演算法-棧、佇列、優先佇列、雙端佇列資料結構演算法佇列
- 堆、堆排序和優先佇列的那些事排序佇列
- Facebook的分散式優先順序佇列FOQS分散式佇列
- JZ-029-最小的 K 個數
- 演算法面試(三) 優先佇列演算法面試佇列
- 二叉堆實現優先佇列佇列
- 手擼優先佇列——二叉堆佇列
- C++ STL 優先佇列 (priority_queue)C++佇列
- .NET 6 優先佇列 PriorityQueue 實現分析佇列
- Java優先順序佇列DelayedWorkQueue原理分析Java佇列
- 每日一練(21):最小的k個數
- codeforces round 974(div.3)E(優先佇列實現dijstra演算法,devc++的優先佇列用greater報錯)佇列JS演算法devC++
- 最詳細版圖解優先佇列(堆)圖解佇列
- 【堆】【優先佇列】[NOIP2004]合併果子佇列
- 牛客網 複數集合(小根堆的優先佇列、北郵機試)佇列
- 【Dijkstra演算法】未優化版+優先佇列優化版演算法優化佇列
- 劍指Offer-31-最小的K個數
- CodeForces - 960B:Minimize the error(優先佇列+貪心)Error佇列
- Sunscreen POJ - 3614(防曬油) 貪心-優先佇列佇列
- [USACO 2009 Feb Gold] Fair Shuttle (貪心+優先佇列)GoAI佇列
- Python 列表推導及優先順序佇列的實現Python佇列