Codeforces Round #688 (Div. 2)
A. Cancel the Trains
题意:给定两个数组,找出这两个数组中有多少重复元素,然后输出
思路:直接找
代码:

1 #include<iostream>
2 #include<algorithm>
3 #include<cstdio>
4 #include<cmath>
5 #include<cstring>
6 #include<map>
7 #include<queue>
8 using namespace std;
9 const int maxx=2e5+10;//14.12
10 int main(){
11 int n;
12 scanf("%d",&n);
13 while(n--){
14 int a[150]={0};
15 int b[150]={0};
16 int m,k;
17 scanf("%d %d",&m,&k);
18 for(int i=0;i<m;i++){
19 int num;
20 scanf("%d",&num);
21 a[num]++;
22 }
23 for(int j=0;j<k;j++){
24 int num;
25 scanf("%d",&num);
26 b[num]++;
27 }
28 int sum=0;
29 for(int i=0;i<150;i++){
30 if(a[i]>0&&b[i]>0){
31 sum++;
32 }
33 }
34 printf("%d\n",sum);
35 }
36 }
B. Suffix Operations
题目及解题见:一道codeforces题引发的差分学习
C. Triangles(思维题)
题意:题目中已知矩阵及其矩阵上的数字(从0-9),问最大面积的三角形:1.0-9各个数字分别构成的最大的三角形,保证顶点上是其对应的数字;2.可以替换掉矩阵中任意一个数字,把它变成任意一个数字;3.保证三角形的一个边和是水平的或者竖直的,输出各个数构成三角形的最大面积值
思路:构造,让其一个点是定住的,找到此数能到达的最大位置x和最小的位置x(纵坐标不一定相等)然后竖直方向直接改变进行变换,让其成为被改变的那个数,这样就和竖直方向平行了。水平方向的计算也是如此
代码:

1 #include<iostream>
2 #include<cstdio>
3 #include<cmath>
4 #include<cstring>
5 #include<algorithm>
6 #include<map>
7 using namespace std;
8 //const int maxxx=1e5+10;
9 int maxx[20]={0},maxy[20]={0},minx[20],miny[20],c[50]={0};
10 int ans[50]={0},p[2500][2500];
11 int main(){
12 int t;
13 scanf("%d",&t);
14 while(t--){
15 int n;
16 scanf("%d",&n);
17
18 for(int i=0;i<10;i++){
19 minx[i]=n+1;
20 miny[i]=n+1;
21 maxx[i]=0;
22 maxy[i]=0;
23 c[i]=0;
24 ans[i]=0;
25 }
26 for(int i=1;i<=n;i++){
27 for(int j=1;j<=n;j++){
28 scanf("%1d",&p[i][j]);
29 int xx=p[i][j];
30 c[xx]++;
31 maxx[xx]=max(maxx[xx],i);
32 maxy[xx]=max(maxy[xx],j);
33 minx[xx]=min(minx[xx],i);
34 miny[xx]=min(miny[xx],j);
35 }
36 }
37 for(int i=1;i<=n;i++){
38 for(int j=1;j<=n;j++){
39 int xx;
40 xx=p[i][j];
41 if(c[xx]<2){
42 continue;
43 }
44 int dx=max(i-minx[xx],maxx[xx]-i);
45 int dy=max(j-miny[xx],maxy[xx]-j);
46 ans[xx]=max(ans[xx],dx*(max(j-1,n-j)));
47 ans[xx]=max(ans[xx],dy*(max(i-1,n-i)));
48 }
49 }
50 for(int i=0;i<10;i++){
51 printf("%d",ans[i]);
52 if(i<9){
53 printf(" ");
54 }
55 }
56
57 printf("\n");
58 }
59 }
Codeforces Round #688 (Div. 2)的更多相关文章
- Codeforces Round #688(Div 2) D. Checkpoints
思路 第一步,先推导1,0,0,--,0,就是1后面跟了n-1个0的时候 所需要的期望步数 封闭式推导 \(f_n\)代表从n关开始直接通关需要的步数的期望 n为1的情况,即就只有一个1 \(f_1= ...
- Codeforces Round #366 (Div. 2) ABC
Codeforces Round #366 (Div. 2) A I hate that I love that I hate it水题 #I hate that I love that I hate ...
- Codeforces Round #354 (Div. 2) ABCD
Codeforces Round #354 (Div. 2) Problems # Name A Nicholas and Permutation standard input/out ...
- Codeforces Round #368 (Div. 2)
直达–>Codeforces Round #368 (Div. 2) A Brain’s Photos 给你一个NxM的矩阵,一个字母代表一种颜色,如果有”C”,”M”,”Y”三种中任意一种就输 ...
- cf之路,1,Codeforces Round #345 (Div. 2)
cf之路,1,Codeforces Round #345 (Div. 2) ps:昨天第一次参加cf比赛,比赛之前为了熟悉下cf比赛题目的难度.所以做了round#345连试试水的深浅..... ...
- Codeforces Round #279 (Div. 2) ABCDE
Codeforces Round #279 (Div. 2) 做得我都变绿了! Problems # Name A Team Olympiad standard input/outpu ...
- Codeforces Round #262 (Div. 2) 1003
Codeforces Round #262 (Div. 2) 1003 C. Present time limit per test 2 seconds memory limit per test 2 ...
- Codeforces Round #262 (Div. 2) 1004
Codeforces Round #262 (Div. 2) 1004 D. Little Victor and Set time limit per test 1 second memory lim ...
- Codeforces Round #371 (Div. 1)
A: 题目大意: 在一个multiset中要求支持3种操作: 1.增加一个数 2.删去一个数 3.给出一个01序列,问multiset中有多少这样的数,把它的十进制表示中的奇数改成1,偶数改成0后和给 ...
随机推荐
- Elasticsearch 单字符串多字段查询
前言 有些时候,我们搜索的时候,只会提供一个输入框,但是会查询相关的多个字段,典型的如Google搜索,我们该如何用 Elasticsearch 如何实现呢? 实例 从单字符串查询的实例说起 创建测试 ...
- java例题_29 二维数组问题,并输出对角线之和
1 /*29 [程序 29 求矩阵对角线之和] 2 题目:求一个 3*3 矩阵对角线元素之和 3 程序分析:利用双重 for 循环控制输入二维数组,再将 a[i][i]累加后输出. 4 */ 5 6 ...
- C语言const是如何保证变量不被修改的?
这小段文章要理清楚的是,在C语言中,$const$是如何保证变量不被修改的? 我们可以想到两种方式: 第一种,由编译器来阻止修改$const$变量的语句,让这种程序不能通过编译: 第二种,由操作系统来 ...
- > 与 < 差在哪?-- Shell十三问<第十一问>
> 与 < 差在哪?-- Shell十三问<第十一问> 谈到 I/O redirection ,不妨先让我们认识一下 File Descriptor (FD) .程序的运算,在 ...
- jq分页功能。
最近在写官网的分页功能.在网上找了很多案例都太复杂也太重.所以准备写一个简单一点的分页. 需求:把请求到的数据做分页. 准备:使用了网上一个简单的分页插件. 思路:分页相当于tab切换功能.具体实操把 ...
- cordova app打包apk签名
首先执行:ionic cordova build android --prod --release,执行完会在以下目录生成apk文件( --prod 用以压缩) 然后使用keytool生成keysto ...
- java面试-垃圾回收器谈谈你的理解
一.垃圾回收算法: 引用计数 复制算法 标记-清除 标记-整理 二.垃圾回收的方式: 串行(Serial).并行(Parallel).并发(CMS).G1 1.串行垃圾回收器(Serial) 它为单线 ...
- 从wav到Ogg Opus 以及使用java解码OPUS
PCM 自然界中的声音非常复杂,波形极其复杂,通常我们采用的是脉冲代码调制编码,即PCM编码.PCM通过抽样.量化.编码三个步骤将连续变化的模拟信号转换为数字编码. 采样率 采样频率,也称为采样速度或 ...
- 6.1vector用法
目录 一.用法介绍 二.基本用法 三.PAT A1039 一.用法介绍 vector<typename>name; 按照这样的格式进行定义与书写. 注意定义成双数组的情况要加上空格. ve ...
- Android使用ContentProvider初始化SDK库方案总结
做Android SDK开发的时候,一般我们会将初始化的方法封装为,然后让调用SDK的开发者在Application的onCreate方法中进行初始化.但是目前一些主流的SDK框架,并没有提供相关的方 ...