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)的更多相关文章

  1. Codeforces Round #688(Div 2) D. Checkpoints

    思路 第一步,先推导1,0,0,--,0,就是1后面跟了n-1个0的时候 所需要的期望步数 封闭式推导 \(f_n\)代表从n关开始直接通关需要的步数的期望 n为1的情况,即就只有一个1 \(f_1= ...

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

  3. Codeforces Round #354 (Div. 2) ABCD

    Codeforces Round #354 (Div. 2) Problems     # Name     A Nicholas and Permutation standard input/out ...

  4. Codeforces Round #368 (Div. 2)

    直达–>Codeforces Round #368 (Div. 2) A Brain’s Photos 给你一个NxM的矩阵,一个字母代表一种颜色,如果有”C”,”M”,”Y”三种中任意一种就输 ...

  5. cf之路,1,Codeforces Round #345 (Div. 2)

     cf之路,1,Codeforces Round #345 (Div. 2) ps:昨天第一次参加cf比赛,比赛之前为了熟悉下cf比赛题目的难度.所以做了round#345连试试水的深浅.....   ...

  6. Codeforces Round #279 (Div. 2) ABCDE

    Codeforces Round #279 (Div. 2) 做得我都变绿了! Problems     # Name     A Team Olympiad standard input/outpu ...

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

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

  9. Codeforces Round #371 (Div. 1)

    A: 题目大意: 在一个multiset中要求支持3种操作: 1.增加一个数 2.删去一个数 3.给出一个01序列,问multiset中有多少这样的数,把它的十进制表示中的奇数改成1,偶数改成0后和给 ...

随机推荐

  1. ASP.NET跨域访问解决

    第一种: step1:添加引用(搜索CORS) step2: App_Start/WebApiConfig.cs中添加配置 step3: 在控制器中添加特性 第二种: 在App_Start/WebAp ...

  2. Azure Front Door(三)启用 Web Application Firewall (WAF) 保护Web 应用程序,拒绝恶意攻击

    一,引言 上一篇我们利用 Azure Front Door 为后端 VM 部署提供流量的负载均衡.因为是演示实例,也没有实际的后端实例代码,只有一个 "Index.html" 的静 ...

  3. UML第二部分和创建型模式

    状态机视图通过对每个类的对象的生命期进行建模 描述了对象时间上的动态行为 .状态指就某个特定类而言 对于发生的事件具有相同性质响应的一系列对象值.状态机不但可以描述类的行为 而且可以描述用例 协作和方 ...

  4. 全面了解Vue3的 reactive 和相关函数

    Vue3的 reactive 怎么用,原理是什么,官网上和reactive相关的那些函数又都是做什么用处的?这里会一一解答. ES6的Proxy Proxy 是 ES6 提供的一个可以拦截对象基础操作 ...

  5. Oment++ 初学者教程 第4节-将其转变为真实网络

    4.1两个以上的节点 现在,我们将迈出一大步:创建几个tic模块并将它们连接到网络中.现在,我们将使它们的工作变得简单:一个节点生成一条消息,其他节点继续沿随机方向扔消息,直到它到达预定的目标节点为止 ...

  6. day-08-文件管理

    文件的操作的初识 利用python代码写一个很low的软件,去操作文件. 文件路径:path 打开方式:读,写,追加,读写,写读...... 编码方式:utf-8,gbk ,gb2312...... ...

  7. java面试-死锁产生、定位分析和修复

    死锁发生:两个或多个线程之间,互相持有对方需要的锁,而永久处于阻塞状态 一.手写死锁代码: public class DeadLockSample extends Thread { private S ...

  8. leetcode 783 二叉搜索树节点最小距离

    PS:(感觉这题名字和内容有歧义) 要求得到任意不同节点值之间的最小差值. 本身二叉树是有序的,又找最小差值,其实就是相当于在一个有序数组中找到每相邻两数之间最小差值. 朴素思想: 中序遍历树,把值都 ...

  9. PMP考位抢夺攻略(二)

    为什么会有第二篇文章呢,因为北京周边的考点太难抢了,都不是页面样式能不能展示的问题了!!! 如何在网页完全打不开的情况下报考PMP? 首先,自动登录. 打开浏览器,输入网址http://exam.ch ...

  10. 通过Dapr实现一个简单的基于.net的微服务电商系统(四)——一步一步教你如何撸Dapr之订阅发布

    之前的章节我们介绍了如何通过dapr发起一个服务调用,相信看过前几章的小伙伴已经对dapr有一个基本的了解了,今天我们来聊一聊dapr的另外一个功能--订阅发布 目录:一.通过Dapr实现一个简单的基 ...