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 题解的更多相关文章

  1. AtCoder Beginner Contest 154 题解

    人生第一场 AtCoder,纪念一下 话说年后的 AtCoder 比赛怎么这么少啊(大雾 AtCoder Beginner Contest 154 题解 A - Remaining Balls We ...

  2. AtCoder Beginner Contest 153 题解

    目录 AtCoder Beginner Contest 153 题解 A - Serval vs Monster 题意 做法 程序 B - Common Raccoon vs Monster 题意 做 ...

  3. AtCoder Beginner Contest 177 题解

    AtCoder Beginner Contest 177 题解 目录 AtCoder Beginner Contest 177 题解 A - Don't be late B - Substring C ...

  4. AtCoder Beginner Contest 184 题解

    AtCoder Beginner Contest 184 题解 目录 AtCoder Beginner Contest 184 题解 A - Determinant B - Quizzes C - S ...

  5. AtCoder Beginner Contest 173 题解

    AtCoder Beginner Contest 173 题解 目录 AtCoder Beginner Contest 173 题解 A - Payment B - Judge Status Summ ...

  6. AtCoder Beginner Contest 172 题解

    AtCoder Beginner Contest 172 题解 目录 AtCoder Beginner Contest 172 题解 A - Calc B - Minor Change C - Tsu ...

  7. AtCoder Beginner Contest 169 题解

    AtCoder Beginner Contest 169 题解 这场比赛比较简单,证明我没有咕咕咕的时候到了! A - Multiplication 1 没什么好说的,直接读入两个数输出乘积就好了. ...

  8. AtCoder Beginner Contest 148 题解

    目录 AtCoder Beginner Contest 148 题解 前言 A - Round One 题意 做法 程序 B - Strings with the Same Length 题意 做法 ...

  9. AtCoder Beginner Contest 151 题解报告

    总的来说,这次的题目比较水,然而菜菜的我并没有把所有题目都做完,话不多说,直接来干货: A:Next Alphabet 题目链接:https://atcoder.jp/contests/abc151/ ...

  10. AtCoder Beginner Contest 115 题解

    题目链接:https://abc115.contest.atcoder.jp/ A Christmas Eve Eve Eve 题目: Time limit : 2sec / Memory limit ...

随机推荐

  1. R数据分析:集成学习方法之随机生存森林的原理和做法,实例解析

    很久很久以前给大家写过决策树,非常简单明了的算法.今天给大家写随机(生存)森林,随机森林是集成了很多个决策数的集成模型.像随机森林这样将很多个基本学习器集合起来形成一个更加强大的学习器的这么一种集成思 ...

  2. 【GIT】学习day03 | 如何生成并配置SSH公钥【外包杯】

    快速笔记: 1.注册并激活码云账号 2.生成并配置SSH公钥(运行ssh -t git@gitee.com 检测SSH公钥是否配置成功) 3.创建空白的码云仓库 4.把本地项目上传到码云对应的空白仓库 ...

  3. DI入门案例

    1.基于IoC管理bean 2.Service中使用new形式创建的Dao对象是否保留?(不保留) 3.Service中需要的Dao对象如何进入到Service中?(提供方法) 4.Service与D ...

  4. easycom自动导入自定义组件

    使用时要先创建一个这样的结构 相当于定义一个方法,所有的页面引用就可以了

  5. ssm整合-项目异常处理方案

    项目异常分类: 项目异常处理方案: 需要自定义异常处理 然后在处理器中加入 package com.itheima.controller; import com.itheima.exception.B ...

  6. 【Dotnet 工具箱】推荐一个 Flutter 和 .NET 开源的实时聊天 APP

    1. 推荐一个 Flutter 和 .NET 开源的实时聊天 APP Heyy-chat-app Heyy-chat-app 是一个开源的聊天应用,使用 Flutter.Asp.Net Core We ...

  7. 小傅哥自研插件,为开发提效80%,已经有8.1k安装量!

    作者:小傅哥 博客:https://bugstack.cn 沉淀.分享.成长,让自己和他人都能有所收获! 哈喽,大家好我是技术UP主小傅哥. 如果你担心维护成本和性能考量,不想使用 BeanUtils ...

  8. OpenEuler22.03安装PostgreSQL15.5并配置一主二从

    环境准备 序号 IP 标识(hostname) CPU/内存配置 系统盘 数据盘 1 192.168.8.190 pg01 8C+16G 80G 500G 2 192.168.8.191 pg02 8 ...

  9. uni-app+vue3+ts项目搭建完整流程

    项目代码同步更新至码云 uni-vue3-ts-template 开发前准备 利用 uni-app 开发,有两种方法: 通过 HBuilderX 创建(需安装 HBuilderX 编辑器) 通过命令行 ...

  10. struts2 Filter中无法转发请求

    struts2 Filter中无法转发请求 项目升级struts2版本为最新以修复漏洞,由于一些历史原因,部分访问在升级后访问404,直接对历史代码改造代价太大. 于是使用拦截器对其转发.重定向,但是 ...