竞赛
考级
这题都做不出来吗! 入机
童编 钟老师
T1:50! 题干信息解读: 题目要求输出固定图案,无输入处理 输出格式严格固定为5行7列 图案表示数字50的图形化显示 实现方案: 直接使用字符串数组存储图案 逐行输出预定义的图案 无需任何计算过程 方法一:数组存储 复杂度分析: 时间复杂度:O(1),仅执行固定次数的输出操作5 空间复杂度:O(1),使用固定大小的字符串数组存储图案5 注意事项: 图案必须严格匹配样例输出 每行末尾不能有多余空格 行末需要换行符 直接硬编码图案是最简单可靠的解决方案 cout方法: printf方法: 复杂度分析: 时间复杂度:O(1),仅执行固定次数的输出操作 空间复杂度:O(1),不依赖输入规模,使用固定内存 两种实现方式在性能上没有实质性差异 T2:农场修缮 题干信息解读 农场是一个n×m的网格 需要修建: 1一条固定宽度a的水平道路 2一条从q个备选宽度中选择的垂直道路 两条道路会有交叉重叠部分 目标是计算剩余的最大可耕种面积 整体做题思路 剩余面积 = 总面积 - 道路面积 + 重叠部分 数学推导可得:剩余面积 = (n - a) × (m - b) 要使剩余面积最大,需要选择最小的b值 因此只需在给定的b数组中找出最小值 题目难点和注意事项 理解道路交叉部分的面积计算 注意数据范围可能导致的整数溢出 需要高效地找出b数组中的最小值 输入规模较大时要注意算法效率 复杂度分析 时间复杂度:O(q),因为需要遍历q个b值找最小值 空间复杂度:O(q),用于存储b数组 在题目给定的约束下(1≤q≤10000),这个复杂度完全可接受 T3:赛马大会 题干信息解读 题目描述了两支马队的比赛,每队各有n匹马,按照固定顺序出战1 比赛规则: 速度快的马得3分 平局双方不得分 速度慢的马扣3分 需要计算小明队伍的总得分 整体做题思路 同时遍历两个马队的数组 逐对比较马匹速度 根据比较结果累加得分: a[i] > b[i]:总分+3 a[i] == b[i]:总分不变 a[i] < b[i]:总分-3 题目难点和注意事项 数据规模较大(n≤1e5),需要使用O(n)算法 注意整数溢出问题,总分可能达到3e5 输入输出效率对时间限制敏感(但建议还是用cin cout) 时间复杂度:O(n),需要遍历所有马匹一次 空间复杂度:O(n),需要存储两个马队的速度数组 T4:小明和藏宝库 题干信息解读 题目描述小明需要找到一个数字,该数字能够解锁所有n个宝箱。每个宝箱有m个不同的密码,只要数字匹配其中任意一个密码即可解锁该宝箱。目标是统计能同时解锁所有宝箱的数字个数 关键信息点: 输入包含n个宝箱,每个宝箱有m个密码 密码范围1≤a_ij≤100000 需要找出同时存在于所有宝箱密码集合中的数字 输出满足条件的数字个数 整体做题思路 数据收集:读取所有宝箱的密码集合 交集计算:找出所有宝箱密码集合的交集 结果输出:统计交集元素数量 核心算法是集合交集运算,需要高效处理最多5000个宝箱,每个宝箱最多5000个密码的情况 题目中的难点和注意事项 大数据量处理:n和m都可能达到5000,需要O(nm)的算法 内存限制:128MB内存需合理使用数据结构 时间限制:1秒时间限制要求算法复杂度不超过O(nm) 密码范围:密码值可能达到100000,适合用数组计数 密码唯一性:每个宝箱的m个密码互不相同 T5;指针夹角 整体做题思路 计算时钟指针夹角的核心在于分别计算时针和分针相对于12点位置的角度,然后求两者差值的较小值。具体步骤为: 计算分针角度:每分钟6度(360°/60分钟) 计算时针角度:每小时30度(360°/12小时)加上每分钟0.5度(30°/60分钟) 计算绝对差值后取min(差值,360-差值)得到较小夹角 题目难点和注意事项 时针的复合运动:时针位置受小时和分钟共同影响,需加上分钟带来的偏移量 12小时制处理:当输入为0时应视为12点位置 角度方向判断:需考虑顺时针和逆时针两种方向的较小夹角 浮点精度:分钟对时针的影响是0.5度/分钟,需用浮点数计算 时间复杂度:O(1) 仅进行固定次数的算术运算,与输入规模无关 空间复杂度:O(1) 只使用常数级别的存储空间(几个double变量), T6:(重磅题目)小明的ACM罚时 整体做题思路 数组存储:使用固定大小的二维数组存储队伍信息 罚时计算:为每道题维护错误次数和通过状态 手动排序:实现冒泡排序处理多条件排序 题目难点和注意事项 数组大小限制:需预先分配足够空间(n≤100,题目数≤13) 状态记录:需要同时跟踪每道题的通过状态和错误次数 排序稳定性:确保相同条件下按队伍编号排序 时间复杂度:O(n²) - 冒泡排序主导,n≤100时完全可接受 空间复杂度:O(n) - 使用固定大小数组,problems数组大小100×13×2=2600个int
AC是最好的
> 逻辑运算符 的结果是 0 或者 1 > and or not > 逻辑与:&&(and) > 逻辑或:||(or) > 逻辑非:!(not) 普通年份:2025 不能被100整除 世纪年份:1900, 2000, 2100, 2200 能被100整除 普通闰年:2020, 2024, 2028 被4整除 世纪闰年:2000, 2400 被400整除 一门课不及格 某年某月 字符判断
1943
不一定要用set,用sort(排序)+unique(去重)也行 unique的返回值是数组末尾的地址,用返回值减数组地址就得到m
skirmish
完全不会啊! 有哪位大佬来帮帮我啊!我只是一个小白啊! (┬﹏┬)(┬﹏┬)(┬﹏┬)
天之神_复仇者_剑客
那我必须认真做了
IKUN君
交替报数 融合字符串
测试点1: 10 1 1 5 测试点2: 20 3 10 5 5 3 8 6 测试点3: 50 5 20 10 15 8 12 7 10 5 8 4 测试点4: 100 4 30 20 25 15 20 12 18 10 测试点5: 80 6 40 30 30 25 25 20 15 10 12 8 10 5 测试点6: 30 2 16 14 14 12 测试点7: 150 7 50 40 40 35 30 28 25 22 20 18 15 12 10 8 测试点8: 60 3 25 20 20 18 18 15 测试点9: 200 8 60 50 50 45 40 38 35 32 30 28 25 24 20 18 15 12 测试点10: 70 4 32 30 28 25 20 18 15 10
我是体委
希望你品德善良,因为我们的团队的人都是是Redarmy/HJ!\textcolor{red}{Red army/HJ!}Redarmy/HJ! @༺དༀ༒∞王陈锦∞༒ༀཌ༻ 他喵的,你数太大了!long long,unsigned long long 都不管使!
☭中华c++ HP(互关)
先说明一下:本人第一次写全题解,还请各位大佬指点 这次欢乐赛个人难度中等偏下,废话不多说正片开始 题目列表传送门 T1 50! 官方难度:入门 知识点:输入输出 纯属签到题没啥可说的,直接输出就行了。 C++ Code: T2 农场修缮 官方难度:入门 知识点:循环结构 把竖直道路的宽度用sort从小到大排序求出最小值,因为剩余面积与道路的位置无关,所以可以假设水平道路在最上方,竖直道路在最左边,剩余部分为一个长方形,用(行数n-水平道路宽度a)*(列数m-竖直道路宽度)求出剩余面积。 C++ Code: T3 赛马大会 官方难度:入门 知识点:循环结构 依题意模拟即可,可以边输入对手的马匹的速度值便判断小明的输赢 C++ Code: T4 小明和藏宝库 官方难度:入门 知识点:循环嵌套 用一个数组存每个密码的出现次数,因为每个宝箱的密码互不相同,所以如果一个密码出现次数为n,则这个密码可以解锁全部宝箱。 C++ Code: T5 指针夹角 官方难度:入门 知识点:格式化输入输出 这个题目还是要考察亿点数学知识的。 设指针指向12为0°(下同),夹角度数可以表示为 | 时针度数-分针度数 | (如果该度数大于180°,则用360°-该度数) 。注意,这道题中的时针不是在一个小时内一直指着一个数不动的那种,会根据分针移动,所以时针度数为 一大格的度数30°*(小时数+分钟数/60分钟)。分针度数不多说了,就是 一小格的度数6°*分钟数。 C++ Code: T6 小明的ACM罚时 官方难度:普及- 知识点:结构体排序 这道题比以上5道题还是难一些的,但也没有多难。 阅读题目,不难发现,一道题目的第i次提交(i>1)和第i-1次提交没有任何的关系(因为通过的时间指的是当前的时间,而不是两次提交的间隔时间),所以遍历每一次提交记录,如果通过了罚时就增加通过的时间,如果没通过罚时就增加15分钟。然后在结构体里存该队的通过题数、罚时和队伍编号,按照题目要求排序就行了。 C++ Code: 本次全题解结束,再见~
zaze
简单吗?
陈安迪
统计0 计算鞍点
暴力出奇迹,结果TLE
引号是中文,改成英文
187****3948
苹果和虫子 温度转换 循环取位数 > %10:取出个位 > /10:删除最后一位
[
5418
???
意大利面拌42号混凝土
感觉难度不符
watermelon
共5225条