CCF 201909-4 推荐系统

2023-05-16

 

 

#include <cstdio>
#include <set>
#include <unordered_map>
#include <algorithm>
using namespace std;
typedef long long ll;
ll inf = (ll)1e9;
//关键点,用一个整数表示第几类编号为几的商品,方便处理排序,注意int有可能越界 
struct Node {
	ll type;
	ll id;
	int score;
	
	Node(ll type, ll id, int score): type(type), id(id), score(score) {}
	bool operator < (const Node& n1) const {
		if(n1.score != score) return score > n1.score;
		else if(n1.type != type) return type < n1.type;
		else return id < n1.id;
	}
};
unordered_map<ll, set<Node>::iterator> ma;
int num[55];
int main() {
	int m, n; scanf("%d %d", &m, &n);
	set<Node> s;
	for(int i = 1; i <= n; i ++) {
		ll id;
		int score; scanf("%lld %d", &id, &score);
		for(ll j = 0; j < m; j ++) {
			ll temp = j * inf + id;
			ma[temp] = s.insert(Node(j, id, score)).first; //s.insert()返回 pair<set<Node>::iterator, bool>
		}
	}
	
	int op; scanf("%d", &op);
	while(op --) {
		int t; scanf("%d", &t);
		if(t == 3) {
			vector<vector<int> > ans(m);	//用set报错暂时还没想明白 
			int k; scanf("%d", &k);
			for(int i = 0; i < m; i ++) {
				scanf("%d", &num[i]);
			}
			
			for(auto& u : s) {
				if(ma.count(u.type * inf + u.id) && num[u.type]) {
					num[u.type] --;
					k --;
					ans[u.type].push_back(u.id);
					if(k == 0) break;
				}
			}
			
			for(int i = 0; i < m; i ++) {
				if(!ans[i].empty()) {
					int first = ans[i][0];
					for(auto& p : ans[i]) {
						if(p != first) printf(" %d", p);
						else printf("%d", p);
					}
					printf("\n");
				}else {
					printf("-1\n"); 
				}
			}
		}else if(t == 2) {
			ll type, id; scanf("%lld %lld", &type, &id);
			ll temp = type * inf + id;
			s.erase(ma[temp]);
			ma.erase(temp);
		}else {
			ll type, id;
			int score; scanf("%lld %lld %d", &type, &id, &score);
			ll temp = type * inf + id;
			ma[temp] = s.insert(Node(type, id, score)).first;
		}
	}
	return 0;
} 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

