A:给定三个数字,问是否存在1个数字是另外两个的和

void solve(){int a, b, c;cin >> a >> b >> c;if(a + b == c || a + c == b || b + c == a)  puts("YES");else    puts("NO");
}

B:给定一个数组,能否存在一个组合是单调上升的

思路:显然只要没有相同的两个数即可

void solve(){int n;  cin >> n;set<int> s;rep(i, 0, n){int x;  cin >> x;s.insert(x);}cout << (s.size() == n ? "YES" : "NO") << endl;
}

C:给定一个 8×8 的网格,其中 . 符号表示空,'R' 符号表示红色,'B' 符号表示蓝色。 每次可能水平地画一道红色,或者垂直地画一道蓝色,后面画的会覆盖前面画的,给出最终结果,问最后画的是什么颜色。

思路:很简单,只要行内有完整的一行,说明这一行是最后画的,如果行内没有那就是列了

void solve(){string s[8];int R = false;for(int i = 0; i < 8; i++) {cin >> s[i];if(s[i] == "RRRRRRRR") R = true;}if(R) cout << "R\n";else cout << "B\n";
}

D:给定一个长度为 n <= 2e5 的数组,数字大小不超过 1000。求最大的 i + j 满足 a[i] 与 a[j] 互质。

思路:考虑到数字大小不超过1000,且i显然越大越好,所以最后一次出现的位置我们才记录。然后暴力枚举这1000个数即可!

const int N = 1010;
int g[N][N];//n^2 枚举所有可能不可取,但我们发现数字大小不超过 1000,这也就意味着这个数组会有很多的重复元素,把这些重复的元素只保留下标最大的即可,这样就可以 1000^2 枚举了。
inline void solve(){int n;  cin >> n;int v[1020] = {0};repn(i, 1, n){int x;  cin >> x;   v[x] = i;}int res = -1;for (int i = 1; i <= 1000; i ++ )for (int j = 1; j <= 1000; j ++ ){if(g[i][j] && v[i] && v[j]) res = max(res, v[i] + v[j]);}cout << res << endl;}int main(){IOS;int t;  cin >> t;for(int i = 1; i <= 1000; i++) //打表看互质for(int j = 1; j <= 1000; j++)g[i][j] = (__gcd(i, j) == 1);while(t -- ){solve();}return 0;
}

E:给定一个长度为 n <= 2e5 的数组 a[i],表示每级台阶的高度。

给定 q<=2e5 个询问,每个询问给出 k 表示一次最多能跨越的高度,问从 0 开始最多能爬多高。

思路:显然只要小于k的位置我们是肯定都能跨越的,所以我们用一个数组维护当前位置前的最大高度,那么这个数组显然是单调不降的!那么就可以二分出位置了。然后直接计算一下前缀和即可

