Codeforces Round #689 (Div. 2, based on Zed Code Competition) 个人题解
1461A. String Generation
void solve() {
int n, k;
cin >> n >> k;
for (int i = 1; i <= n; ++i)
cout << (char)(i < k ? 'a' : 'a' + (i - k) % 3);
cout << endl;
}
1461B.Find the Spruce
DP,从下往上推
const int N = 500 + 10;
char s[N][N];
int dp[N][N];
void solve() {
int n, m;
cin >> n >> m;
for (int i = 1; i <= n; ++i)
cin >> s[i] + 1;
int ans = 0;
for (int i = n; i; i -= 1)
for (int j = m; j; j -= 1) {
dp[i][j] = 0;
if (s[i][j] == '*') {
if (i < n and j > 1 and j < m)
dp[i][j] = 1 + min({dp[i + 1][j - 1], dp[i + 1][j],
dp[i + 1][j + 1]});
else
dp[i][j] = 1;
}
ans += dp[i][j];
}
cout << ans << endl;
}
1461C. Random Events
贪心
int a[N];
void solve() {
cout << fixed << setprecision(6);
int n, q;
cin >> n >> q;
for (int i = 1; i <= n; ++i)
cin >> a[i];
int m = n;
while (a[m] == m and m)
m--;
double ans = 1, p;
for (int i = 1, r; i <= q; i += 1) {
cin >> r >> p;
if (r >= m)
ans *= 1 - p;
}
if (!m)
cout << 1.0 << endl;
else
cout << 1 - ans << endl;
}
1461D.Divide and Summarize
贪心先把能找到的都找出来, \(O(nlog^2n)\)
int a[N];
ll sum[N];
void solve() {
cout << fixed << setprecision(6);
int n, m, q;
cin >> n >> m;
for (int i = 1; i <= n; ++i)
cin >> a[i];
sort(a + 1, a + 1 + n);
// 前缀和
for (int i = 1; i <= n; ++i)
sum[i] = sum[i - 1] + a[i];
set<ll> s;
// 用新写法
function<void(int, int)> DFS = [&](int L, int R) {
s.insert(sum[R] - sum[L - 1]);
if (a[L] == a[R])
return;
int M = upper_bound(a + L, a + R + 1, (a[L] + a[R]) / 2) - a;
DFS(L, M - 1),DFS(M, R);
};
DFS(1, n);
for (int i = 1; i <= m; ++i) {
cin >> q;
cout << (s.count(q) ? "Yes\n" : "No\n");
}
}
Codeforces Round #689 (Div. 2, based on Zed Code Competition) 个人题解的更多相关文章
- Codeforces Round #689 (Div. 2, based on Zed Code Competition) E. Water Level (贪心好题)
题意:你在一家公司工作\(t\)天,负责给饮水机灌水,饮水机最初有\(k\)升水,水的范围必须要在\([l,r]\)内,同事每天白天都会喝\(x\)升水,你在每天大清早可以给饮水机灌\(y\)升水,问 ...
- Codeforces Round #403 (Div. 2, based on Technocup 2017 Finals)
Codeforces Round #403 (Div. 2, based on Technocup 2017 Finals) 说一点东西: 昨天晚上$9:05$开始太不好了,我在学校学校$9:40$放 ...
- Codeforces Round #500 (Div. 2) [based on EJOI]
Codeforces Round #500 (Div. 2) [based on EJOI] https://codeforces.com/contest/1013 A #include<bit ...
- Codeforces Round #517 (Div. 2, based on Technocup 2019 Elimination Round 2)
Codeforces Round #517 (Div. 2, based on Technocup 2019 Elimination Round 2) #include <bits/stdc++ ...
- Codeforces Round #626 (Div. 2, based on Moscow Open Olympiad in Informatics)
A. Even Subset Sum Problem 题意 给出一串数,找到其中的一些数使得他们的和为偶数 题解 水题,找到一个偶数或者两个奇数就好了 代码 #include<iostream& ...
- Codeforces Round #596 (Div. 2, based on Technocup 2020 Elimination Round 2)
A - Forgetting Things 题意:给 \(a,b\) 两个数字的开头数字(1~9),求使得等式 \(a=b-1\) 成立的一组 \(a,b\) ,无解输出-1. 题解:很显然只有 \( ...
- (AB)Codeforces Round #528 (Div. 2, based on Technocup 2019 Elimination Round
A. Right-Left Cipher time limit per test 1 second memory limit per test 256 megabytes input standard ...
- Codeforces Round #434 (Div. 2, based on Technocup 2018 Elimination Round 1)&&Codeforces 861C Did you mean...【字符串枚举,暴力】
C. Did you mean... time limit per test:1 second memory limit per test:256 megabytes input:standard i ...
- Codeforces Round #434 (Div. 2, based on Technocup 2018 Elimination Round 1)&&Codeforces 861B Which floor?【枚举,暴力】
B. Which floor? time limit per test:1 second memory limit per test:256 megabytes input:standard inpu ...
- Codeforces Round #434 (Div. 2, based on Technocup 2018 Elimination Round 1)&&Codeforces 861A k-rounding【暴力】
A. k-rounding time limit per test:1 second memory limit per test:256 megabytes input:standard input ...
随机推荐
- RLHF · PBRL | B-Pref:生成多样非理性 preference,建立 PBRL benchmark
论文题目:B-Pref: Benchmarking Preference-Based Reinforcement Learning,2021 NeurIPS Track Datasets and Be ...
- .NET Conf 2023 Chengdu - 成都站圆满结束!
今年的.NET Conf 2023,中国区首次有两个会场举办Local Event,成都会场已于上周六12月9日圆满结束. 本次成都会场共计100+余名.NET开发者报名参与,共计10+名志愿者参与筹 ...
- out.print()
在学习过程中发现跟着视频打out.print报错 查阅资料知道 新建Java工程时,应选择Java Enterprise而非Java里的webapplication(Java Enterprise会自 ...
- 8 HTTP 的请求方法
目录 标准请求方法 GET/HEAD GET 方法 HEAD方法 POST/PUT POST PUT 非常用方法 DELETE 方法 CONNECT 方法 OPTIONS 方法 TRACE 方法 拓展 ...
- 牛客小白月赛2 E题 是是非非 (尼姆博弈)
题目链接:https://www.nowcoder.com/acm/contest/86/E 解题思路:由尼姆博弈我们可以知道,如果所有堆的石子数量异或为0,那么先手必败,否则先手必胜. 由异或我们可 ...
- MinIO客户端之cat
MinIO提供了一个命令行程序mc用于协助用户完成日常的维护.管理类工作. 官方资料 mc cat 使用cat命令输出本地硬盘上的文本文件的内容至控制台. ./mc cat ./local.json ...
- Fpga开发笔记(一):高云FPGA芯片介绍,入手开发板套件、核心板和底板介绍
前言 FPGA作为一种逻辑芯片,硬件架构独特,具有并行性.低延时性和灵活性等特性,应用领域广泛. FPGA市场主要玩家是英特尔.AMD.莱迪思.Microchip.Achronix等:国内厂商包 ...
- Jenkins汉化配置
登录进入Jenkins首页 输入:本地ip+端口号(localhost:8099) 进入插件管理页面(Manage Jenkins)安装相关插件 搜索:到available栏目搜索:Locale pl ...
- flutter弹窗
AlertDialog: 优点:Material风格的弹窗,具有灵活的布局和样式自定义能力.易于使用,并提供了标题.内容和操作按钮的选项. 缺点:对于复杂的自定义布局和样式可能不够灵活. Bottom ...
- 如何将没有复制或移动构造函数的对象放入vector容器
正文 直接说答案,这个问题无法实现.原因是因为std::vector容器的插入一定会调用类对象的构造函数或者移动构造函数. 说一下为什么会有这个问题,因为不想用指针,我想直接通过类对象本身的RAII机 ...