• 题库链接:link<-----div1+2HSSC21-22题库
  • A题:link 思维题
  • 1、题意:只有末尾是9才会满足S(x+1)< S(x)所以判断从1~n里面有多少个末尾是9的数
  • 2、转化:直接除10是判断从1~n - 1里面有多少个符合的,所以先判断n是不是以9结尾要是最后答案++
#include<iostream>
using namespace std;
int main()
{int t; cin >> t;while (t--){int n; cin >> n;int t = 0;if (n % 10 == 9)t = 1;cout << n / 10 + t << endl;}return 0;
}
  • B题:link 字符串
  • 1、题意:从字符串a上找一个位置从这个位置先向右走若干位后向左走若干位可以形成字符串b
  • 2、转化:n^2用substr枚举起点以及向右走的长度,再加上b.size() - 向右长度的向左的长度,如果等于b则跳出(照这个写法太复杂不好写)可以直接将正向与反向加在一个字符串上面用s.find()查找要是返回值不是-1代表找到跳出循环就好
#include<iostream>
#include<cstring>
#include<algorithm>
#include<cstdio>
using namespace std;
int main()
{int t; cin >> t;while (t--){string st, ed;cin >> st >> ed;int len = st.size();bool flag = false;for (int i = 0; i < len; i++){string s1, s2;s1 += st.substr(0, i + 1), s2 += st.substr(0, i);reverse(s2.begin(), s2.end());s1 += s2;if (s1.find(ed) != -1){flag = true;break;}}if (flag)puts("YES");else puts("NO");}return 0;
}
  • C题:link 模拟题
  • 1、题意:给你一个字符串判断最少执行到哪一个字符的时候可以不执行后面的字符从而判断胜负,未执行到的字符和?字符均不是已知的
  • 2、转化:先贪心分别贪心A队伍胜利和B队伍胜利,偏袒出两个不含?的字符串,最后分别处理两个字符串,只要A队超B队的得分大于A队剩余的点球次数就跳出循环,反之B超过A也跳出循环
#include<iostream>
using namespace std;
int main()
{int t; cin >> t;while (t--){string s;cin >> s;string win_m = s, win_n = s;int ans = 10;for (int i = 0; i < 10; i++){if (s[i] == '?'){if (i & 1)win_m[i] = '1', win_n[i] = '0';else win_m[i] = '0', win_n[i] = '1';}}int winm = 0, winn = 0, m = 5, n = 5;for (int i = 0; i < 10; i++){if (i & 1){if (win_m[i] == '1')m--, winm++;else m--;}else{if (win_m[i] == '1')n--, winn++;else n--;}if (winn - winm > m || winm - winn > n)ans = min(i + 1, ans);}winm = 0, winn = 0, m = 5, n = 5;for (int i = 0; i < 10; i++){if (i & 1){if (win_n[i] == '1')n--, winn++;else n--;}else{if (win_n[i] == '1')m--, winm++;else m--;}if (winn - winm > m || winm - winn > n)ans = min(i + 1, ans);}cout << ans << endl;}return 0;
}
  • D题:link 字符串
  • 1、题意:从a中依次读入字符,读入过程中可以按Backspace代替键入,这样会抵消当前的键入和删除当前已经输入的最后一位,看是否能通过某种键入方式得到字符串b
  • 2、转化:发现正序模拟前面找到的匹配字符串可能会背后面的backspace删掉所以选择倒序操作模拟,找到相等的,即匹配上的字符前移,不匹配的删掉本身以及前面的一个字符相当于点击backspace在当前匹配位置,b串匹配玩表示匹配成功
#include<iostream>
using namespace std;
int main()
{int t; cin >> t;while (t--){string s, t; cin >> s >> t;int lens = s.size() - 1, lent = t.size() - 1;if (lens < lent)puts("NO");else{int l = lens, pos = lent;while (l >= 0 && pos >= 0){if (s[l] == t[pos])l--, pos--;else l -= 2;}if (pos == -1)puts("YES");else puts("NO");}}return 0;
}
  • E题:待理解
#include<iostream>
#include<vector>
#include<cstring>
using namespace std;
const int N = 3e5 + 10;
int p[N], num[N], a[N];
int n, m;
int find(int x)
{if (p[x] != x) p[x] = find(p[x]);return p[x];
}int main()
{int t; cin >> t;while (t--){cin >> n >> m;memset(num, 0, 4 * n);for (int i = 0; i < n; i++){cin >> a[i]; a[i]--;num[(i - a[i] + n) % n]++;}vector<int> ans;for (int i = 0; i < n; i++)if (num[i] + 2 * m >= n){for (int j = 0; j < n; j++) p[j] = j;for (int j = 0; j < n; j++){p[find(j)] = find((a[j] + i) % n);}int k = n;for (int j = 0; j < n; j++)if (find(j) == j) k--;if (k <= m) ans.push_back(i);}cout << ans.size() << ' ';for (int h : ans) cout << h << ' ';cout << endl;}return 0;
}
  • 2021-11-04写于赣州

