Codeforces 918(div4)

Problem - A - Codeforces

#include<bits/stdc++.h>
using namespace std;
const int N = 1e5 + 10;
int a[N]; int main()
{
long long n;
cin >> n; while(n --)
{
int a , b , c;
cin >> a >> b >> c; if(a == b) cout << c << endl;
else if(a == c) cout << b << endl;
else if(b == c) cout << a << endl;
}
return 0;
}

Problem - B - Codeforces

#include<bits/stdc++.h>
using namespace std;
const int N = 1e5 + 10; int main()
{
long long n;
cin >> n; while(n --)
{
char a[4][4] = {0};
int x , y;
for(int i = 1 ; i <= 3 ; i ++)
{
for(int j = 1 ; j <= 3 ; j ++)
{
cin >> a[i][j];
if(a[i][j] == '?')
{
x = i;
y = j;
}
} }
bool sta = false;
bool stb = false;
bool stc = false;
for(int i = 1 ; i <= 3 ; i ++)
{
if(a[x][i] != '?')
{
if(a[x][i] == 'A') sta = true;
if(a[x][i] == 'B') stb = true;
if(a[x][i] == 'C') stc = true;
}
if(a[x][i] == '?') continue;
}
if(!sta) cout << "A" << endl;
else if(!stb) cout << "B" << endl;
else if(!stc) cout << "C" << endl;
}
return 0;
}

Problem - C - Codeforces

注意一下判断 是否为平方数的方法;也要记得开long long

#include<bits/stdc++.h>
using namespace std; bool check(long long p)
{
long long m = sqrt(p);
return (long long)m * m == p;
} int main()
{
long long n;
cin >> n; while(n --)
{
long long m;
cin >> m;
long long sum = 0; for(int i = 1 ; i <= m ; i ++)
{
long long b;
cin >> b;
sum += b;
} if(check(sum)) cout << "Yes" << endl;
else cout << "No" << endl;
}
return 0;
}

Problem - D - Codeforces

正序写 讨论的情况比较多,所以选择倒叙看;

#include <bits/stdc++.h>
using namespace std;
char p[] = {'a','e'};
char q[] = {'b','c','d'}; int check1(char y) //判断是否为V
{
for(int i = 0;i < 2;i++)
if(p[i] == y) return 1;
return 0;
} int check2(char y)//判断是否为C
{
for(int i = 0 ;i < 3;i++)
if(q[i] == y) return 1;
return 0;
} int main()
{
int t;
cin >> t; while(t--)
{
int n;
cin >> n; string a;
cin >> a; string ans;
//倒着看情况少 好写代码
//倒着看 只要第一个符合C那么就往前看是不是满足CVC
//如果是V就看他前一个是不是C;
for(int i = n - 1;i >= 0;i--)
{
ans.push_back(a[i]);
if(check2(a[i]) && check1(a[i-1]) && check2(a[i-2])) //如果符合CVC
{
ans.push_back(a[i-1]);
ans.push_back(a[i-2]);
ans.push_back('.');
i -= 2;
} else if(check1(a[i]) && check2(a[i-1])) //如果符合CV
{
ans.push_back(a[i-1]);
ans.push_back('.');
i -= 1;
}
} for(int i = ans.size()- 2;i >= 0;i--) //要从ans.size()-2开始;
cout << ans[i]; cout << endl;
} return 0;
}

Problem - E - Codeforces

根据题目要求 找出一段奇数的和 和 偶数的和相等的序列就输出yes,否则就输出no
a^l + a^(l+2) + ..+a^r = a^(l+1) + a^(l+3) +...+a^(r-1);
移项:
a^l - a^(l+1) + a^(l+2) - a^(l+3) +...+a^r-a^(r-1) = 0;
就找出这个式子; 也就是奇数项 - 偶数项 得到为0就代表YES
然后如果不是0 那么我们就要将这个数据记录下来,如果再次出现这个数据,那么就代表从出现过这个数据 后面的奇数项-偶数项的差值为0;那么也是输出YES
否则就输出no
#include <bits/stdc++.h>
using namespace std;
const int N = 1e6 + 10;
int a[N]; int main()
{
int t;
cin >> t; while(t--)
{
int n;
cin >> n; for(int i = 1 ; i <= n ; i ++) cin >> a[i]; long long sum = 0;
map<long long , int>st;
bool success = false;
for(int i = 1 ; i <= n ; i ++)
{
if(i & 1) sum += a[i]; //奇数就加
else sum -= a[i];//偶数就减 if(sum == 0 || st[sum]) //sum等于0 或者 这个sum又出现过一次
{
cout << "yes" << endl;
success = true;
break;
}
else
{
st[sum] ++; //记录这个sum出现过
}
}
if(!success) cout << "NO" << endl;
} return 0;
}