inline void solve(){int n, q;   cin >> n >> q;repn(i, 1, n){cin >> s[i];mx[i] = max(s[i], 1ll * mx[i - 1]);//维护当前位置前最大的高度s[i] += s[i - 1];//前缀和}while(q -- ){int k;  cin >> k;auto t = upper_bound(mx + 1, mx + n + 1, k) - mx - 1;cout << s[t] << ' ';}cout << endl;}

F:给定两个字符串 s, t,初始时全为空。

有 q<=2e5 次操作,每次操作选择其中一个串,给定 k <= 2e5,str,往后添加 k 个 str。并询问是否存在一种方式重排 s,t 的字符,使得 s 的字典序严格小于 t 的字典序。

思路:显然只要有s中加入了不是'a'的字符,就肯定比t小了,否则就得比较字符串长度大小了

inline void solve(){int n;cin >> n;ll aa = 0, bb = 0, sz1 = 0, sz2 = 0;while(n -- ) {int op, k;string s;cin >> op >> k >> s;if(op == 1) sz1 += k * s.size();else sz2 += k * s.size();for(int i = 0 ; s[i] ; i ++ )if(s[i] != 'a') {if(op == 1) aa = 1;//给s加上了, s输了else bb = 1;//t输了}if(bb) {puts("YES");continue;} else if(aa) {puts("NO");continue;} else {if(sz1 >= sz2) puts("NO");else puts("YES");}}
}

Codeforces Round #827 (Div. 4)相关推荐

  1. Codeforces Round #827 (Div. 4) A~G

     比赛链接:Dashboard - Codeforces Round #827 (Div. 4) - Codeforces 目录 A Sum B Increasing C Stripes D. Cop ...

  2. Codeforces Round #827 (Div. 4) E. Scuza

    Codeforces Round #827 (Div. 4) E. Scuza 前缀和 前缀和 前缀和 + 二分 二分 二分 Let's compute the prefix sums of the ...

  3. Codeforces Round #827 (Div. 4) 题解记录

    Codeforces Round #827 (Div. 4) A 水题 #include<bits/stdc++.h> #define sc(x) scanf("%lld&quo ...

  4. 10.16打卡 Codeforces Round #827 (Div. 4) A~E

    Dashboard - Codeforces Round #827 (Div. 4) - Codeforces 开摆F和G懒得写 A题 排个序就好了 /* ⣿⣿⣿⣿⣿⣿⡷⣯⢿⣿⣷⣻⢯⣿⡽⣻⢿⣿⣿⣿⣿⣿ ...

  5. Codeforces Round #827 (Div. 4) G. Orray

    Problem - G - Codeforces 题意: 给定一个数列,让你重新排列这个数列,使得其前缀或最大 思路: 贪心策略就是找一个与pre或起来最大的值 重点是怎么写呢 感觉div4的题思路都 ...

  6. Codeforces Round #827 (Div. 4) G. Orray 解题报告

    原题链接: Problem - G - Codeforces 题目描述: You are given an array aa consisting of nn nonnegative integers ...

  7. Codeforces Round #827 (Div. 4) D - F

    D. Coprime time limit per test 3 seconds memory limit per test 256 megabytes input standard input ou ...

  8. Codeforces Round #827 (Div. 4)(A~G)(F已更新)

    "爷爷,你关注的up主要更新拉!" 今天起开始CF/At不定期更新 A. Sum(暴力) 只需判断a,b,c是否为和关系即可 #include <bits/stdc++.h& ...

  9. Codeforces Round #827 (Div. 4)(A-G)

    目录 A.Sum 1.题意 2.解题思路 3.Ac_code B.Increasing 1.题意 2.解题思路 3.Ac_code C.Stripes 1.题意 2.解题思路 3.Ac_code D. ...

  10. Codeforces Round #827 (Div. 4)A~G(模拟,暴力,前缀最大值,二分,二进制)

    签到题A~C A #include<bits/stdc++.h> using namespace std; int n,w,x,y;int a[100005],b[100005]; int ...

最新文章

  1. [PA2014]Pakowanie
  2. 神经网络设计与分析之sin函数拟合分析
  3. Oracle Events事件
  4. vb串口 任意波特率_C#与单片机串口通讯,实现简单的计数功能
  5. 计算机二级2021辅导书,2021该如何准备计算机二级考试?
  6. 经典论文复现 | PyraNet:基于特征金字塔网络的人体姿态估计
  7. 戴尔为例 浅谈电子商务时代客户关系管理
  8. 七 内置锁 wait notify notifyall; 显示锁 ReentrantLock
  9. linux下简单的邮件配置
  10. HoloLens还太远 必应才是微软目前的重头戏
  11. 十六进制转二进制原理
  12. 个人陈述 计算机专业,研究生个人陈述范例,计算机专业
  13. ANT下载和配置 IDEA
  14. 导航标签html,导航标签
  15. BeanUtils.populate 的使用
  16. Ant Design of Vue Icon 图标列表
  17. ubuntu18.04下EnlightenGAN运行过程记录
  18. 麒麟处理器排行天梯图2022 麒麟处理器各型号排行2022
  19. 华为鸿蒙有可能成功吗 (by quqi99)
  20. 链接数据库明明有值,但是取到的是空

热门文章

  1. SE Springer小组《Spring音乐播放器》可行性研究报告一、二
  2. 基于jsp+ssm的高速公路收费管理系统
  3. echarts 地图去除点击事件_echarts 地图 鼠标移出地图后的事件要怎么写
  4. shareaza源码编译
  5. iOS 隐藏电量信息、信号等状态信息状态栏
  6. python学习之旅【第一篇】简介和入门
  7. 转:添加国内镜像源,飞速下载
  8. appium 多个APP进行切换测试
  9. 可剥夺型内核与不可剥夺型内核的区别
  10. php 阴历年份,阳历转农历时的数字年份不正确