Testing Beta Round (Unrated)
比赛链接:https://codeforces.com/contest/1390
A. 123-sequence
题意
给出一个只含有 $1,2,3$ 的数组,问使所有元素相同至少要替换多少元素。
题解
统计数组中出现次数最多的元素即可。
代码
#include <bits/stdc++.h>
using namespace std;
int main() {
int n; cin >> n;
int mx = 0;
map<int, int> cnt;
for (int i = 0; i < n; ++i) {
int x; cin >> x;
mx = max(mx, ++cnt[x]);
}
cout << n - mx << "\n";
}
B. Right Triangles
题意
给出一个只含有 '*','.' 的 $n \times m$ 的方阵,问方阵中有多少两条直角边与方阵平行的由 '*' 组成三个顶点的直角三角形。
题解
预处理出每个点上下左右 '*' 的个数,然后枚举四个方向的直角三角形即可。
Tips
== 的优先级要先于 = ,所以如果赋值中有 == ,应将其括起来。
代码
#include <bits/stdc++.h>
using ll = long long;
using namespace std;
const int N = 1005; int n, m;
char MP[N][N];
ll u[N][N], d[N][N], l[N][N], r[N][N]; int main() {
cin >> n >> m;
for (int i = 1; i <= n; ++i) {
for (int j = 1; j <= m; ++j) {
cin >> MP[i][j];
}
}
for (int i = 1; i <= n; ++i) {
for (int j = 1; j <= m; ++j) {
l[i][j] = l[i][j - 1] + (MP[i][j] == '*');
}
for (int j = m; j >= 1; --j) {
r[i][j] = r[i][j + 1] + (MP[i][j] == '*');
}
}
for (int i = 1; i <= m; ++i) {
for (int j = 1; j <= n; ++j) {
u[j][i] = u[j - 1][i] + (MP[j][i] == '*');
}
for (int j = n; j >= 1; --j) {
d[j][i] = d[j + 1][i] + (MP[j][i] == '*');
}
}
ll ans = 0;
for (int i = 1; i <= n; ++i) {
for (int j = 1; j <= m; ++j) {
if (MP[i][j] == '*') {
--u[i][j], --d[i][j], --l[i][j], --r[i][j]; //减去自身
ans += u[i][j] * l[i][j];
ans += u[i][j] * r[i][j];
ans += d[i][j] * l[i][j];
ans += d[i][j] * r[i][j];
}
}
}
cout << ans << "\n";
}
今晚的 cf 明天再补,早些休息吧
Testing Beta Round (Unrated)的更多相关文章
- Codeforces Beta Round #80 (Div. 2 Only)【ABCD】
Codeforces Beta Round #80 (Div. 2 Only) A Blackjack1 题意 一共52张扑克,A代表1或者11,2-10表示自己的数字,其他都表示10 现在你已经有一 ...
- Codeforces Beta Round #62 题解【ABCD】
Codeforces Beta Round #62 A Irrational problem 题意 f(x) = x mod p1 mod p2 mod p3 mod p4 问你[a,b]中有多少个数 ...
- Codeforces Beta Round #83 (Div. 1 Only)题解【ABCD】
Codeforces Beta Round #83 (Div. 1 Only) A. Dorm Water Supply 题意 给你一个n点m边的图,保证每个点的入度和出度最多为1 如果这个点入度为0 ...
- Codeforces Beta Round #13 C. Sequence (DP)
题目大意 给一个数列,长度不超过 5000,每次可以将其中的一个数加 1 或者减 1,问,最少需要多少次操作,才能使得这个数列单调不降 数列中每个数为 -109-109 中的一个数 做法分析 先这样考 ...
- Codeforces Beta Round #79 (Div. 2 Only)
Codeforces Beta Round #79 (Div. 2 Only) http://codeforces.com/contest/102 A #include<bits/stdc++. ...
- Codeforces Beta Round #77 (Div. 2 Only)
Codeforces Beta Round #77 (Div. 2 Only) http://codeforces.com/contest/96 A #include<bits/stdc++.h ...
- Codeforces Beta Round #76 (Div. 2 Only)
Codeforces Beta Round #76 (Div. 2 Only) http://codeforces.com/contest/94 A #include<bits/stdc++.h ...
- Codeforces Beta Round #75 (Div. 2 Only)
Codeforces Beta Round #75 (Div. 2 Only) http://codeforces.com/contest/92 A #include<iostream> ...
- Codeforces Beta Round #74 (Div. 2 Only)
Codeforces Beta Round #74 (Div. 2 Only) http://codeforces.com/contest/90 A #include<iostream> ...
随机推荐
- 巧用 Lazy 解决.NET Core中的循环依赖关系
原文作者: Thomas Levesque 原文链接:https://thomaslevesque.com/2020/03/18/lazily-resolving-services-to-fix-ci ...
- 有哪些适合个人开发的微信小程序
微信小程序提供了一个简单.高效的应用开发框架和丰富的组件及API,帮助开发者在微信中开发具有原生 APP 体验的服务. 微信小程序支持采用云开发模式,无需后台服务,十分的方便快捷,适合个人开发一些工具 ...
- GitLab的安装及使用
Gitlab环境部署 安装依赖包. sudo yum install -y curl policycoreutils-python openssh-server 设置SSH开机自启动并启动SSH服 ...
- Navcat连接Mysql报错1521
原因是新版的MySql密码加密算法改变,导致旧版本的Navcat连接报错. 解决方案: 1.升级Navcat 因为只是本地的Mysql,所以没验证这个方法,网传可以,此处不介绍. 2.修改Mysql加 ...
- requests顺序执行实现
多步请求封装,执行完一个用例 def requests(self,step_info): request_type =step_info['请求方式'] if request_type==" ...
- 【Oracle】删除表空间
删除表空间如果是 SQL> DROP TABLEPSACE XXXX; 是无法将数据文件一同都删除的 想要删除表空间和数据文件需要如下操作: SQL> drop tablespace XX ...
- LuoguP5748 集合划分计数
题意 一个有\(n\)个元素的集合,将其分为任意个非空子集,求方案数.集合之间是无序的,\(\{\{1,2\},\{3\}\}=\{\{3\},\{1,2\}\}\). 设\(f_n\)表示用\(n\ ...
- 一种获取context中keys和values的高效方法 | golang
我们知道,在 golang 中的 context 是一个非常重要的包,保存了代码活动的上下文.我们经常使用 WithValue() 这个方法,来往 context 中 传递一些 key value 数 ...
- numpy模块(详解)
重点 索引和切片 级联 聚合操作 统计操作 矩阵 什么是数据分析 是把隐藏在一些看似杂乱无章的数据背后的信息提炼出来,总结出所研究对象的内在规律 数据分析是用适当的方法对收集来的大量数据进行分析,帮助 ...
- PE节表