题意:给出N个查询,以及K(表示推荐系统最多给用户推荐K个商品)。输入每个查询时,系统推荐给用户最多K个商品。这K个商品根据此前它被搜索的次数按降序排列,若被搜索的次数一致,则按其编号增序排列(注意,输入第一个查询时,系统不会有推荐,都没有用户查过,何来推荐呢?)(注:商品的编号[1~N])

思路:考察set的自定义排序写法,重载运算符bool operator<(const xxx)const{...}。会用STL set的,本题就很简单了。如果对set不太了解的,请学习这里。

代码:

#include <cstdio>
#include <set>
using namespace std;
const int N=50005;
int count[N]={0};
struct Record{int id;//商品编号int freq;Record(){}Record(int id_,int freq_):id(id_),freq(freq_){}   //首先根据查询次序降序排列,然后根据id升序排列bool operator<(const Record rhs)const{if(freq!=rhs.freq) return rhs.freq<freq;else return id<rhs.id;}
};
set<Record> ans;int main()
{//freopen("pat.txt","r",stdin);int n,k,id;scanf("%d%d",&n,&k);for(int i=1;i<=n;i++){scanf("%d",&id);if(i==1){Record r(id,++count[id]);ans.insert(r);continue;}printf("%d:",id);int cnt=0;for(auto it:ans){printf(" %d",it.id);cnt++;if(cnt==k) break;}printf("\n");Record r(id,count[id]);if(ans.find(r)!=ans.end()) ans.erase(r);ans.insert(Record(id,++count[id]));}return 0;
}

转载于:https://www.cnblogs.com/kkmjy/p/9564024.html

1129 Recommendation System相关推荐

  1. PAT甲级1129 Recommendation System:[C++题解]统计前k个商品

    文章目录 题目分析 题目来源 题目分析 来源:acwing 分析: 用变量k来计数每次输出前k个,k等于min(k,m),m为系统允许的最大推荐数. 用数组cnt统计每件商品的数量,top数组统计前k ...

  2. 1129 Recommendation System (25 分)【难度: 一般 / 知识点: 滑动窗口】

    https://pintia.cn/problem-sets/994805342720868352/problems/994805348471259136 只需维护窗口即可. #include< ...

  3. 【KDD2020-Tutorial】自动推荐系统,Automated Recommendation System

    点击上方,选择星标或置顶,不定期资源大放送! 阅读大概需要5分钟 Follow小博主,每天更新前沿干货 随着推荐任务的日益多样化和推荐模型的日益复杂,开发出一套能够很好地适应新的推荐任务的推荐系统变得 ...

  4. open source project for recommendation system

    原文链接:http://blog.csdn.net/cserchen/article/details/14231153 目前互联网上所能找到的知名开源推荐系统(open source project ...

  5. 推荐系统——Converged Recommendation System Based on RNN and BP Neural Networks

    论文描述: 随着电子商务系统.社交网络.音乐应用等在线消费平台的快速发展,大量用户的消费行为日志每天都在产生.同时,我们现在有很好的硬件环境和相应的大数据处理技术来处理这些日志,如:越来越成熟的并行计 ...

  6. #Paper Reading# The YouTube Video Recommendation System

    论文题目: The YouTube Video Recommendation System 论文地址: https://dl.acm.org/citation.cfm?id=1864770 论文发表于 ...

  7. Some thoughts on Recommendation System

    Keep the recommendation system's recommendation function, but can I make my own decisions about what ...

  8. 【RS】在线更新RS:How to Retrain Recommendation System (SIGIR‘20)

    How to Retrain Recommendation System (SIGIR'20) 模型 当今工业界更新推荐系统的痛点: ({Dm:m≤t},Wt−1)⟶get Wt⟵test Dt+1. ...

  9. Use of Deep Learning in Modern Recommendation System: A Summary of Recent Works(笔记)

    注意:论文中,很多的地方出现baseline,可以理解为参照物的意思,但是在论文中,我们还是直接将它称之为基线, 也就是对照物,参照物. 这片论文中,作者没有去做实际的实验,但是却做了一件很有意义的事 ...

最新文章

  1. Mask-RCNN论文解读
  2. 获取子页面iframe的点击事件及iframe跨域的交互
  3. Acwing第 17 场周赛【完结】
  4. 华为电视测试软件,华为智慧屏电视安装第三方软件,简单实测可行攻略
  5. python函数调用键盘热键_Tkinter对键盘和鼠标事件的处理
  6. 关于FileSystemWatcher监听文件创建
  7. oracle用exp定时备份数据库,使用exp和imp对Oracle数据库进行简单的备份
  8. 海康VisionMaster绘制图形到显示窗口
  9. 提取pdf文件文本:pdfparser与xpdf具体操作
  10. UCOS-III系统概述
  11. Windows下把文件夹压缩成.tar.gz格式
  12. 【方向盘】蚂蚁金服上市了,我不想努力了
  13. Java实现蓝桥杯二项式的系数规律
  14. vim编辑器---基本使用方法03(末行模式)
  15. php获取数据编码,php 获取编码和转换编码
  16. 教你用Canvas将图片截成圆图
  17. c语言测试软件的编写,用c语言编写智商测试软件
  18. Python 石墨烯边缘磁性Hatree_Fock计算
  19. CC2530学习(一)CC2530微控制器介绍
  20. 【续】DeepMind项目取得新进展:一种改进机器人学习系统的新思路

热门文章

  1. javascript获取asp.net服务器端控件的值
  2. 查看daemon使用技巧
  3. struts2学习之基础笔记1
  4. 如何搭建个人独立博客
  5. Linux--安装截图工具Shutter
  6. 软考信息系统项目管理师_信息系统综合测试与管理---软考高级之信息系统项目管理师027
  7. AndroidStudio_后台_服务的介绍_生命周期_注册_启动停止---Android原生开发工作笔记215
  8. Linux多线程工作笔记0001---多线程知识介绍
  9. 如何将一棵树转换成二叉树
  10. memcpy与memmove的区别