tcl的题解

1.签到题-5


题解:
1.第一次输入时将学号相加,第二次输入时减去即可

#include<iostream>
using namespace std;
typedef long long ll;
int main()
{int n, x;cin >> n;ll ans = 0;for (int i = 0; i < n; i++){cin >> x;ans += x;}for (int i = 1; i < n; i++){cin >> x;ans -= x;}cout << ans << endl;return 0;
}

2.使用set容器
第一次输入时把学号存放到set中,第二次输入时删去即可。
//题目说啦 老师给出的已经签到的 n - 1 个同学的学号 保证是这节课应该来的同学的学号,所以可以大胆放心没有任何顾虑的用erase

#include<iostream>
#include<unordered_set>
using namespace std;
int main()
{int n,x;cin >> n;unordered_set<int>s;for (int i = 0; i < n; i++){cin >> x;s.insert(x);}for (int i = 1; i < n; i++){cin >> x;s.erase(x);}for (auto p : s){cout << p << endl;}return 0;
}

2.区间并集


题解:
每次输入一个新区间时都判断一下与之前输入的区间的关系,能合并的就合并,不能合并就存放到数组里。
由于该方法输入完后数组里的区间可能还能够合并,比如剩下[1,9]和[9,10]两个区间,所以最后输出时多加一个判断
//这题我的方法比较复杂

#include<iostream>
#include<algorithm>
using namespace std;
typedef long long ll;
struct point
{ll l, r;
};
point s[100008];
bool cmp(point a, point b)
{if (a.l == b.l){return a.r < b.r;}return a.l < b.l;
}
bool f(ll a, ll b, int x)
{for (int i = 0; i < x; i++){if (b != 0){if (a <= s[i].l && b >= s[i].l){s[i].l = min(s[i].l, a);s[i].r = max(s[i].r, b);return true;}else if (a > s[i].l && a <= s[i].r){s[i].r = max(s[i].r, b);return true;}}}return false;
}
int main()
{int n;cin >> n;cin >> s[0].l >> s[0].r;int cnt = 1;for (int i = 1; i < n; i++){ll L, R;cin >> L >> R;if (!f(L, R, cnt)){s[cnt].l = L, s[cnt].r = R;cnt++;}}sort(s, s + cnt, cmp);ll a = s[0].l, b = s[0].r;for (int i = 1; i < cnt; i++){if (s[i].l >= a && s[i].l <= b){a = min(s[i].l, a);b = max(s[i].r, b);}else{cout << a << " " << b << endl;a = s[i].l, b = s[i].r;}if (i == cnt - 1){cout << a << " " << b << endl;}}return 0;
}

3.特殊的01串


题解:
这题是不同数字结尾的递推
我们规定空串是特殊的01串//我当时就是因为没写a[0]=1卡了蛮久,注意审题啊啊啊泪目
所以a[0]=1,a[1]=2,a[2]=3,a[3]=5,a[4]=8.
a[2]的情况 00 01 10
a[3]的情况 000 001 010 100 101
从a[2]到a[3]的过程中:
只有00和10(末尾是0)可以分出2个排列//即+0或+1。
而 01(末尾是1)只能+0。
所以a[3] = a[2] + 2.
所以a[n] = a[n-1] + a[n-1]个排列中末尾是0的个数。
而a[n-1]个排列中末尾是0的个数=a[n-2] .
所以 a[n] = a[n-1] + a[n-2].//这就是我们推出来的递推关系式

#include<iostream>
using namespace std;
typedef long long ll;
ll s[1000008];
ll mod = 998244353;
int main()
{s[0] = 1, s[1] = 2, s[2] = 3;for (int i = 3; i <= 1000000; i++){s[i] = s[i - 1] + s[i - 2];s[i] %= mod;}int T;cin >> T;while (T--){int n;cin >> n;cout << s[n] << endl;}return 0;
}

4.公因数-2


题解:
先筛出1e5以内的所有质数//数据范围就到1e5- -,之后存放到数组里。
依次用质数判断我们输入的所有数就好了。
运行速度也很快。