CCF 201909-4 推荐系统 的相关文章

  • 【论文不精读】Reinforced Path Reasoning for Counterfactual Explainable Recommendation

    Reinforced Path Reasoning for Counterfactual Explainable Recommendation 1 Introduction 现代推荐系统在对复杂的用户或者商品上下文进行建模时变得十分复杂并且
  • Java 基于协同过滤实现插画交流平台中的插画信息推荐功能

    Mahout 介绍 Mahout 是 Apache Software Foundation ASF 旗下的一个开源项目 提供一些可扩展的机器学习领域经典算法的实现 旨在帮助开发人员更加方便快捷地创建智能应用程序 Mahout包含许多实现 包
  • HBase(分布式、面向列、非结构化数据存储,基础框架,设计和操作)总结

    sqoop 总结 1 HBase 介绍 2 面向列数据库 2 1 HBase 与 传统关系数据库的区别 2 2 Hive 和 Hbase区别 2 3 Hbase 和 传统关系型数据库区别 3 Hbase 数据模型 4 HBase 基础架构
  • FM模型

    FM模型 一 FM模型的意义 1 传统模型的缺点 忽略了特征之间的联系 特征高维 稀疏 容易爆炸 2 什么是FM模型 FM就是Factor Machine 因子分解机 FM通过对两两特征组合 引入交叉项特征 提高模型得分 其次是高维灾难 通
  • 因果推断(四)——后门调整、前门调整、逆概率加权

    在因果推断 三 中 我们介绍了干预的相关概念 在本文中 我们对一些方法进行介绍 这些方法可用于利用干预分析变量之间的因果关系 在因果推断 三 中 我们得出了调整公式 如上式 假设PA为A节点的所有父节点的集合 则上 式可以修改为 其中b为P
  • 推荐系统学习总结

    前段时间参加了泰迪杯数据挖掘挑战赛 选的是B题电视产品营销推荐 由于涉及到推荐系统这一块比较大的知识领域 之前没有学过 于是在比赛之初找了一些网上的资料自学了几天 有了一些初步的了解与认识 因实训的项目中推荐系统仍是很重要的一部分 故重新再
  • 推荐系统:Wide & Deep模型解析

    1 Wide Deep模型介绍 经典推荐深度模型 Wide Deep 对应的论文 Wide Deep Learning for Recommender Systems 链接 arxiv Wide Deep的模型架构如下图所示 可以看到Wid
  • 机器学习之电子商务网站用户行为分析及服务推荐案例

    项目概述 本项目案例根据某法律咨询服务网站的用户浏览记录 把用户划分为训练集的用户和测试集的用户 再根据找出相应用户的浏览记录划分为训练集数据和测试集数据 训练集用于后续构建用户物品矩阵 再根据用户物品矩阵构建物品相似度矩阵 根据杰卡德相似
  • 【推荐系统】 一、推荐系统简介

    1 推荐系统的作用和意义 在这个时代 无论信息消费者还是信息生产者都面临巨大的挑战 信息消费者 在大量信息中找到自己感兴趣的信息很困难 信息生产者 将自己生产的信息让广大消费者关注很困难 推荐系统将用户与信息联系起来 1 1 用户角度 推荐
  • 基于Spark MLlib平台的协同过滤算法---电影推荐系统

    说到推荐系统 大家可能立马会想到协同过滤算法 本文基于Spark MLlib平台实现一个向用户推荐电影的简单应用 其中 主要包括三部分内容 协同过滤算法概述 基于模型的协同过滤应用 电影推荐 实时推荐架构分析 一 协同过滤算法概述 本人对算
  • 02链路预测

    什么是链路预测 链路预测是一个利用图网络做预测的经典任务 所谓链路 Link 指节点与节点之间的连接 也就是图论中的边 如上图所示 所谓链路预测就是预测原本不相连的两个节点之间是否有边存在 若是在有权图中 那就顺便还预测下相邻边的权重 如果
  • AUC的计算、物理意义,

    文章目录 一 定义 二 性质 三 计算 3 1 方法一 根据定义 3 2 方法二 根据意义 3 3 方法三 方法二优化 3 4 方法四 工业场景 四 物理意义推导 一 定义 ROC曲线与坐标轴围成的面积 ROC曲线由不同阈值下 TPR Y轴
  • ICML 2012 推荐系统部分文章小结及下载

    ICML2012 paper下载地址 感谢丹柯提供 http icml cc 2012 papers 个人比较感兴趣的 跟推荐系统相关的几篇文章 1 在有query的场景下 向用户推荐item Latent Collaborative Re
  • “基于机器学习算法的推荐系统” 在软件静态分析领域的应用方法

    一 软件静态分析背景 软件静态分析的相当部分的内容就是发现代码中的缺陷 缺陷的形式往往五花八门 各式各样 每当发现一个缺陷 测试人员首先会感到高兴 终于抓到了一条 虫 可继而很可能会感到心虚 因为 在现有技术条件下 一条软件行业的规律是仍然
  • 推荐系统综述:初识推荐系统

    目录 1 引言 2 发展历史 3 研究现状 4 推荐方式和效果评估 4 1 评分预测 4 2 TopN推荐 5 推荐算法 5 1 基于用户行为推荐 5 1 1 基于用户的协同过滤 User Based CF 5 1 2 基于物品的协同过滤
  • 开源的推荐系统简介TOP 10

    最近这两年推荐系统特别火 本文搜集整理了一些比较好的开源推荐系统 即有轻量级的适用于做研究的SVDFeature LibMF LibFM等 也有重 量级的适用于工业系统的 Mahout Oryx EasyRecd等 供大家参考 PS 这里的
  • 第一次CCF CSP认证体验

    今天是我第一次参加CCF CSP认证 虽然这已经是第十二次CCF认证了 感觉题目有点难欸 前面两道题暴力写完 然后看了第三题 哇 简直难写 第四题看了看 数据1e5条边 不会做 就写了一个暴力 希望能过点数据 第五题感觉像是一个动态规划 完
  • 机器学习实战—利用SVD简化数据

    一 SVD的应用 奇异值分解 优点 简化数据 去除噪声 提高算法的结果 缺点 数据转换难以理解 利用SVD能够实现用小得多的数据集来表示原始数据集 这样做 实际上是去除了噪声和冗余信息 当我们视图节省空间时 去除噪声和冗余信息是目标 但是我
  • 推荐系统(四)——因果效应uplift model系列模型S-Learner,T-Learner,X-Learner

    在之前的文章中我们介绍了使用因果推断中的去除混杂和反事实的相关理论来纠正推荐系统中的偏差问题 在这篇文章中主要和大家分享uplift model相关知识和方法 例子 小夏的商铺在上次请了明星代言后 销量有所上升 但是他不清楚是不是每个人都对
  • 基于Item的协同过滤算法实践(最简单的在线电影推荐系统)

    上一篇文章 基于用户的协同过滤算法实践 中 基于用户的相似度生成推荐列表 本文将基于Item的相似度阐述 1 相似度 基于物品的协同过滤算法 简称ItemCF 给用户推荐那些和他们之前喜欢的物品相似的物品 不过ItemCF不是利用物品的内容

