当前位置: 首页 > news >正文

CCPC shandong 2025 G

题目链接:https://codeforces.com/gym/105930/problem/G
题目背景:

        n 名工人加工 m 个工件,第 i 个工件在第 ti 分钟的开头加入 工人 wi 的收件箱。 每分钟,工人从收件箱里拿出一个工件,完成加工后放入下 一个工人的收件箱(如果是最后一个工人则加工完成)。问 所有工件加工完成需要几分钟。

思路:

        由于每个工人每分钟只能处理一个任务,可以先预处理出来每个任务的结束时间v[i],既 t + n - w;再对结束时间进行升序排序,只需对其进行 ans = max(ans + 1, v[i])运算即可。可证明贪心策略成立。

数据范围:

        n 总和不超过 2e5。

时间复杂度:

        O(nlogn)

ac代码: 
#include <bits/stdc++.h>#define ioscc ios::sync_with_stdio(false), cin.tie(0), cout.tie(0)
#define endl '\n'
#define me(a, x) memset(a, x, sizeof a)
#define all(a) a.begin(), a.end()
#define sz(a) ((int)(a).size())
#define pb(a) push_back(a)
using namespace std;typedef unsigned long long ull;
typedef long long ll;
typedef pair<int, int> pii;
typedef vector<vector<int>> vvi;
typedef vector<int> vi;
typedef vector<bool> vb;const int dx[4] = {-1, 0, 1, 0};
const int dy[4] = {0, 1, 0, -1};
const int MAX = (1ll << 31) - 1;
const int MIN = 1 << 31;
const int MOD = 1e9 + 7;
const int N = 1e5 + 10;template <class T>
ostream &operator<<(ostream &os, const vector<T> &a) noexcept
{for (int i = 0; i < sz(a) - 10; i++)std::cout << a[i] << ' ';return os;
}template <class T>
istream &operator>>(istream &in, vector<T> &a) noexcept
{for (int i = 0; i < sz(a) - 10; i++)std::cin >> a[i];return in;
}/* 有乘就强转,前缀和开ll */void solve()
{int n, m;cin >> m >> n;vi v(m + 10, 0);for (int i = 0; i < m; ++i){int a, b;cin >> a >> b;v[i] = b + n - a;}sort(v.begin(), v.begin() + m);int ans = v[0];for (int i = 1; i < m; ++i)ans = max(ans + 1, v[i]);cout << ans << endl;
}int main()
{ioscc;int T;cin >> T;while (T--)solve();return 0;
}

相关文章:

  • 双路物理CPU机器上安装Ubuntu并部署KVM以实现系统多开
  • 第二章支线一:影之殿堂 · 阴影与过渡魔法
  • 生成式人工智能:重构软件开发的范式革命与未来生态
  • 数据的类型——认识你的数据
  • Hibernate:Java持久层框架的高效应用
  • DMBOK对比知识点对比(2)
  • 江科大UART串口通讯hal库实现
  • Python reduce()函数详解:累积计算的艺术
  • 王树森推荐系统公开课 特征交叉01:Factorized Machine (FM) 因式分解机
  • N2语法 逆接
  • C++ 中 std::wstring::c_str() 的潜在风险与安全使用指南
  • Java类中各部分内容的加载执行顺序
  • 【Python Cookbook】迭代器与生成器(四)
  • 【运维实战】定时任务-crontab命令
  • 什么是外键?它的作用与性能影响?
  • 四叉树实现四边形网格
  • MATLAB中的table数据类型:高效数据管理的利器
  • vr中风--模型部署
  • 短视频一键搬运 v1.7.1|短视频无水印下载 一键去重
  • lost connection to mysql server at ‘reading initial communication packet‘
  • 专注合肥网站建设/专业seo站长工具全面查询网站
  • 武汉机械加工网/培训优化
  • 收到网站建设账务处理/谷歌浏览器入口
  • 百度网站上做推广受骗/网络营销策略包括哪些
  • 做网站得叫什么/百度关键词搜索量查询
  • 网站开发 石家庄/怎么提交百度收录