补题链接: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)的更多相关文章

  1. Educational Codeforces Round 48 (Rated for Div. 2) CD题解

    Educational Codeforces Round 48 (Rated for Div. 2) C. Vasya And The Mushrooms 题目链接:https://codeforce ...

  2. Educational Codeforces Round 59 (Rated for Div. 2) DE题解

    Educational Codeforces Round 59 (Rated for Div. 2) D. Compression 题目链接:https://codeforces.com/contes ...

  3. 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,保证有解. ...

  4. Educational Codeforces Round 80 (Rated for Div. 2)部分题解

    A. Deadline 题目链接 题目大意 给你\(n,d\)两个数,问是否存在\(x\)使得\(x+\frac{d}{x+1}\leq n\),其中\(\frac{d}{x+1}\)向上取整. 解题 ...

  5. 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 ...

  6. 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 ...

  7. 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 ...

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

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

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

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

  10. 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 ...

随机推荐

  1. 文心一言 VS 讯飞星火 VS chatgpt (143)-- 算法导论12.1 3题

    三.用go语言,设计一个执行中序遍历的非递归算法.(提示:一种容易的方法是使用栈作为辅助数据结构;另一种较复杂但比较简洁的做法是不使用栈,但要假设能测试两个指针是否相等.) 文心一言,代码正常运行: ...

  2. Kotlin协程系列(二)

    在进行业务开发时,我们通常会基于官方的协程框架(kotlinx.coroutines)来运用Kotlin协程优化异步逻辑,不过这个框架过于庞大和复杂,如果直接接触它容易被劝退.所以,为了我们在后续的学 ...

  3. 【封装】Trie

    #include<cstdio> const int N = 1e6 + 5; struct Trie{ int root, id; bool bit[32]; struct Node{ ...

  4. k8s~envoy上添加wasm插件

    先查看这篇文章k8s~envoy的部署 当在Kubernetes中使用Envoy的WASM过滤器时,WASM过滤器会与Envoy一起部署在同一个Pod中,并与后端服务进行通信.以下是一个简单的关系图示 ...

  5. [ABC238G] Cubic?

    Problem Statement Given a sequence $A$ of $N$ numbers, answer the following $Q$ questions. In the $i ...

  6. 容器网络Cilium:DualStack双栈特性分析

    本文分享自华为云社区<容器网络Cilium入门系列之DualStack双栈特性分析>,作者: 可以交个朋友. 一 . 关于IPV6/IPV4 双栈 目前很多公司开始将自己的业务由ipv4切 ...

  7. winform中也可以这样做数据展示✨

    1.前言 在做winform开发的过程中,经常需要做数据展示的功能,之前一直使用的是gridcontrol控件,今天想通过一个示例,跟大家介绍一下如何在winform blazor hybrid中使用 ...

  8. Java五种设计模式实现奶茶订单生成系统小DEMO

    前言 这是大学时候上设计模式这门课写的程序,当时课程任务是要求结合五个设计模式写一个系统,最近偶然翻到,把系统分享一下. 成品预览 主界面 ​ 功能介绍 订单管理系统,实现了对订单的增删改查.且实现了 ...

  9. LeetCode54、59:螺旋矩阵|、||(递归,模拟)

    解题思路:定义一个方向数组,用栈或者直接从左上角的起点进行DFS,如果碰到下一步无法访问,调整方向,继续遍历,直到所有元素都访问了. (这道题好有历史感,到现在还记得我读大一的时候参加院队培训的时候做 ...

  10. DVWA File Inclusion(文件包含)全等级

    File Inclusion(文件包含) 目录: File Inclusion(文件包含) 前言 PHP伪协议 1.Low get webshell 本地文件包含 远程文件包含 2.Medium 3. ...