Codeforces Round 1013 (Div. 3)(前5)

news/2025/4/1 18:17:19/文章来源:https://www.cnblogs.com/fufuaifufu/p/18800813

比赛链接
A:Olympiad Date
让我们开始一个数字计数器 cnt[i] ( 0≤i≤9) 3≤cnt[0],1≤cnt[1],2≤cnt[2], 1≤cnt[3],1≤cnt[5] 答案已找到。如果在计算所有数字之后,没有满足其中一个条件,则没有解决方案,答案为 0. 代码如下

#include <bits/stdc++.h>
using namespace std;int main() {int t;cin >> t; for (int test = 0; test < t; test++) {int n;cin >> n; vector<int> a(n);for (int i = 0; i < n; i++) {cin >> a[i];}vector<int> cnt(10, 0);bool found = false;for (int i = 0; i < n; i++) {cnt[a[i]]++; if (cnt[0] >= 3 && cnt[1] >= 1 && cnt[2] >= 2 && cnt[3] >= 1 && cnt[5] >= 1) {cout << i + 1 << endl;found = true;break;}}if (!found) {cout << 0 << endl;}}return 0;
}

B. Team Training
为了最大化强队的数量,我们需要将学生按技能值从高到低排序,然后贪心地尽可能多地组成满足条件的队伍。具体步骤如下:
排序:将学生的技能值按降序排列,以便优先使用高技能的学生组成队伍。
贪心组队:遍历排序后的学生,维护当前可以组成的队伍数量(cnt)。当当前学生的技能值乘以当前队伍数量(a[i] * cnt)满足强度要求时,确认一个队伍,并重置计数器。

#include <iostream>
#include <algorithm>using namespace std;void solve() {int n, x;cin >> n >> x;int a[n];for (int i = 0; i < n; i++) {cin >> a[i];}sort(a, a + n);reverse(a, a + n);int ans = 0;for (int i = 0, cnt = 1; i < n; i++, cnt++) {if (a[i] * cnt >= x) {ans++;cnt = 0;}}cout << ans << endl;
}int main() {int t;cin >> t;while (t--) {solve();}
}

C. Combination Lock
规律如下

直接看出来

#include <iostream>using namespace std;void solve() {int n;cin >> n;if (n % 2 == 0) {cout << -1 << endl;return;}for (int i = n; i > 0; i--) {cout << i << ' ';}cout << endl;
}int main() {int t = 1;cin >> t;while (t--) solve();
}

D. Place of the Olympiad
直接细节取整

#include<bits/stdc++.h>
#define IOS                       \ios_base::sync_with_stdio(0); \cin.tie(0);                   \cout.tie(0);
#define ll long long
using namespace std;
ll mtt(ll n,ll m,ll k){k=(k+n-1)/n;//向上取整k=m/(m-k+1);//优化分配,向下取整,控制了每行最多能放多少个桌子,避免产生不均匀的分配return k;
}int main() {IOS;ll t;cin >> t;while (t--) {ll n, m, k;cin >> n >> m >> k;cout << mtt(n, m, k) << '\n';}return 0;
}    

二分

#include <iostream>using namespace std;void solve() {long long n, m, k, l, r, mid;cin >> n >> m >> k;l = 0, r = m;while (l + 1 < r) {mid = (l + r) / 2;if ((m / (mid + 1) * mid + m % (mid + 1)) * n >= k) {r = mid;} else {l = mid;}}cout << r << endl;
} int main() {int t = 1;cin >> t;while (t--) {solve();}}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/908193.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【题解】E - Replace

背景 这把报了 UnRated 从 E 开始看,于是非常惨烈的只拿下了 E。这个 2054 难度的题居然只有绿。E - Replace 题意 给你两个字符串 \(s,t\),你每次可以把 \(s\) 中的一种字符换成另一种,求把 \(s\) 变成 \(t\) 的最小操作数,可能无解。 思路 我们先考虑无解怎么判:可以得到…

质数筛——欧拉筛

欧拉筛 核心思想 和数只被它最小的质因数筛去 prime_number是当前小于i的所有质数集合 p是prime_number的元素,当没有找到最小质因数pi时,p是j的最小质因数,j可以被筛去,当找到最小质因数时就要退出循环,否则不能保证p是j的最小质因数 算法的时间复杂度:O(n),到n的所有和…

索引的分类

远离那些贬低你理想的人。狭隘的人经常如此,伟大的人会让你感觉自己也可以变好。 ——马克吐温按「数据结构」分类:B+tree索引、Hash索引、Full-text索引。 按「物理存储」分类:聚簇索引(主键索引)、二级索引(辅助索引) 按「字段特性」分类:主键索引、唯一索引、普通索引、前缀…

Linux基本使用-3

常用快捷键使用ctrl + c ==> 强制停止,结束当前命令运行或清空已输入命令ctrl + d ==> 退出登出,退出当前登录账户或退出程序history ==> 查看历史命令!命令前缀 ==> 自动匹配上一个命令ctrl + r ==> 搜索历史命令ctrl + a|e ==> 光…

评论夸一夸功能

评论夸一夸功能原文:https://www.tianyubk.com/863.html效果图1. 新建CSS文件 ​项目根目录/resouces/插件/小工具/评论​ (可以新建上述目录)新建 kuakua.css​ 文件 .kuakua-first-box {margin: auto;width: 440px;border-radius: 16px;bottom: auto;min-height: 10rem;le…

执行一条SQL请求的过程

远离那些贬低你理想的人。狭隘的人经常如此,伟大的人会让你感觉自己也可以变好。 ——马克吐温大体来说,MySQL 可以分为 Server 层和存储引擎层两部分。 Server 层包括连接器、查询缓存、分析器、优化器、执行器等,涵盖 MySQL 的大多数核心服务功能,以及所有的内置函数(如…

pikachu-RCE

exec "ping" 注入方式和DVWA靶场 - Command Injection一致 exec "evel"通过代码可以看出用户输入的信息未经过任何过滤被直接执行 尝试传入phpinfo();

位运算的操作

代码展示: #include <iostream> using namespace std;int main() {int n, m;cin >> n >> m;while (m--) {int op;cin >> op;if (op == 1) {int x;cin >> x;cout << ((n >> x) & 1) << endl;} else if (op == 2) {int l, …

将本地代码上传至github进行代码管理

博客地址:https://www.cnblogs.com/zylyehuo/

从静态报表到动态大屏

在当今信息爆炸的时代,数据可视化技术已经成为企业决策、业务分析、科学研究等领域不可或缺的重要工具。从最初的静态报表到如今的动态大屏,数据可视化技术经历了翻天覆地的变化,不仅提高了数据处理的效率,还极大地丰富了数据的呈现方式和交互体验。本文将深入探讨数据可视…

robots 攻防世界 简单小题

空白一片 ctrl+u看看源代码 看到关键信息,robots:反爬文件,一般为robots.txt形式存在 访问看看。 有关键信息可以获得flag:cyberpeace{4fe45642109b1c69a52721a529c15977}

导弹拦截问题

导弹拦截问题(也称为最长不上升子序列问题)是动态规划中的经典问题之一。问题的描述如下: 给定一个导弹飞行高度的序列,要求拦截所有导弹。拦截系统有一个限制:每次拦截的导弹高度不 能高于前一次拦截的导弹高度。问最少需要多少套拦截系统才能拦截所有导弹,或者一套拦截…