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

  1. Codeforces Beta Round #80 (Div. 2 Only)【ABCD】

    Codeforces Beta Round #80 (Div. 2 Only) A Blackjack1 题意 一共52张扑克,A代表1或者11,2-10表示自己的数字,其他都表示10 现在你已经有一 ...

  2. 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]中有多少个数 ...

  3. Codeforces Beta Round #83 (Div. 1 Only)题解【ABCD】

    Codeforces Beta Round #83 (Div. 1 Only) A. Dorm Water Supply 题意 给你一个n点m边的图,保证每个点的入度和出度最多为1 如果这个点入度为0 ...

  4. Codeforces Beta Round #13 C. Sequence (DP)

    题目大意 给一个数列,长度不超过 5000,每次可以将其中的一个数加 1 或者减 1,问,最少需要多少次操作,才能使得这个数列单调不降 数列中每个数为 -109-109 中的一个数 做法分析 先这样考 ...

  5. Codeforces Beta Round #79 (Div. 2 Only)

    Codeforces Beta Round #79 (Div. 2 Only) http://codeforces.com/contest/102 A #include<bits/stdc++. ...

  6. Codeforces Beta Round #77 (Div. 2 Only)

    Codeforces Beta Round #77 (Div. 2 Only) http://codeforces.com/contest/96 A #include<bits/stdc++.h ...

  7. Codeforces Beta Round #76 (Div. 2 Only)

    Codeforces Beta Round #76 (Div. 2 Only) http://codeforces.com/contest/94 A #include<bits/stdc++.h ...

  8. Codeforces Beta Round #75 (Div. 2 Only)

    Codeforces Beta Round #75 (Div. 2 Only) http://codeforces.com/contest/92 A #include<iostream> ...

  9. Codeforces Beta Round #74 (Div. 2 Only)

    Codeforces Beta Round #74 (Div. 2 Only) http://codeforces.com/contest/90 A #include<iostream> ...

随机推荐

  1. keycloak集群化的思考

    目录 简介 keycloak中的集群 load balancing负载均衡 暴露客户端IP地址 sticky sessions 和 非sticky sessions shared databases ...

  2. node中 path.join 和 path.resovle 区别

    console.log(__dirname) console.log('----') console.log(path.resolve(__dirname, '/a/b', '../')) conso ...

  3. 如何写一个自己的组件库,打成NPM包,并上传到NPM远程

    1.首先使用vue create my_project 构建一个自己的Vue项目 2.vue.config.js和package.json配置如下,做了些修改 const path = require ...

  4. 【Java基础】面向对象下

    面向对象下 这一章主要涉及其他关键字,包括 this.super.static.final.abstract.interface.package.import 等. static 在 Java 类中, ...

  5. HDU6375双端队列

    要点分析: 1.本题可以使用C++STL中的deque双端队列来方便解决(底层是一个双向的链表) 2.值得注意的是N的上限为150000,所以直接开这么大的空间会超内存,可以配合map一起使用 关于双 ...

  6. Spring Boot 应用使用spring session+redis启用分布式session后,如何在配置文件里设置应用的cookiename、session超时时间、redis存储的namespace

    现状 项目在使用Spring Cloud搭建微服务框架,其中分布式session采用spring session+redis 模式 需求 希望可以在配置文件(application.yml)里设置应用 ...

  7. Python使用Protobuf&&如何赋值&&如何正反序列化

    前言 使用protobuf主要是两个步骤,序列化和反序列化. 关于Proto有哪些数据类型,然后如何编写,此处就不赘述了,百度一下有很多. 此文主要是总结,python使用protobuf的过程,如何 ...

  8. Hbase 手动执行MajorCompation

    说明: Major Compaction 的作用: 1.将一个Region下的所有StoreFile合并成一个StoreFile文件 2.对于删除.过期.多余版本的数据进行清除 由于MajorComp ...

  9. Windows安全加固

    Windows安全加固 # 账户管理和认证授权 # 1.1 账户 # 默认账户安全 # 禁用Guest账户. 禁用或删除其他无用账户(建议先禁用账户三个月,待确认没有问题后删除.) 操作步骤 本地用户 ...

  10. luogu P1453 城市环路

    题目描述 整个城市可以看做一个N个点,N条边的单圈图(保证图连通),唯一的环便是绕城的环路.保证环上任意两点有且只有2条路径互通.图中的其它部分皆隶属城市郊区. 现在,有一位名叫Jim的同学想在B市开 ...