Codeforces 918(div4)的更多相关文章

  1. Codeforces 918 括号匹配 SGdp[i][j][k]

    A B C #include <bits/stdc++.h> #define PI acos(-1.0) #define mem(a,b) memset((a),b,sizeof(a)) ...

  2. Codeforces #640 div4 F~G (构造二连弹)

    题意:求一个只由\(01\)组成的字符串,使得它所有长度为\(2\)的子串满足:每对子串的数字和为\(0,1,2\)的个数为\(a,b,c\). 题解:我们先考虑子串数字和为\(1\)的情况,构造出一 ...

  3. Codeforces 918C The Monster(括号匹配+思维)

    题目链接:http://codeforces.com/contest/918/problem/C 题目大意:给你一串字符串,其中有'('.')'.'?'三种字符'?'可以当成'('或者')'来用,问该 ...

  4. codeforces的dp专题

    1.(467C)http://codeforces.com/problemset/problem/467/C 题意:有一个长为n的序列,选取k个长度为m的子序列(子序列中不能有位置重复),求所取的k个 ...

  5. Codeforces 918D/917B - MADMAX

    传送门:http://codeforces.com/contest/918/problem/D 本题是一个组合游戏问题——DAG上的动态规划问题. 有一张有向无环图(DAG).有两个玩家在这张图上进行 ...

  6. Codeforces 918C/917A - The Monster

    传送门:http://codeforces.com/contest/918/problem/C 一个括弧串由字符‘(’和‘)’组成.一个正确的串可被递归地定义,定义如下: ①空串e是一个正确的串: ② ...

  7. Codeforces Round #690 (Div. 3)

    第一次 ak cf 的正式比赛,不正式的是寒假里 div4 的 Testing Round,好啦好啦不要问我为什么没有 ak div4 了,差一题差一题 =.= 不知不觉已经咕了一个月了2333. 比 ...

  8. [cf]Codeforces Round #784(Div 4)

    由于一次比赛被虐得太惨,,生发开始写blog的想法,于是便有了这篇随笔(找了个近期的cf比赛练练手(bushi))第一次写blog,多多包涵. 第二场cf比赛,第一场打的Div2,被虐太惨,所以第二场 ...

  9. python爬虫学习(5) —— 扒一下codeforces题面

    上一次我们拿学校的URP做了个小小的demo.... 其实我们还可以把每个学生的证件照爬下来做成一个证件照校花校草评比 另外也可以写一个物理实验自动选课... 但是出于多种原因,,还是绕开这些敏感话题 ...

  10. 【Codeforces 738D】Sea Battle(贪心)

    http://codeforces.com/contest/738/problem/D Galya is playing one-dimensional Sea Battle on a 1 × n g ...

随机推荐

  1. JUC并发编程(2)—synchronized锁原理

    目录 乐观锁和悲观锁介绍 synchronized用法介绍 synchronized和ReentrantLock的区别 经典8锁问题案例 从字节码角度分析synchronized实现 synchron ...

  2. 使用ensp搭建路由拓扑,并使用isis协议实现网络互通实操

    转载请注明出处: 1.通过拓扑搭建如下拓扑: 其中R7.R8为L1,R6为L1/2,R9为L2. 2.配置isis实现网络互通 R7配置如下: [Huawei]isis 1 [Huawei-isis- ...

  3. Go 常用命令介绍

    Go 常用命令 目录 Go 常用命令 一.Go 常用命令 1.1 go build 1.1.1 指定输出目录 1.1.2 常用环境变量设置编译操作系统和 CPU 架构 1.1.3 查看支持的操作系统和 ...

  4. PostgreSQL学习笔记-6.基础知识:ALTER、TRUNCATE 、View(视图)、TRANSACTION 事务、LOCK 锁

    ALTER TABLE 命令 在 PostgreSQL 中,ALTER TABLE 命令用于添加,修改,删除一张已经存在表的列. 另外你也可以用 ALTER TABLE 命令添加和删除约束. 语法 用 ...

  5. Go方法特性详解:简单性和高效性的充分体现

    本文深入探讨了Go语言中方法的各个方面,包括基础概念.定义与声明.特性.实战应用以及性能考量.文章充满技术深度,通过实例和代码演示,力图帮助读者全面理解Go方法的设计哲学和最佳实践. 关注[TechL ...

  6. 循序渐进介绍基于CommunityToolkit.Mvvm 和HandyControl的WPF应用端开发(8) -- 使用Converter类实现内容的转义处理

    在我们WPF应用端的时候,和WInform开发或者Vue前端开发一样,有时候也需要对内容进行转义处理,如把一些0,1数值转换为具体含义的文本信息,或者把一些布尔变量转换为是否等,都是常见的转换处理,本 ...

  7. Android Studio里导入制作好的图片后,直接报错,图片名下方出现红色波浪线

    症状:Android Studio里导入制作好的图片后,直接报错,图片名下方出现红色波浪线. 比如:bk_Image_BackGround,报红 解决办法:如:bk_Image_BackGround, ...

  8. kubernetes组件介绍-service概念

    kubernetes组件介绍 MESOS APACHE 分布式资源管理框架 2019-5 Twitter > Kuberneets Dcocker Swarm 2019-07 阿里云宣布 Doc ...

  9. Web SSH 的原理与在 ASP.NET Core SignalR 中的实现

    前言 有个项目,需要在前端有个管理终端可以 SSH 到主控机的终端,如果不考虑用户使用 vim 等需要在控制台内现实界面的软件的话,其实使用 Process 类型去启动相应程序就够了.而这次的需求则需 ...

  10. 我整理了一份Flink流计算入门教程清单(转)

    好久不见! 作为技术出身的我,不太会写软文广告,今天就直接来个硬广.之前与人民邮电出版社合作的<Flink原理与实践>经过一年多时间的打磨和润色,这两天终于与大家见面了,恳请各位朋友多多支 ...