#include <iostream>
#include <list>
#include <set>
#include <vector>
using namespace std;
int m, n;
int opask = ;
class node {
public:
int idm;
long long id;
long long score;
node(int c, int a, int b) :idm(c), id(a), score(b) {}
};
class cmp {
public:
bool operator()(node a, node b)
{
if (a.score == b.score)
{
if (a.idm == b.idm)
{
return a.id < b.id;
}
return a.idm < b.idm;
}
return a.score > b.score;
}
}; int main()
{
cin >> m >> n;
set<node,cmp> li;
set <int> del[];
//set<int> st[5005];
vector<int> st[];
for (int i = ; i < n; i++)
{
int id, score;
cin >> id >> score;
for (int j = ; j < m; j++)
li.insert(node(j, id, score));
}
int opnum;
cin >> opnum;
for (int i = ; i < opnum; i++)
{
int flag;
cin >> flag;
if (flag == )
{
int type, commodityid, score;
cin >> type >> commodityid >> score;
li.insert(node(type, commodityid, score));
}
else if (flag == )
{
int type, commodityid;
cin >> type >> commodityid;
del[type].insert(commodityid);
}
else if (flag == )
{
int k[];
for (int i = ; i <= m; i++)
cin >> k[i];
int sum = ;
int max[] = { };
for (auto i : li)
{
if (max[i.idm] < k[i.idm + ] && sum < k[] && del[i.idm].find(i.id) == del[i.idm].end())
{
//st[opask*m + i.idm].insert(i.id);
st[opask*m + i.idm].push_back(i.id);
sum++;
max[i.idm]++;
}
if (sum >= k[])
break;
}
opask++;
}
} for (int i = ; i < opask*m; i++)
{
if (st[i].empty())
cout << "-1" << endl;
else
{
for (auto it : st[i])
cout << it << " ";
cout << endl;
}
}
return ;
} 起先用链表来存取商品信息,提交后发现时间超了,应该是查询商品时太慢,所以采用set来存取商品信息来提交,但提交后发现只得60分,原因如其他博客所说,应该是后台的数据有问题
,所以输出时不用对他的商品id进行排序就可,刚开始我是把信息存到set里直接就是排好序的,后来就直接有vector来存取,就可以了,注释的就是排序的结果,

CCF认证201909-4推荐系统的更多相关文章

  1. CCF认证历年试题

    CCF认证历年试题 不加索引整理会死星人orz 第一题: CCF201712-1 最小差值(100分) CCF201709-1 打酱油(100分) CCF201703-1 分蛋糕(100分) CCF2 ...

  2. 小明种苹果(续)第十七次CCF认证

    小明种苹果(续)第十七次CCF认证 题目 原题链接 ](http://118.190.20.162/view.page?gpid=T93) 很高心,在现在CCF CSP可以下载自己当时的答卷了,也就是 ...

  3. CCF认证(1)

    #include <iostream> #include <windows.h> using namespace std; typedef struct letter{ int ...

  4. CCF 认证4

    题意:求强联通分量 Tarjan算法 #include<iostream> #include<stdio.h> #include<stdlib.h> #includ ...

  5. CCF 认证

    题意:字符串替换 string+map的应用 #include<iostream> #include<stdio.h> #include<stdlib.h> #in ...

  6. CCF认证考试——折点计数

    描述:简单题 #include<iostream> using namespace std; int main() { ], n, count = ; cin >> n; ; ...

  7. CCF认证之——相反数

    这道题目非常简单! #include<iostream> using namespace std; int main() { ],n,count=; cin >> n; ; i ...

  8. ccf认证 201709-4 通信网络 java实现

    试题编号:                                                               201709-4 试题名称: 通信网络 时间限制: 1.0s 内 ...

  9. ccf认证模拟题之三---最大的矩形

    问题描述 在横轴上放了n个相邻的矩形,每个矩形的宽度是1,而第i(1 ≤ i ≤ n)个矩形的高度是hi.这n个矩形构成了一个直方图.例如,下图中六个矩形的高度就分别是3, 1, 6, 5, 2, 3 ...

随机推荐

  1. 南京邮电大学网络攻防平台(NCTF)-MD5-Writeup

    南京邮电大学网络攻防平台-MD5-Writeup 题干如下: 分析: 遍历 TASC?O3RJMV?WDJKX?ZM(?替换为其他),找到md5为e9032???da???08????911513?0 ...

  2. redis-server.exe redis.windows.conf 报错

    在参考博文:https://blog.csdn.net/erlian1992/article/details/54382443#comments 学习redis的时候启动报错 C:\Users\Adm ...

  3. C语言中二维数组如何申请动态分配内存

    C语言中二维数组如何申请动态分配内存: 使用malloc函数,先分配第一维的大小,然后再循环分配每一维的大小 #include <stdio.h> #include <malloc. ...

  4. jmeter 进行websocket数据帧过大导致code 1009

    Response message: Received: Close frame with status code 1009 and close reason 'No async message sup ...

  5. CSS3的一个伪类选择器:nth-child()

    CSS3的一个伪类选择器“:nth-child()”. Table表格奇偶数行定义样式: 语法: :nth-child(an+b) 为什么选择她,因为我认为,这个选择器是最多学问的一个了.很可惜,据我 ...

  6. Servlt入门

    Servlt入门 java的两种体系结构 C/S (客户端/服务器)体系结构  通讯效率高且安全,但系统占用多 B/S (浏览器/服务器)体系结构    节约开发成本 C/S (客户端/服务器)体系结 ...

  7. Linux02——解压和压缩

    压缩文件①(tar)(zip) tar -zcvf (压缩名字).tar.gz (要压缩的内容,中间可用空格表示) -c 创建一个新归档 -v 显示详细信息 -f 指定压缩后的文件名 -z 通过gzi ...

  8. 封装ajax库,post请求

    http状态码406是服务器无法根据客户端请求的内容特性完成请求 //整站功能方法库封装ajax请求,这里只针对post var methods = { //全站ajax请求状态处理 ajax: fu ...

  9. 疫情下的在线上课方案:QQ直播+蓝墨云班课

    目录 疫情下的在线上课方案:QQ群视频(腾讯课堂)+蓝墨云班课 使用QQ进行直播 材料 QQ直播步骤 其他问题 使用蓝墨云班课加强学习效果 教材问题 我的直播-小学生硬笔书法基础 我的直播 - C程序 ...

  10. C++基础之迭代器iterator

    C++基础之迭代器iterator 我们已经知道可以使用下标运算符来访问string对象的字符或vector对象的元素,还有另一种更通用的机制也可以实现同样的目的,这就是迭代器(iterator). ...