Educational Codeforces Round 107 (Rated for Div. 2) 个人题解(A~D)
补题链接:Here
1511A. Review Site
题意:\(n\) 个影评人,\(a_i\) 有三种类型,如下
- \(a_i = 1\) ,则表示支持
- \(a_i = 0\) ,则表示不支持
- \(a_i = 3\) ,则表示无所谓
现在求最大的支持数。
思路:把 \(a_i = 1,3\) 的累加即可
1511B. GCD Length
给定位数 \(a,b\) 和 \(gcd(a,b) = c\)
求出 \(x,y\)
思路:保持最高位基本一致为 \(1\) ,接下来取 \(0\) 这样一定可以得到 gcd(x,y) = c
比赛的时候的猜想,现在证明不出来。。。
void solve() {
int a, b, c;
cin >> a >> b >> c;
for (int i = 0; i <= a - c; ++i) cout << 1;
for (int i = 1; i < c; ++i) cout << 0;
cout << " 1";
for (int i = 1; i < b; ++i) cout << 0;
cout << "\n";
}
1511C. Yet Another Card Deck
题意:给定 \(n\) 张卡牌和 \(q\) 次操作,每次操作要执行输出下标(从1开始)、把该卡片放置最前面
由于卡牌种类仅 \(50\) 种,所以我可以枚举和变化下标
详细见代码
void solve() {
int n, q;
cin >> n >> q;
vector<int> a(n), idx(51);
for (int &x : a) cin >> x;
for (int i = n - 1; i >= 0; --i) idx[a[i]] = i;
for (int i = 0, t; i < q; ++i) {
cin >> t;
cout << idx[t] + 1 << " ";
for (int j = 1; j <= 50; ++j)
if (j != t && idx[j] < idx[t]) idx[j]++; // 使原本在此卡牌之前的牌往后移
idx[t] = 0;
}
}
另外看了下其他dalao的代码想起可以用树状数组做
1511D. Min Cost String
由于要满足 \(k\) 次 cost,只要贪心拼接即可
void solve() {
int n, k;
cin >> n >> k;
string s;
for (int i = 0; i < k; i++) {
s += 'a' + i;
for (int j = i + 1; j < k; j++) {
s += 'a' + i;
s += 'a' + j;
}
}
// assert(s.size() == k * k);
for (int i = 0; i < n; i += 1) cout << s[i % s.size()];
}
1511E. Colorings and Dominoes
没怎么懂这么题,先贴一下学长的代码
void solve() {
int n, m;
cin >> n >> m;
vector<string> vs(n);
for (int i = 0; i < n; ++i) cin >> vs[i];
int k = n * m;
vector<ll> pw(k + 1), ans(k + 1), pv(k + 1);
for (int i = 0; i <= k; ++i) pw[i] = i ? pw[i - 1] * 2 % mod : 1;
for (int i = 0; i <= k; ++i) pv[i] = i ? pv[i - 1] * (mod + 1) / 2 % mod : 1;
ll sum = 0;
for (int i = 1; i <= k; ++i) {
if (i >= 3 and i % 2) sum = (sum + pv[i]) % mod;
ans[i] = (ans[i - 1] * 2 + pw[i] * sum + (i % 2 == 0)) % mod;
//cout << i << " " << ans[i] << "\n";
}
int w = 0;
for (auto s : vs)
for (char c : s) w += c == 'o';
ll res = 0;
for (int i = 0; i < n; ++i) {
int p = 0;
for (int j = 0; j <= m; ++j)
if (j < m and vs[i][j] == 'o') p++;
else {
res = (res + ans[p] * pw[w - p]) % mod;
p = 0;
}
}
for (int i = 0; i < m; i++) {
int p = 0;
for (int j = 0; j <= n; j++)
if (j < n and vs[j][i] == 'o') p++;
else {
res = (res + ans[p] * pw[w - p]) % mod;
p = 0;
}
}
cout << res;
}
Educational Codeforces Round 107 (Rated for Div. 2) 个人题解(A~D)的更多相关文章
- Educational Codeforces Round 48 (Rated for Div. 2) CD题解
Educational Codeforces Round 48 (Rated for Div. 2) C. Vasya And The Mushrooms 题目链接:https://codeforce ...
- Educational Codeforces Round 59 (Rated for Div. 2) DE题解
Educational Codeforces Round 59 (Rated for Div. 2) D. Compression 题目链接:https://codeforces.com/contes ...
- Educational Codeforces Round 57 (Rated for Div. 2) ABCDEF题解
题目总链接:https://codeforces.com/contest/1096 A. Find Divisible 题意: 给出l,r,在[l,r]里面找两个数x,y,使得y%x==0,保证有解. ...
- Educational Codeforces Round 80 (Rated for Div. 2)部分题解
A. Deadline 题目链接 题目大意 给你\(n,d\)两个数,问是否存在\(x\)使得\(x+\frac{d}{x+1}\leq n\),其中\(\frac{d}{x+1}\)向上取整. 解题 ...
- Educational Codeforces Round 129 (Rated for Div. 2) A-D
Educational Codeforces Round 129 (Rated for Div. 2) A-D A 题目 https://codeforces.com/contest/1681/pro ...
- 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 ...
- 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 ...
- Educational Codeforces Round 43 (Rated for Div. 2)
Educational Codeforces Round 43 (Rated for Div. 2) https://codeforces.com/contest/976 A #include< ...
- Educational Codeforces Round 35 (Rated for Div. 2)
Educational Codeforces Round 35 (Rated for Div. 2) https://codeforces.com/contest/911 A 模拟 #include& ...
- 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 ...
随机推荐
- 文心一言 VS 讯飞星火 VS chatgpt (143)-- 算法导论12.1 3题
三.用go语言,设计一个执行中序遍历的非递归算法.(提示:一种容易的方法是使用栈作为辅助数据结构;另一种较复杂但比较简洁的做法是不使用栈,但要假设能测试两个指针是否相等.) 文心一言,代码正常运行: ...
- Kotlin协程系列(二)
在进行业务开发时,我们通常会基于官方的协程框架(kotlinx.coroutines)来运用Kotlin协程优化异步逻辑,不过这个框架过于庞大和复杂,如果直接接触它容易被劝退.所以,为了我们在后续的学 ...
- 【封装】Trie
#include<cstdio> const int N = 1e6 + 5; struct Trie{ int root, id; bool bit[32]; struct Node{ ...
- k8s~envoy上添加wasm插件
先查看这篇文章k8s~envoy的部署 当在Kubernetes中使用Envoy的WASM过滤器时,WASM过滤器会与Envoy一起部署在同一个Pod中,并与后端服务进行通信.以下是一个简单的关系图示 ...
- [ABC238G] Cubic?
Problem Statement Given a sequence $A$ of $N$ numbers, answer the following $Q$ questions. In the $i ...
- 容器网络Cilium:DualStack双栈特性分析
本文分享自华为云社区<容器网络Cilium入门系列之DualStack双栈特性分析>,作者: 可以交个朋友. 一 . 关于IPV6/IPV4 双栈 目前很多公司开始将自己的业务由ipv4切 ...
- winform中也可以这样做数据展示✨
1.前言 在做winform开发的过程中,经常需要做数据展示的功能,之前一直使用的是gridcontrol控件,今天想通过一个示例,跟大家介绍一下如何在winform blazor hybrid中使用 ...
- Java五种设计模式实现奶茶订单生成系统小DEMO
前言 这是大学时候上设计模式这门课写的程序,当时课程任务是要求结合五个设计模式写一个系统,最近偶然翻到,把系统分享一下. 成品预览 主界面 功能介绍 订单管理系统,实现了对订单的增删改查.且实现了 ...
- LeetCode54、59:螺旋矩阵|、||(递归,模拟)
解题思路:定义一个方向数组,用栈或者直接从左上角的起点进行DFS,如果碰到下一步无法访问,调整方向,继续遍历,直到所有元素都访问了. (这道题好有历史感,到现在还记得我读大一的时候参加院队培训的时候做 ...
- DVWA File Inclusion(文件包含)全等级
File Inclusion(文件包含) 目录: File Inclusion(文件包含) 前言 PHP伪协议 1.Low get webshell 本地文件包含 远程文件包含 2.Medium 3. ...