news 2026/7/8 1:26:31

《B4071 [GESP202412 五级] 武器强化》

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
《B4071 [GESP202412 五级] 武器强化》

题目背景

对应的选择、判断题:试题 - GESP 202412 C++ 五级 - 洛谷有题

题目描述

小杨有 n 种武器和 m 种强化材料。第 i 种强化材料会适配第 pi​ 种武器,小杨可以花费 ci​ 金币将该材料对应的适配武器修改为任意武器。

小杨最喜欢第 1 种武器,因此他希望适配该武器的强化材料种类数严格大于其他的武器,请你帮小杨计算为了满足该条件最少需要花费多少金币。

输入格式

第一行包含两个正整数 n,m,含义如题面所示。

之后 m 行,每行包含两个正整数 pi​,ci​,代表第 i 种强化材料的适配武器和修改花费。

输出格式

输出一个整数,代表能够使适配第 1 种武器的强化材料种类数严格大于其他的武器最少需要花费的金币。

输入输出样例

输入 #1复制

4 4 1 1 2 1 3 1 3 2

输出 #1复制

1

说明/提示

样例解释

花费 1,将第三种强化材料的适配武器由 3 改为 1。此时,武器 1 有 2 种强化材料适配,武器 2 和武器 3 都各有 1 种强化材料适配,满足适配第 1 种武器的强化材料种类数严格大于其他的武器。

数据范围

对于 100% 的数据,保证 1≤n,m≤1000,1≤pi​≤n,1≤ci​≤109。

子任务编号得分占比nm
120%≤2≤1000
220%≤1000≤2
360%≤1000

≤1000

代码实现:

#include <bits/stdc++.h> using namespace std; typedef long long ll; vector<ll> costs[1005]; int n, m; int main() { cin >> n >> m; for (int i = 1; i <= m; i++) { int p; ll c; cin >> p >> c; costs[p].push_back(c); } for (int i = 1; i <= n; i++) { sort(costs[i].begin(), costs[i].end()); } ll ans = LLONG_MAX; int init_cnt = costs[1].size(); for (int k = init_cnt; k <= m; k++) { ll total_cost = 0; int cur_cnt_1 = init_cnt; vector<ll> all_other_costs; for (int i = 2; i <= n; i++) { int need = max(0, (int)costs[i].size() - (k - 1)); for (int j = 0; j < need && j < costs[i].size(); j++) { total_cost += costs[i][j]; cur_cnt_1++; } for (int j = need; j < costs[i].size(); j++) { all_other_costs.push_back(costs[i][j]); } } if (cur_cnt_1 < k) { sort(all_other_costs.begin(), all_other_costs.end()); for (int i = 0; i < k - cur_cnt_1 && i < all_other_costs.size(); i++) { total_cost += all_other_costs[i]; } } ans = min(ans, total_cost); } cout << ans << endl; return 0; }
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/8 1:26:07

GHelper终极指南:轻松掌控华硕笔记本性能的轻量级神器

GHelper终极指南&#xff1a;轻松掌控华硕笔记本性能的轻量级神器 【免费下载链接】g-helper Lightweight Armoury Crate alternative for Asus laptops with nearly the same functionality. Works with ROG Zephyrus, Flow, TUF, Strix, Scar, ProArt, Vivobook, Zenbook, Ex…

作者头像 李华
网站建设 2026/7/8 1:21:08

兰州兰银官话语义角色标注数据采集公司

兰银官话主要分布于甘肃兰州及周边&#xff0c;其声调、词汇和语法在官话中独具特色&#xff0c;比如古入声字的归派、儿化音的使用等&#xff0c;给数据标注带来高专业门槛。兰银官话语义角色标注需要标注员不仅精通当地方言&#xff0c;还要能准确识别句法成分的语义功能&…

作者头像 李华
网站建设 2026/7/8 1:20:29

FFmpeg 入门:命令行的 20 个常用场景

FFmpeg 入门&#xff1a;命令行的 20 个常用场景 做音视频开发绕不开的工具就是 FFmpeg。不管你是做 IPC 摄像头、直播、视频剪辑还是售货柜视觉识别&#xff0c;FFmpeg 都是工具箱里的瑞士军刀。这篇从安装到常用命令&#xff0c;一次性把最常用的 20 个场景讲清楚&#xff0c…

作者头像 李华
网站建设 2026/7/8 1:19:50

OpenCV 相机标定与3D可视化:8张棋盘格图像标定,内参误差低于0.5像素

OpenCV相机标定与3D可视化实战&#xff1a;从棋盘格到亚像素级精度1. 相机标定的核心价值与工程意义在三维重建、SLAM和AR/VR领域&#xff0c;相机标定如同给机器视觉装上尺子。想象一下&#xff0c;当我们要用单目摄像头测量现实世界的尺寸&#xff0c;或者将虚拟物体精准叠加…

作者头像 李华
网站建设 2026/7/8 1:19:27

内存化在对账系统中的应用实践

一、重新认识对账问题很多系统里&#xff0c;对账就是&#xff1a;两张表、一条 JOIN、一个定时任务。流水量小的时候没问题。但量上来之后&#xff0c;JOIN 越来越慢&#xff0c;跨周期的逻辑越来越绕&#xff0c;锁、事务、补偿代码层出不穷。根子在哪&#xff1f;对账不是 C…

作者头像 李华