补题链接:Here

1535A. Fair Playoff

四名选手参加了季后赛。比赛按以下方案进行:第一名选手与第二名选手比赛,第三名选手与第四名选手比赛,然后两人中的获胜者进入决赛。

众所周知,在两个选手之间的比赛中,技术更高的一个将获胜。第 \(i\) 位玩家的技能等于 \(s_i\) ,所有技能等级两两不同(i。 e。数组中没有两个相同的值。

如果两位技术最高的选手在决赛中相遇,这场比赛就被称为公平。

确定给定的比赛是否公平。


先进行比较,确定出线玩家的技能值大小,然后排序进行最终比较,如果技能值和相等则输出 YES,否则输出 NO

void solve() {
int a[4];
cin >> a[0] >> a[1] >> a[2] >> a[3];
int b = max(a[0], a[1]), c = max(a[2], a[3]);
sort(a, a + 4);
// cout << b << " " << c << " " << a[0] << " " << a[1] << "\n";
if (a[2] + a[3] == b + c)cout << "YES\n";
else cout << "NO\n";
}

1535B. Array Reodering

好下标数对 :\(1\le i < j \le n\) 并且 \(gcd(a_i,2a_j) > 1\)

请问在给定的大小为 \(n\) 的数组可重排序后的最大好下标数对的数量


如果 \(a_i\) 的值为偶数,那么 \(gcd(a_i,2a_j)\) 的值至少为 \(2\) 并且不必去考虑 \(a_j\) 的值,所以我们只需要把原数组的偶数放前面,奇数放后面即可

void solve() {
int n; cin >> n;
vector<int>a, b;
for (int i = 0, x; i < n; ++i) {
cin >> x;
if (x & 1)a.push_back(x);
else b.push_back(x);
}
vector<int>v;
for (int x : b)v.push_back(x);
for (int x : a)v.push_back(x);
int cnt = 0;
for (int i = 0; i < n; ++i)
for (int j = i + 1; j < n; ++j)
if (__gcd(v[i], 2 * v[j] ) > 1)cnt++;
cout << cnt << "\n";
}

更新一发 H神 的写法:Lamda表达式,233ms -> 200ms

void solve() {
int n; cin >> n;
vector<int>a(n);
for (int &x : a)cin >> x;
sort(a.begin(), a.end(), [](const int &x, const int &y) {
return x % 2 < y % 2;
});
int ans = 0;
for (int i = 0; i < n; ++i)
for (int j = i + 1; j < n; ++j)
ans += __gcd(a[i], 2 * a[j]) > 1;
cout << ans << "\n";
}

1535C. Unstable String

给你一个字符串s,定义如果一个字符串任意两个位置符号都不同,且只有0,1组成的字符串是不稳定的。

定义由0,1,?,组成的字符串,且?可以任意的转换成0和1,使字符串可以变成不稳定的字符串叫做美丽字符串。

给一个字符串求有多少子字符串可以形成美丽的字符串。


假如有一个区间 \([l,r]\) ,如果这个区间内的字符串是美丽的,那以r结尾的美丽子字符串的贡献就是 r-l+1

我们每次让右指针向右遍历,如果当前区间是美丽字符串,那以 \(r\) 结尾的子符串产生的贡献就是 r-l+1,如果遍历的过程中当前的字符串不是美丽字符串,那我们就让左指针向右。

但是我们怎么判断当前的区间是不是美丽的呢?

我们判断一个字符串是不是美丽的,其实只需要判断当前区间是不是只有奇数位置上有一种字符,偶数位置上是另一种字符,? 号的时候可以忽略,因为有 ? 可以变成奇数和偶数,不会影响判断。

记得答案要开 long long

因为如果是全是 ? 的串,最终的结果是 \(n*(n+1)/ 2\) 是会超出 int

void solve() {
string s;
cin >> s;
int type = 0, cnt = 0;
ll ans = 0;
for (int i = 0, j = 0; i < s.size(); ++i) {
while (j < s.size()) {
if (s[j] == '?')j++;
else if (cnt == 0 or type == (s[j] - '0') ^ (j % 2)) {
cnt++;
type = (s[j] - '0') ^ (j % 2);
j++;
} else break;
}
ans += j - i;
if (s[i] != '?')cnt--;
}
cout << ans << "\n";
}

1535D. Playoff Tournament

【题意待补】


代码来自 H神,学习ing....

void solve() {
int k; string s;
cin >> k >> s, s = " " + s;
vector<int>par(1 << k), L(1 << k), R(1 << k), f(1 << k);
for (int i = 1, x = 1, y = (1 << (k - 1)) + 1; i < k; ++i) {
for (int j = 0; j < (1 << (k - i)); ++j) {
par[j + x] = j / 2 + y;
(j & 1 ? R : L)[j / 2 + y] = j + x;
}
x = y;
y += (1 << (k - 1 - i));
}
auto up = [&](int i) {
f[i] = 0;
if (i <= (1 << (k - 1)))f[i] = 1 + (s[i] == '?');
else {
if (s[i] != '1')f[i] += f[L[i]];
if (s[i] != '0')f[i] += f[R[i]];
}
};
for (int i = 1; i < (1 << k); ++i)up(i);
int _; for (cin >> _; _--;) {
int p; string c;
cin >> p >> c;
for (s[p] = c[0] ; p; p = par[p])up(p);
cout << f.back() << "\n";
}
}

Educational Codeforces Round 110 (Rated for Div. 2) (AB签到,C题双指针,D题DP好题)的更多相关文章

  1. Educational Codeforces Round 90 (Rated for Div. 2) D. Maximum Sum on Even Positions(dp)

    题目链接:https://codeforces.com/contest/1373/problem/D 题意 给出一个大小为 $n$ 的数组 $a$,下标为 $0 \sim n - 1$,可以进行一次反 ...

  2. Educational Codeforces Round 89 (Rated for Div. 2) B. Shuffle(数学/双指针)

    题目链接:https://codeforces.com/contest/1366/problem/B 题意 大小为 $n$ 的数组 $a$,除了 $a_x = 1$,其余 $a_i = 0$,依次给出 ...

  3. Educational Codeforces Round 60 (Rated for Div. 2) - C. Magic Ship

    Problem   Educational Codeforces Round 60 (Rated for Div. 2) - C. Magic Ship Time Limit: 2000 mSec P ...

  4. Educational Codeforces Round 60 (Rated for Div. 2) - D. Magic Gems(动态规划+矩阵快速幂)

    Problem   Educational Codeforces Round 60 (Rated for Div. 2) - D. Magic Gems Time Limit: 3000 mSec P ...

  5. Educational Codeforces Round 43 (Rated for Div. 2)

    Educational Codeforces Round 43 (Rated for Div. 2) https://codeforces.com/contest/976 A #include< ...

  6. Educational Codeforces Round 35 (Rated for Div. 2)

    Educational Codeforces Round 35 (Rated for Div. 2) https://codeforces.com/contest/911 A 模拟 #include& ...

  7. Codeforces Educational Codeforces Round 44 (Rated for Div. 2) F. Isomorphic Strings

    Codeforces Educational Codeforces Round 44 (Rated for Div. 2) F. Isomorphic Strings 题目连接: http://cod ...

  8. Codeforces Educational Codeforces Round 44 (Rated for Div. 2) E. Pencils and Boxes

    Codeforces Educational Codeforces Round 44 (Rated for Div. 2) E. Pencils and Boxes 题目连接: http://code ...

  9. Educational Codeforces Round 63 (Rated for Div. 2) 题解

    Educational Codeforces Round 63 (Rated for Div. 2)题解 题目链接 A. Reverse a Substring 给出一个字符串,现在可以对这个字符串进 ...

  10. Educational Codeforces Round 39 (Rated for Div. 2) G

    Educational Codeforces Round 39 (Rated for Div. 2) G 题意: 给一个序列\(a_i(1 <= a_i <= 10^{9}),2 < ...

随机推荐

  1. 将 .NET Aspire 部署到 Kubernetes 集群

    使用Aspirate可以将Aspire程序部署到Kubernetes 集群 工具安装 dotnet tool install -g aspirate --prerelease 注意:Aspirate ...

  2. [NOI online22提高A] 丹钓战

    题目描述 有 \(n\) 个二元组 \((a_i, b_i)\),编号为 1 到 n. 有一个初始为空的栈 SS,向其中加入元素 \((a_i, b_i)\) 时,先不断弹出栈顶元素直至栈空或栈顶元素 ...

  3. 设备唯一标识方法(Unique Identifier):如何在 Windows 系统上获取设备的唯一标识

    原文地址 设备唯一标识方法(Unique Identifier):如何在 Windows 系统上获取设备的唯一标识 zz 唯一的标识一个设备是一个基本功能,可以拥有很多应用场景,比如软件授权(如何保证 ...

  4. 使用SPEL自定义表达式

    自定义表达式 Spring提供了一个可以自定义表达式的接口 package com.qbb.qmall.item; import org.junit.Test; import org.springfr ...

  5. 【笔记整理】忽略https证书校验

    import requests url = "https://sam.huat.edu.cn:8443/selfservice/" # 默认不忽略ssl证书,如果有证书问题的网站会 ...

  6. springboot产生非法状态异常+空指针

    springboot产生非法状态异常+空指针 描述:异常描述为在响应提交后不能执行senderror方法 解决方案: 不是,哥们,你不会真觉得有什么合适的解决方案吧,网上几波前辈大佬各说各的,和我的情 ...

  7. loader编写小记

    此项目在一些大佬的基础上进行了修改,或许能提供一些思路.还在学习中很菜很菜,不足之处还请师傅们多多指点 tips 对shellcode使用AES + Base85加密后以txt保存在远端供下载. 针对 ...

  8. AI与低代码解锁无限可能

    前言 近年来,人工智能(AI)和低代码开发技术逐渐成为数字化转型的重要推动力.AI作为一项具有革命性潜力的技术,正在改变我们生活的方方面面.而低代码开发则提供了一种快速构建应用程序的方法,使得开发者无 ...

  9. 十分钟从入门到精通(上)——OBS权限配置

    [摘要]作为公有云的数据底座,大量的应用场景产生的数据都会存储到OBS对象存储服务中,如直播.电商.大数据可视化.机器学习.物联网等.作为公有云的海量存储基础服务, OBS提供了灵活的权限配置功能,解 ...

  10. 创新 = 颠覆?AI创新如何做大蛋糕

    本文分享自华为云社区<创新 = 颠覆?AI创新如何做大蛋糕>,作者: 华为云PaaS服务小智 . 最近随着AI的风靡,各行各业都充斥着近乎疯狂的言论,"AI必将替代一切" ...