CF赛后总结3:2021-07-22晚 HSSC21-22 div1+2 rating+219相关推荐

  1. 2021.07.22禾赛提前批一面面经

    2021.07.22禾赛提前批一面面经 1.LUTRAM的意思 2.LUTRAM和block RAM的区别 3.时序约束和时序优化 4.跨时钟域 5.为什么不能多bit采用同步寄存器打两拍(就这个问题 ...

  2. Neovim开发环境搭建(2021.07.01)

    Neovim开发环境搭建(2021.07.01) 一.搭建环境 Ubuntu 21.04 Neovim 0.4.4 二.Neovim安装 # 下载 neovim,如遇网络问题可以采用 https:// ...

  3. 哔哩哔哩“2021.07.13 我们是这样崩的”报告的学习-1

    哔哩哔哩"2021.07.13 我们是这样崩的"报告的学习-1 这份报告是我学计算机两年来第一次真实看到大厂的员工到底在干什么.出现了很多专有名词,以及当前最先进的互联网企业的应用 ...

  4. Doris Weekly FAQ】2021.07.19~2021.08.01

    观众朋友们: 晚上好! 欢迎收看[ Doris 近日要闻]~本次为您带来的是 2021年07月19日 - 2021年08月01日 的双周总结. Doris 社区周报每期会包含 FAQ 环节.我们会在社 ...

  5. 【Doris Weekly FAQ】2021.07.05~2021.07.18

    观众朋友们: 晚上好! 欢迎收看[ Doris 近日要闻]~本次为您带来的是 2021年07月15日 - 2021年07月18日 的双周总结. Doris 社区周报每期会包含 FAQ 环节.我们会在社 ...

  6. 2021.07.07 宇信科技

    2021.07.07 宇信科技 宇信科技          晚上电话面 问了一堆java基础,离谱,jd上也没要求java:简历筛选扣工资! java小白,凭借c语言基础简单回答了一哈,面试官估计在电 ...

  7. Ubuntu下载安装EDB1.3.0 2021.07

    Ubuntu16.04x64下载安装EDB1.3.0 2021.07 1.更新gcc和g++ > 7 $ sudo add-apt-repository ppa:ubuntu-toolchain ...

  8. 新手如何理解一个Web应用的构建(2021.07.29更新)

    Web应用构建 ==前言== 我为什么写这篇文章? 适合什么样的人看? ==摘要== 步骤汇总 (1)网站定位与功能设定 (2)信息架构 (3)UI设计 (4)应用架构 (5)开发 (6)部署 (7) ...

  9. 使用Go开发的数字书架应用 | Gopher Daily (2021.07.05) ʕ◔ϖ◔ʔ

    每日一谚:API consumers: if it is not part of the contract, don't depend on it. Go技术生态 Myreads:一个使用Go.Rea ...

  10. 2021.07.16 总结

    2021.07.16 总结 ​ 今天状态不怎么好,几道那么容易的题就只有140分,毕竟也就打了前两道 T1 花生采摘 题目描述 鲁宾逊先生有一只宠物猴,名叫多多.这天,他们两个正沿着乡间小路散步,突然 ...

最新文章

  1. Preview is unavailable until a successful build
  2. Eclipse从SVN恢复本地误删除已删除的文件和代码
  3. IBM AIX:Java进程大小监视
  4. python树莓派 是什么_用树莓派和Python给你的植物浇水
  5. 计算机系统高级设置在哪里,Win7系统高级设置在哪里
  6. [07] 使用注解完成IOC配置
  7. win10桌面搜索不能用的问题
  8. ATTILAX项目进展表VC425
  9. 对于刺头,怎么办?9个套路支招
  10. 企业级反向代理 Haproxy
  11. oracle导出BOM文件,ORACLE ERP导数据(BOM清单)
  12. 【hdu】6441 Find Integer - 费马大定理
  13. ObiFruid创建流体,ObiFruid学习笔记
  14. 【LOJ】apio2016烟火表演-可并堆凸包
  15. CSS3 向右的箭头
  16. 微信小程序里面的标签和html标签做对比
  17. 【汇正财经】股本具体解析
  18. 更换IPHONE备份路径
  19. 2022-01-14:深度学习中关于显卡的设置
  20. win10系统打开chrome浏览器几秒后自动闪退

热门文章

  1. CSDN产品周报第31期|PC端开放账号注销功能
  2. 前端 关于汇率的计算
  3. Vue指纹识别验证 h5plus
  4. iOS开发常用设计模式
  5. 数据库锁的分类(粒度,级别)
  6. 2022年8月止,国外最佳游戏榜出炉
  7. 程序人生 - 给IT新人的15点建议:苦逼程序员的辛酸反省与总结
  8. C语言fflush方法
  9. [经验教程]iPhone苹果手机电池健康度怎么查询及如何更换苹果iPhone手机电池恢复健康度到100%?
  10. Ubuntu18.04为EW-7822ULC网卡安装驱动