#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. 【做题笔记】P1531 I Hate It

    线段树裸题. 需要注意的地方: 对于一次单点修改操作,需要先判断是否需要修改.注意题目中是"如果当前A学生的成绩低于B,则把ID为A的学生的成绩更改为B,否则不改动.".所以判断条 ...

  2. 避坑之Hadoop安装伪分布式(Hadoop3.2.0/Ubuntu14.04 64位)

    一.安装JDK环境(这个可以网上随意搜一篇教程了照着弄,这里不赘述) 安装成功之后 输入 输入:java -version 显示如下说明jdk安装成功(我这里是安装JDK8) 二.安装Hadoop3. ...

  3. 一周搞定模拟电路P2_二极管介绍_记录

    1 稳压二极管 1.1 稳压二极管伏安特性曲线 ΔIz 这一段为能够达到比较好的稳压效果的稳压电流. 1.2 两种连接方法的比较 2 整流二极管 2.1 特点 用于把交流电变成脉动直流电 3 开关二极 ...

  4. The Preliminary Contest for ICPC Asia Shanghai 2019 B Light bulbs (离散的差分)

    复杂度分析,询问一千次,区间长1e6,O(1e9)超时. 那么我们知道对于差分来说,没必要一个一个求,只需要知道区间长就可以了,所以我们定义结构体差分节点,一个头结点,一个尾节点. 这样tail.lo ...

  5. happen-before原则

    单线程happen-before原则:      在同一个线程中,书写在前面的操作happen-before后面的操作. 锁的happen-before原则:          同一个锁的unlock ...

  6. crawlSpider全站爬取 分布式

    # 如何提升scrapy爬取数据的效率? 推荐: 单线程加异步协程 增加并发: 默认scrapy开启的并发线程为32个,可以适当进行增加.在settings.py中修改 CONCURRENT_REQU ...

  7. 【译】高级T-SQL进阶系列 (七)【下篇】:使用排序函数对数据进行排序

    此文为翻译,由于本人水平有限,疏漏在所难免,欢迎探讨指正. 原文链接:传送门. 使用NTILE函数的示例 NTILE函数将一组记录分割为几个组.其返回的分组数是由一个整形表达式指定的.如下你会找到NT ...

  8. java处理节假日和工作时间的工具类

    import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.ArrayList; impo ...

  9. vue中,实现锚点定位及跳转(url不发生变化)

    <div class="footer" @click="returnTop"> methods:{ returnTop:function(){ do ...

  10. Centos610安装Archiva

    安装说明: https://www.cwiki.us/display/ArchivaZH/Linux+Installing+Standalone 1.下载地址 https://archiva.apac ...