随机推荐

  • poj 1068 parencondings

    题目描述 xff1a 定义 S 为一个合法的括号字符串 S 可以用以下两种方式编码 xff1a 1 用一个整数数组 P 来表示 xff0c 其中元素 p i 是 S 中每个 39 39 前的 39 39 的个数 xff1b 2 用一个整数数
  • Linux-USB Gadget : Part 6: dummy hcd 驱动简介

    Linux USB Gadget Part 6 dummy hcd 驱动简介 作者 xff1a zjujoe 转载请注明出处 Email xff1a zjujoe 64 yahoo com BLOG xff1a http blog csdn
  • MySQL连接命令

    一 MySQL 连接本地数据库 xff0c 用户名为 root xff0c 密码 123 xff08 注意 xff1a p 和 123 之间不能有空格 xff09 C gt mysql h localhost u root p123 二 M
  • Java数值中加下划线的作用

    在看OkHttp源码的时候 xff0c 看到了如下的代码 xff1a int connectTimeout 61 10 000 int readTimeout 61 10 000 int writeTimeout 61 10 000 一时之
  • docke--制作镜像

    镜像库 xff1a http hub docker com 1 为什么要自己制作镜像 xff1f 更加有安全性 xff1b 可以根据自己的需求得到更加合适自己的镜像 2 镜像有什么 xff1f 操作系统 核心代码 工具 库 运行时的环境 d
  • ubuntu虚拟机,可以ping通域名和主机,但是浏览器不能上网

    根据nat配置好网络 xff0c 和dns地址后 xff0c 可以ping通域名和主机 xff0c 但是浏览器不能上网 xff0c 花了好大的时间折腾 后面发现是谷歌浏览器设置了代理 xff0c 并且在使用时默认使用代理出去 xff0c 如
  • [OpenCV] aruco Markers识别

    reference http docs opencv org 3 1 0 d5 dae tutorial aruco detection html 姿态估计 xff08 Pose estimation xff09 在计算机视觉领域扮演着十分
  • SELECT command denied to user

    root cause org hibernate exception SQLGrammarException could not execute query com mysql jdbc exceptions jdbc4 MySQLSynt
  • struts2 与 servlet

    Struts2 1 过滤规则 与 Servlet 之间的微妙关系 2009 05 14 22 06 58 标签 xff1a struts2 servlet 404 访问不到 it 分类 xff1a 网站开发技术 学习Struts2也有一段时
  • select 下拉框--- 根据返回值显示值

    lt div align 61 34 left 34 gt lt select name 61 34 personalAssess quality 34 gt lt option value 61 34 34 lt c if test 61
  • 多线程与并发编程

    认识多任务 多进程 单线程 多线程 要认识多线程就要从操作系统的原理说起 以前古老的DOS操作系统 V 6 22 是单任务的 xff0c 还没有线程的概念 xff0c 系统在每次只能做一件事情 比如你在copy东西的时候不能rename文件
  • 用户注册信息检查

    用户名检查 function checkName var check 61 A Za z0 9 43 var name 61 document getElementById 34 uname 34 value var fo 61 docum
  • js中对象不支持此属性或方法

    一般在ie中执行js会报这样的错误 xff0c 基本问题就是你引用了某个对象中不存在的方法 xff0c 可能是这个方法本来存在而你写错了 xff0c 或者调用这个方法的时候传入了非法的参数 xff0c 但这只是初心造成的 xff0c 还有就
  • android 五大布局(转)

    大家好 我们这一节讲一下Android对用五大布局对象 它们分别是FrameLayout 框架布局 不知道是不是这么翻译的 LinearLayout 线性布局 AbsoluteLayout 绝对布局 RelativeLayout 相对布局
  • flex校验

    package cn newtouch flexDemo business validator import mx binding utils BindingUtils import mx containers FormItem impor
  • docker--最全的网络类型(7类)

    目录 1bridge桥接模式 xff08 默认 xff09 2 host 3 overlay 4 ipvlan 5 macvlan 6 none 7 container 官网有六类 xff1a Networking overview Doc
  • flex 国际化

    Flex 开发 xff08 国际化 xff09 在Flex4 之前默认只支持en US ja JP 这两种本地化 xff0c 因此如果想在Flex 中支持中文或者其他语言时 xff0c 需要额外的操作 xff1a 1 首先添加新的本地化支持
  • 使用mysqladmin命令来修改mysql的root密码

    一般mysql的root默认密码为空 xff0c 如果你之前并没有设置过root密码就使用mysqladmin命令 xff0c 你可以使用如下mysqladmin命令来修改root密码 1 2 3 mysqladmin u root p p
  • CCF化学方程式的配平

    include lt iostream gt include lt string gt include lt cctype gt include lt unordered map gt using namespace std unorder
  • CCF 201909-4 推荐系统

    include lt cstdio gt include lt set gt include lt unordered map gt include lt algorithm gt using namespace std typedef l