天梯赛赛前集训总结

2022/4/22 23:45:36

本文主要是介绍天梯赛赛前集训总结,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

概述

通过做真题来提高自己正式比赛时的编程速度,总结自己的卡点。
正式比赛就一句话,不要想成绩,尽自己最大努力去解决每一道题。这是一场与自己的比赛。
在比赛的过程中有出现错误不要慌,认真检查就是。
L1等级的是有点复杂时现思考不成功跳过,可能是自己想的不够好。还有没有全部ac时,真心想不出来错误点不要钻牛角尖。

自己做题时候的注意事项

  • 变量尽量定义为全局变量
  • scanf,的取地址符莫要忘记,printf,莫要添加取地址符,一紧张就容易犯错,浪费检查时间
  • 通过数据的大小判断自己可不可以暴力
  • 知道如何解题之后再动手编程,(心中要有总体的布局)
  • 有段错误查看自己开的大小是否足够
  • 若不是必须从0开始,数组的默认起始都从1开始利用

2016年天梯赛初赛题集(复现)

到底有多二

题目概述:一个整数“犯二的程度”定义为该数字中包含2的个数与其位数的比值。如果这个数是负数,则程度增加0.5倍;如果还是个偶数,则再增加1倍。例如数字-13142223336是个11位数,其中有3个2,并且是负数,也是偶数,则它的犯二程度计算为:3/11×1.5×2×100%,约为81.82%。本题就请你计算一个给定整数到底有多二。
主要是自己在做比时用的整数,所以是下取整,一直都是0,应该用float,或者强制类型转换

谁先倒

题目概述:划拳是古老中国酒文化的一个有趣的组成部分。酒桌上两人划拳的方法为:每人口中喊出一个数字,同时用手比划出一个数字。如果谁比划出的数字正好等于两人喊出的数字之和,谁就输了,输家罚一杯酒。两人同赢或两人同输则继续下一轮,直到唯一的赢家出现。
下面给出甲、乙两人的酒量(最多能喝多少杯不倒)和划拳记录,请你判断两个人谁先倒。
这道题主要是自己没有理解清题意,最多喝多少杯不倒,自己做判断的时候是等于

帅到没朋友

题目概述:当芸芸众生忙着在朋友圈中发照片的时候,总有一些人因为太帅而没有朋友。本题就要求你找出那些帅到没有朋友的人。
主要是输出格式前面用0补齐,有没有看清题目,第三遍做了还是没注意

抢红包

题目概述:没有人没抢过红包吧…… 这里给出N个人之间互相发红包、抢红包的记录,请你统计一下他们抢红包的收获。
自己犯了很可笑的错误就是把赋值语句没有加等号,和自增语句一样了p[i].in - b qwq

排座位

布置宴席最微妙的事情,就是给前来参宴的各位宾客安排座位。无论如何,总不能把两个死对头排到同一张宴会桌旁!这个艰巨任务现在就交给你,对任何一对客人,请编写程序告诉主人他们是否能被安排同席。
关键就是敌人的时候要把邻接矩阵要对称的赋值

玩转二叉树

给定一棵二叉树的中序遍历和前序遍历,请你先将树做个镜面反转,再输出反转后的层序遍历的序列。所谓镜面反转,是指将所有非叶结点的左右孩子对换。这里假设键值都是互不相等的正整数。
关键是昨天刚做浪漫侧影,已经用后序还有中序构建过二叉树了,所以今天做的比较顺,一样都是层序遍历,镜像翻转只要输出的时候变换下左右子树的顺序就是

天梯地图

本题要求你实现一个天梯赛专属在线地图,队员输入自己学校所在地和赛场地点后,该地图应该推荐两条路线:一条是最快到达路线;一条是最短距离的路线。题目保证对任意的查询请求,地图上都至少存在一条可达路线。
自己在还有40分钟的时候做这道题了,完毕之后30分钟之后才做完,主要是之前的自己用的邻接矩阵做的,在之后自己整理了用vector模拟邻接表的堆优化解法,所以想尝试下,很遗憾,不熟练,仍需加强练习。

关于堆的判断

将一系列给定数字顺序插入一个初始为空的小顶堆H[]。随后判断一系列相关命题是否为真。命题分下列几种:
看到堆就基本没看

2021年团体程序设计天梯赛-总决赛

清点代码库

主要利用了algorithm中的sort函数,大部分需要排序的都需要自己定义结构体,并写比较函数。利用了vector,的比较, map*用来统计相同的个数

哲哲打游戏

由于自己昨天做了,就想当然了,给自己的提醒就是不管多么熟,还是要把题意给理解透彻去解题

病毒溯源

这道题自己第一次做的时候看的别人的题解,说实话没有理解好深搜的概念,以及一些常见的模板。首先在对每一个节点的孩子进行sort排序,使后边得到的是最小的,之后主要利用深搜得到树的深度,在这过程中利用son数组记录次节点的孩子,需要改变的时候就是当另一个孩子的深度比当前孩子深时更新此节点的孩子,最后输出即可

2018年天梯赛全国总决赛

天梯赛座位分配

自己现在仍然有点疑惑,不清楚检查只有一个队放在外边,还是每次插入后,感觉没有什么影响。但是这道题主要利用队列来进行模拟座位,只有一个队时跳出循环

倒数第N个字符串

自己和第一次做这道题时犯了同样的错误,26进制的最大三位数是25 * pow(26, 0) + 25 * pow(26, 1) + 25 * pow(26, 2), 自己想当然25*25*25 qwq
唉,由于老师把这两道题放在了最前面,自己又花了很长时间去解决,自己心态炸了,后面的题也没时间做。

分而治之

这道题最为可笑,自己以为要用到并查集,就先把模板给写好了,没想到最后只需要在拔除掉攻克的点后判断给的边是否还都在,只要有一个边存在方案就不成立。没想好题意就做的坏处,太着急了。
我想到最容易给予我思路的就是带着测试用例过一遍,看看自己需要什么,这样大概有点整个程序的轮廓
背的越少,走的越快

链表去重

这道题是自己另外找的,给自己的启发就是要带着测试用例自己草稿纸上走一遍就清楚自己该如何写了

最后给这次的天梯赛的自己一句话

这就是人类奇妙的地方,当你的精神意志足够的时候,你往往可以发挥出自己都想不到的潜力,而当你思想上先投降,你可能连你平时的10%都不到 ---天下足球文案。
足球令人快乐。



这篇关于天梯赛赛前集训总结的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程