补题链接: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. phpmyadmin修改上传限制,phpmyadmin修改上传文件大小限制,docker版本phpmyadmin

    我用的是DOCKER 版本的phpmyadmin 修改/usr/local/etc/php/conf.d/phpmyadmin-misc.ini 内的限制变量文件为 100M,重启docker 容器后 ...

  2. java集合框架(二)LinkedList的常见使用

    @[toc]## 一.什么是LinkedList LinkedList是Java中的一个双向链表. 它实现了List和Deque接口,在使用时可以像List一样使用元素索引,也可以像Deque一样使用 ...

  3. 什么是Session;request.getSession().setAttribute()

    Session:会话控制,是服务器为了保存用户状态而创建的一个特殊的对象.=>用于存储信息的一个对象 当我们在服务端使用session时,首先要获取session,下面这个图就对服务器获取ses ...

  4. [Codechef REBXOR]Nikitosh and xor (Trie,异或)

    题目传送门 分析:首次考虑暴力枚举 \(l_{1},r_{1},l_{2},r_{2}\),配合前缀和时间复杂度 \(O(N^{4})\),需要想办法优化.对于这种两段区间不重合的,我们考虑枚举两段区 ...

  5. HoG / SIFT 学习指北

    本文 OI / ACM 无关. Explain HoG 原文出处: N. Dalal, and B. Triggs, Histograms of oriented gradients for huma ...

  6. Kafka集群调优+能力探底

    一.前言 我们需要对4个规格的kafka能力进行探底,即其可以承载的最大吞吐:4个规格对应的单节点的配置如下: 标准版: 2C4G 铂金版: 4C8G 专业版: 8C16G 企业版: 16C32G 另 ...

  7. 【scikit-learn基础】--『数据加载』之样本生成器

    除了内置的数据集,scikit-learn还提供了随机样本的生成器.通过这些生成器函数,可以生成具有特定特性和分布的随机数据集,以帮助进行机器学习算法的研究.测试和比较. 目前,scikit-lear ...

  8. [CF1854E] Game Bundles

    题目描述 Rishi is developing games in the 2D metaverse and wants to offer game bundles to his customers. ...

  9. tomcat服务器报错

    看问题 报错信息里面说 tomcat目录下conf下的aaa.xml报错 根据目录找到aaa.xml发现aaa.xml里面是空的,删除了之后就不报错了 不知道为啥这个就会报错,以前也出现过没有解决,这 ...

  10. SpringBoot CORS 跨域请求解决方案之配置过滤器

    方式一:@CrossOrigin 方式二: @Configuration public class CorsConfig implements WebMvcConfigurer { @Override ...