
第十七次CCF计算机软件能力认证 推荐系统 (优先队列,哈希表)
发布日期:2021-05-08 02:34:50
浏览次数:15
分类:精选文章
本文共 753 字,大约阅读时间需要 2 分钟。
分析
用一个数据结构存储每一个商品,使用大根堆 q q q对每一个商品进行存储。
用哈希表 d e l del del记录该商品是否被删除 由于遍历优先队列会让队列变空,所以用另一个优先队列 t e m p temp temp存储出队的元素,最后再把所有元素返还给 q q qC++ 代码
#includeusing namespace std;typedef pair PII;struct node{ int Id,id,sc; //商品种类Id,第id个商品,该商品得分sc bool operator<(const node &p) const{ //由于默认为大根堆,所以所有的比较都应该反过来 if(sc!=p.sc) return sc p.Id; return id>p.id; }};priority_queue q; //大根堆qmap del; //判断该商品是否删除 (pair <商品种类,第几个商品> )int m,n,OP;int main(){ scanf("%d%d",&m,&n); int cId,cid,cval; for(int i=0;i temp; //由于遍历优先队列会让队列变空,所以用另一个队列temp存储出队的元素 int tot,len[55]; //len:每个种类的商品要挑选的元素 memset(len,0,sizeof len); vector ans[55]; //答案数组 scanf("%d",&tot); //一共要选出的商品数量 for(int i=0;i 商品种类,第几个商品>
发表评论
最新留言
哈哈,博客排版真的漂亮呢~
[***.90.31.176]2025年04月03日 18时07分43秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
ASP.NET Core 实战:Linux 小白的 .NET Core 部署之路
2021-05-09
【nodejs原理&源码杂记(8)】Timer模块与基于二叉堆的定时器
2021-05-09
大前端的自动化工厂(1)——Yeoman
2021-05-09
数据仓库建模方法论
2021-05-09
虚拟机搭建hadoop环境
2021-05-09
DataStax Bulk Loader教程(四)
2021-05-09
.NET应用框架架构设计实践 - 概述
2021-05-09
Rust 内置 trait :PartialEq 和 Eq
2021-05-09
Hibernate(十四)抓取策略
2021-05-09
[菜鸟的设计模式之旅]观察者模式
2021-05-09
Spring-继承JdbcDaoSupport类后简化配置文件内容
2021-05-09
Java基础IO流(一)
2021-05-09
Hibernate入门(四)---------一级缓存
2021-05-09
MySQL事务(学习笔记)
2021-05-09
一个web前端开发者的日常唠叨
2021-05-09
内存分配-slab分配器
2021-05-09
技术写作技巧分享:我是如何从写作小白成长为多平台优秀作者的?
2021-05-09
Jupyter Notebook 暗色自定义主题
2021-05-09
[Python学习笔记]组织文件
2021-05-09
基于Redo Log和Undo Log的MySQL崩溃恢复流程
2021-05-09