#include<iostream>
using namespace std;
int s[1000008];
int map[100008];
int prime[100008];
bool f(int x)
{for (int i = 0; i < prime[x]; i++){if (map[i] % prime[x] != 0){return false;}}return true;
}
int main()
{int x = 0;for (int i = 2; i <= 100000; i++){if (s[i] == 0)//质数{for (int j = i + i; j <= 100000; j += i){if (s[j] == 0){s[j] = i;}}}}for (int i = 2; i <= 100000; i++){if (s[i] == 0)//质数{prime[x] = i;x++;}}int n;cin >> n;int max = 0;for (int i = 0; i < n; i++){cin >> map[i];max = map[i] > max ? map[i] : max;}bool first = true;for (int i = 0; i < x; i++){if (prime[i] > max){break;}if (f(i)){if (first){cout << prime[i];first = false;}else{cout << " " << prime[i];}}}if (first){cout << "No";}cout << endl;return 0;
}

5.WSAD


题解:
依次判断每个字符就好了,很简单。

#include<iostream>
#include<string>
using namespace std;
int main()
{int n;cin >> n;while (n--){string s;cin >> s;int x = 0,y = 0,len = s.size();for (int i = 0; i < len; i++){if (s[i] == 'W'){y++;}else if (s[i] == 'S'){y--;}else if (s[i] == 'A'){x--;}else if (s[i] == 'D'){x++;}}cout << x << " " << y << endl;}return 0;
}

6.数组的贡献值


题解:
连续存放即是最优解。
所以只需记录所有数字出现的次数就可以了~
但是这题有一个
题目的数据范围是|ai| <= 10000,这里有一个绝对值符号。
但是我们知道数组下标范围是没有负数的。
所以需要对我们输入的数字进行一个处理,+10000
这样的话我们的数据范围就变成了[0,20000],就可以用数组完成这道题。

#include<iostream>
using namespace std;
int s[20008];
int main()
{int T;cin >> T;while (T--){for (int i = 0; i <= 20000; i++){s[i] = 0;}int n, x;cin >> n;for (int i = 0; i < n; i++){cin >> x;s[x + 10000]++;}long long ans = 0;int loc = 1;for (int i = 0; i <= 20000; i++){if (s[i]){ans += s[i] * loc;loc += s[i];}}cout << ans << endl;}return 0;
}

感谢观看~~~

20-21(2)第0次线上赛(智商康复训练)相关推荐

  1. COSOSWAP官网2.0升级——线上圆桌会议重点回顾

    大家好,由COSOSWAP主办的"COSOSWAP官网2.0升级"线上圆桌会议_主题<Web3里GameFi的机遇与挑战>即将拉开帷幕.我们很荣幸有请到了TLT中文区大 ...

  2. 2018 ACM-ICPC 中国大学生程序设计竞赛线上赛 H题 Rock Paper Scissors Lizard Spock.(FFT字符串匹配)...

    2018 ACM-ICPC 中国大学生程序设计竞赛线上赛:https://www.jisuanke.com/contest/1227 题目链接:https://nanti.jisuanke.com/t ...

  3. 讯飞线上赛总结(一)

    科大讯飞线上赛赛后总结--Mapper Server   (已经有好写日子没更新博客了,因为这段日子参加了科大讯飞智能车的线上比赛,3/20才结束,这次通过这次比赛收获颇丰,也充分地认识到自己的不足, ...

  4. 第十六届全国大学生智能汽车竞赛总决赛 AI视觉组线上赛细则

    简 介: 本文对于参加2021年第十六届智能车竞赛全国总决赛线上比赛室内AI视觉组比赛细则. 关键词: 智能车竞赛,线上比赛,室内视觉AI 一.比赛方式   由于AI视觉组的特殊识别任务,比如分赛区的 ...

  5. 第十七届智能视觉组线上赛比赛流程及相关补充说明

      线上赛规则及流程发布后陆续收到参赛同学和老师们的建议,一部分建议可以使得竞赛过程更完善,故增加此文档对智能视觉组的流程及相关细节进行补充说明. 一.场地准备   在"第十七届全国大学生智 ...

  6. 关于2020西门子杯工业自动化线上赛总结(初赛过控篇)

    关于2020西门子杯工业自动化线上赛总结(初赛过程控制篇) 初赛赛程回顾 PID控制器 三个基本实验 液位+温度?PID调参从入门到放弃 总结与感想 初赛赛程回顾 本来的确不想回顾这个比赛的,自己第一 ...

  7. “中能融合杯”第六届工控大赛线上赛部分题总结与复现

    前言 "中能融合杯"第六届工控大赛线上赛已经结束,题目只有杂项题(包括工控题)和逆向题.作为一名Web狗,就只能去做杂项了,杂项题挺容易的,好多都是以前的原题.关卡4的3个题发现应 ...

  8. 第十八届全国大学生智能汽车竞赛 航天智慧物流创意组-线上赛多车协同侦察

    第十八届全国大学生智能汽车竞赛 航天智慧物流创意组-线上赛多车协同侦察 1.任务综述   使用Gazebo环境搭建出模拟模式军事仿真环境,环境中包含建筑物.道路.特殊军事标识.特殊物体等物品.使用三辆 ...

  9. Nise-Anti-AK Problem(2018 ACM-ICPC 中国大学生程序设计竞赛线上赛 L题)

    题目链接 Description: Peppa has been learning math recently, he is trapped by a easy problem. He is give ...

最新文章

  1. 1080 线段树练习
  2. python常用数据结构
  3. MVC3 ActionResult 返回类型
  4. ssh实现基于密钥方式登录系统
  5. 数据库之Oracle(二)
  6. android广告平台的介绍
  7. Bootstrap概述
  8. 创建弹出窗口的图片展示
  9. Spring框架----Spring的基于XML的AOP的实现
  10. java编程式事务_Spring编程式和声明式事务实例讲解
  11. python微信公众菜单_Python实现微信公众平台自定义菜单实例
  12. 【Feign请求头丢失问题】no suitable HttpMessageConverter found for response type
  13. python中集合的符号_python集合中的操作符有哪些?怎么用?
  14. Aloha (世界上最早的无线电计算机通信网)
  15. 串口调试工具--SecureCRT的使用
  16. 浏览器主页被劫持篡改了怎么办
  17. dpo指标详解买入绝技_DPO指标,DPO指标详解,DPO是什么意思? - 股票入门
  18. win10桌面计算机快捷没了,Win10桌面快捷方式图标消失了的解决方法介绍
  19. CG快报 2011.11.22
  20. DSP28335的中断配置

热门文章

  1. AITech国际智能科技峰会圆满落幕,AI大咖共论人工智能发展
  2. 云桌面几大应用场景,你需要的都在这里
  3. js中setTimeout和clearTimeout的使用
  4. 在线打字练习系统——毕业设计 (基于Java开发+数据库Mysql)
  5. VBO, PBO与FBO(三)
  6. 计算机的起源和历史英语作文,英语作文,电脑的起源和发展 80词左右
  7. java web 项目整合javamelody监控插件
  8. Linux路由表失效,linux路由表问题一则
  9. 【ceph】学习笔记(二)RADOS的基本组件及存储流程
  10. Exception in thread main java.lang.NoClassDefFoundError: antlr/ANTLRException 解决方法