有m∈[0,49]類商品,每類商品有n∈[0,30000]個物品.
初始時,給出第i有三種操作:
其中總操作個數opnum
<=100000,查詢個數opask
<=100
求每次查詢時每類商品選出的商品編號:
考點:問題需求理解能力(倒不如說出題人的表達能力)、stl的熟練應用、時間複雜度的分析、問題建模能力。
題目未描述的部分:
#pragma gcc optimize(2)
#include#include#include#include#include#define debug
#ifdef debug
#include#include#endif
using namespace std;
int main()
cin>>op;//增刪查操作
for(int i=0,k,kind,type,commodity,score,k[51];i>kind;
switch(kind)
break;
case 3://查詢
cin>>k;//查詢總個數k
for(int j=0;j>k[j];//輸入每類不得超過的最大查詢數
sets[51];//儲存所有類查詢到的商品編號
for(auto it=f.rbegin();it!=f.rend()&&k>0;++it)
}for(int j=0;j#include#include#include#include#include#include#include#include#include#include#include#includeusing namespace std;
void output190904()
else
--i;
break;
} }cout<<3<<" "
201909 4 csp推薦系統
這道題其實就是簡單的模擬題,難點在於如何設計表,如何提高效率。如果單純使用vector在資料量比較大的情況下會出現超時。我在做題的時候考慮過使用vector來解題,會出現超時的情況,因為插入和刪除操作會導致vector內位置移動,會有大量操作。這一題可以使用set來解題,首先set的底層實際上是 乙...
CCF認證201909 4推薦系統
我的個人部落格 原題鏈結 ccf認證201909 4推薦系統 解題思路 錯誤思路 理解清楚題意再做題,這是前提啊。剛開始讀題的時候不明白下面這句話的意思。剛開始我的理解是。每個商品按分數從高到低選出ki個商品。我用vector set data m 存放商品的學校。其中data i 對應i類商品的所...
CSP 201909 4 推薦系統
題目描述 題意解讀 新增某類商品 刪除某類商品中的乙個 查詢商品 思路分析 滿分 include include include include include using namespace std typedef struct product 重定義 操作符,這決定了set的自動排序 bool ...