AtCoder Beginner Contest 185 题解
A - ABC Preparation
排序找出最小值
int main() {
ios_base::sync_with_stdio(false), cin.tie(0);
vector<int> a(4);
for (auto &i : a) cin >> i;
sort(a.begin(), a.end());
cout << a[0];
return 0;
}
B - Smartphone Addiction
模拟
int main() {
ios_base::sync_with_stdio(false), cin.tie(0);
int N, M, T, A, B, K = 0, t = 0;
cin >> N >> M >> T;
for (M = N; cin >> A >> B; N += B + K - 2 * A, K = B, N = min(N, M))
if (N - A + K <= 0) t++;
cout << (N - T + B <= 0 || t ? "No" : "Yes");
return 0;
}
C - Duodecim Ferra
组合数学问题,裁点有 L-1 个,我们取其中的 11 个,根据组合答案为:\(C_{L-1}^{11}\)。
然后根据组合数学原来进行化简 ↓

int main() {
ios_base::sync_with_stdio(false), cin.tie(0);
ll L, i = 0, N = 1;
for (cin >> L; ++i < 12; N *= (L - i), N /= i)
;
cout << N << "\n";
return 0;
}
D - Stamp
计算出所有白色区间。最短的区间长度即为 \(k\) 的最佳取值,之后计算需要的邮票总数即可。
好题!
int main() {
ios_base::sync_with_stdio(false), cin.tie(0);
int N, M, K = 0, cnt = 0, i = 1;
cin >> N >> M;
int A[M + 2], B[M + 1];
A[0] = 0, A[M + 1] = N + 1;
for (; i <= M; ++i) cin >> A[i];
sort(A, A + M + 2);
for (int i = 0; i < M + 1; ++i) B[i] = A[i + 1] - A[i] - 1;
sort(B, B + M + 1);
// for (int i = 0; i < M + 1; ++i) cout << B[i] << " ";
// cout << endl;
for (i = 0; i < M + 1; ++i) {
if (!K) K = B[i];
if (K) cnt += (B[i] + K - 1) / K;
}
cout << cnt << "\n";
return 0;
}
E - Sequence Matching
类似于最长公共子序列。考虑 \(dp[i-1][j],dp[i][j-1],dp[i-1][j-1]\)三种转移。
时间复杂度\(\mathcal{O}(NM)\)。
// 暂无
F - Range Xor Query
线段树,单点更新,区间查询。直接用 AC-Library 模板即可。
时间复杂度 \(\mathcal{O}((N+Q)\log N)\)。
#include <bits/stdc++.h>
#include <atcoder/segtree>
using namespace std;
int op(int a, int b) { return a ^ b; }
int e() { return 0; }
int main() {
int n, q;
cin >> n >> q;
vector<int> v(n);
for (int i = 0; i < n; ++i) cin >> v[i];
atcoder::segtree<int, op, e> seg(v);
while (q--) {
int t, x, y;
cin >> t >> x >> y;
if (t == 1) {
seg.set(x - 1, v[x - 1] ^ y);
v[x - 1] ^= y;
} else {
cout << seg.prod(x - 1, y) << endl;
}
}
}
AtCoder Beginner Contest 185 题解的更多相关文章
- AtCoder Beginner Contest 154 题解
人生第一场 AtCoder,纪念一下 话说年后的 AtCoder 比赛怎么这么少啊(大雾 AtCoder Beginner Contest 154 题解 A - Remaining Balls We ...
- AtCoder Beginner Contest 153 题解
目录 AtCoder Beginner Contest 153 题解 A - Serval vs Monster 题意 做法 程序 B - Common Raccoon vs Monster 题意 做 ...
- AtCoder Beginner Contest 177 题解
AtCoder Beginner Contest 177 题解 目录 AtCoder Beginner Contest 177 题解 A - Don't be late B - Substring C ...
- AtCoder Beginner Contest 184 题解
AtCoder Beginner Contest 184 题解 目录 AtCoder Beginner Contest 184 题解 A - Determinant B - Quizzes C - S ...
- AtCoder Beginner Contest 173 题解
AtCoder Beginner Contest 173 题解 目录 AtCoder Beginner Contest 173 题解 A - Payment B - Judge Status Summ ...
- AtCoder Beginner Contest 172 题解
AtCoder Beginner Contest 172 题解 目录 AtCoder Beginner Contest 172 题解 A - Calc B - Minor Change C - Tsu ...
- AtCoder Beginner Contest 169 题解
AtCoder Beginner Contest 169 题解 这场比赛比较简单,证明我没有咕咕咕的时候到了! A - Multiplication 1 没什么好说的,直接读入两个数输出乘积就好了. ...
- AtCoder Beginner Contest 148 题解
目录 AtCoder Beginner Contest 148 题解 前言 A - Round One 题意 做法 程序 B - Strings with the Same Length 题意 做法 ...
- AtCoder Beginner Contest 151 题解报告
总的来说,这次的题目比较水,然而菜菜的我并没有把所有题目都做完,话不多说,直接来干货: A:Next Alphabet 题目链接:https://atcoder.jp/contests/abc151/ ...
- AtCoder Beginner Contest 115 题解
题目链接:https://abc115.contest.atcoder.jp/ A Christmas Eve Eve Eve 题目: Time limit : 2sec / Memory limit ...
随机推荐
- 玩转开源 |Hugo 的使用实践
Hugo 是一个能够以出色速度构建静态网页的工具,它为我们提供了极具灵活性的平台,可以塑造成符合个人需求的网页.在上一篇博文中已经介绍了 Hugo 的基本搭建步骤,那如何使用 Hugo 搭建符合自己需 ...
- 使用reposync工具将yum安装包保存到本地的方法
使用reposync工具将yum安装包保存到本地的方法 版权声明:原创作品,谢绝转载!否则将追究法律责任. ----- 作者:kirin Anolis7/centos7 1.reposync 1.1. ...
- 神经网络入门篇:详解随机初始化(Random+Initialization)
当训练神经网络时,权重随机初始化是很重要的.对于逻辑回归,把权重初始化为0当然也是可以的.但是对于一个神经网络,如果把权重或者参数都初始化为0,那么梯度下降将不会起作用. 来看看这是为什么. 有两个输 ...
- 一行代码解决IE停用后无法继续使用IE弹窗功能的问题
微软在2023年2月14日通过Edge浏览器更新,彻底封死IE.Windows Update中没有记录.开始菜单中的IE以及桌面IE图标双击自动打开Edge,默认程序设置了IE也没有任何效果,仅能通过 ...
- Excel表格数据可视化的六大常见方式,看看你都会吗?
当涉及到Excel表格数据的可视化,有许多不同的方式可以展示和呈现数据.以下是六种常见的Excel表格数据可视化方式的详细介绍. 1. 条形图(Bar Chart) 条形图是一种常见的数据可视化图表类 ...
- [AGC034D] Manhattan Max Matching
Problem Statement Snuke is playing with red and blue balls, placing them on a two-dimensional plane. ...
- Ubuntu 22.04 LTS 安装lnmp
Ubuntu 22.04 LTS 安装最新稳定版本nginx.mysql5.7和php7.2 全部apt-get安装,就是快,迅速.前提是需要在有网络环境的情况下哈!! 操作系统版本:Ubuntu 2 ...
- 微调baichuan2-7b遇到的显存坑
问题描述: 微调baichuan2-7b模型,验证一轮后继续训练第一个iteration显存大幅增加 项目链接: https://github.com/wp931120/baichuan_sft_lo ...
- 内核模块(.ko) 开发入门
内核模块时指的是在操作系统内核中动态加载的一段代码,它可以扩展和增强操作系统的功能.内核模块通常用于为操作系统添加新的设备驱动程序.文件系统.网络协议栈等功能. 内核模块是以二进制形式存在的(*.ko ...
- SaaS 营销怎么做?几点思考
按大部分 SaaS 公司组织架构,梳理了这 4 大业务部门(产品.市场.销售.服务-客户成功)的职责和客户价值链条.如图: 根据客户价值体验地图,分为两块过程: 客户营销过程 客户成功过程 针对 Sa ...