竞赛
考级
挑战赛#22全题解 希望AC君能选中我的题解,感谢万分。 前言 赛时 T6 过了,但不是正解,看看就好。 感觉这次题挺简单的(除了T5) T1(大大和1) 对于每个数对 (i,j)(i, j)(i,j),可以发现,当 i=ji = ji=j 的时候必然满足题目中所提到的条件: max(ai ,ai+1 ,…,aj−1 ,aj )≥ai +ai+1 +⋯+aj−1 +aj max(a _ i ,a _ i+1 ,…,a _ j−1 ,a _ j )≥a _ i +a _ i+1 +⋯+a _ j−1 +a _ j max(ai ,ai +1 ,…,aj −1 ,aj )≥ai +ai +1 +⋯+aj −1 +aj 所以对于每组数据,我们的输出都应当是 YES。 T1代码部分 T2(午枫的博弈) 乍一看题目很难,其实仔细观察题目可以发现,因为这俩人都是绝对聪明的,也就是说他们采取的是最优策略,也就是贪心,因此我们可以找出规律(请看代码部分)。 T2代码部分 T3(小午的请求) 看见题目第一眼让我想起了dp。 写这道题我们需要用到一个非常重要的性质:奇数减去奇数等于奇数。 因为题目要求让我们选出最大和为偶数的,那么整个序列和无非就两种情况:奇数或者偶数 如果是偶数,那肯定最好了,不用加也不用减,就是最大值。 否则的话,如果是奇数,那么我们就减去序列中最小的那个奇数,就是这道题的答案了。 T3代码部分 T4(小枫爬山) 这道题直接模拟是会超时的,因为 (1≤n,m≤5×105)(1≤n,m≤5×10^5)(1≤n,m≤5×105),O(n2)O(n^2)O(n2) 一定过不了。 因为题目保证 hi ≤hi+1h_i ≤h_i+1hi ≤hi +1 而且需要查找第 iii 个爬山者最高能爬到的高度。 这很容易就能想到用二分查找来写。 但是需要注意的是,第 iii 个楼梯的长度需要的腿长不一定是 hih_ihi ,因为这些山呈楼梯状,所以 第 iii 个楼梯的长度需要的腿长是 hi−hi−1h_i-h_{i-1}hi −hi−1 ,我们查找就应该查找一个已经维护好了的数组里面的数(详情请看代码部分)。 T4代码部分 T5(午枫的双人挑战) 应该是本场最难。 通过遍历所有可能的终点关卡 MMM,计算完成前 MMM 关解密的总时间加上从 1 到 MMM 关中选取最小的 kkk 个战斗时间的总和。使用大根堆维护当前最小的 kkk 个战斗值,确保每次都能高效更新最优解。最终取所有 MMM 情况中的最小值作为完成 kkk 个关卡的最短时间。(更详细的请看代码部分)。 T5代码部分 T6(大大和2) 倒不如T5来当T6合适 说实话我赛时过的真的很迷(应该是数据太水了)。 这道题与 T1 有所不同的是,T1只要求要一对满足即可,这道题需要满足所有对数才是 YES。 很显然,只需要检查连续长度为 2 和 3 的子数组即可(正确性还证明不出来)。 当 n≤5000n ≤ 5000n≤5000 时,模拟是肯定能过的,所以为了稳妥,我采取用模拟来写。 否则则用检查连续长度为 2 和 3 的子数组的方法来写。 T6代码部分 希望这几篇题解对你赛后补题能起到作用。
b_donk
一、选班长 二、计数排序 桶排序(去重)
1943
大家有何感想?
四川航空股份有限公司
#include <iostream> using namespace std; int main() { int n, i, j, ans; cin >> n >> i >> j; if(i + j <= n + 1) { if(i > j) ans = 4 * j * (n - j) + j - i + 1; else ans = 4 * (i - 1) * (n - i + 1) + j - i + 1; } else { if(i > j) ans = 4 * i * (n - i) + 2 * (2 * i - n - 1) + (i - j + 1); else ans = 4 * j * (n - j) + 2 * (2 * j - n - 1) + (i - j + 1); } cout << ans << endl; return 0; }
黄博赟
@jayden你不要出题·,我已经把你改成成员了
本次挑战赛题目难度适中,旨在考察选手对简单算法与思维题的应对能力,相比欢乐赛略有提升。挑战赛的内容涵盖入门级枚举、模拟、二分法、基础数据结构、基础深广搜等内容,主要考察选手对题目的理解能力以及解决常见算法问题的能力。 ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ T1 大大和1 题目大意 解题思路 参考代码 T2 午枫的博弈 题目大意 解题思路 参考代码 T3 小午的请求 题目大意 解题思路 参考代码 T4 小枫爬山 题目大意 解题思路 参考代码 T5 午枫的双人挑战 题目大意 解题思路 参考代码 T6 大大和2 题目大意 解题思路 参考代码 骗你的其实我也不会写(
张子渝
为什么我在考试时 floor 函数没用 int 强制转换就爆零了,今天加了个int就A了,虽然返回值是double类型,但输出应该是一致的啊,难不成数据全都大到用e表示了吗? 0PTS: AC:
¡
#include<bits/stdc++.h> using namespace std; char a[8][4]={{'a','b','c'},{'d','e','f'},{'g','h','i'},{'j','k','l'},{'m','n','o'},{'p','q','r','s'},{'t','u','v'},{'w','x','y','z'}} int main(){ }
🔥灯笼🔥(*^▽^*)
COCR CUP 2025 非官方题解 C++版本 | T1 ~ T4 作者:一只Merry 点击跳转比赛页面 ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ T1 Easy T2 Word T3 Force T4 Stone T5 Farm T6 Run T7 Zombie T8 Square ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ 太难了呜呜呜 ┭┮﹏┭┮ 作为一个蒟蒻,只讲 T1 ~ T4 顺便看看能不能评上奖( ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ 2025 年 09 月 07 日 版本 1
一只Merry
#include<iostream> using namespace std; int main(){ long long a[4],s; for(int i=1;i<=3;i++) { cin>>a[i]; s+=a[i]; } cout<<s; return 0; }
资本家
有许多的**在叫难
lll
水仙花数
抄袭吧
复仇者_天之神_皮皮虾_大帅哥
pokemon
int类型存 10的9次方数据 long long类型存10的18次方数据 保存小数(浮点数 )类型 flout(这个不好用) double(这个好用) doublea a,b; 需要特殊去保留几位小数点 使用printf(''); printf('%')//使用%为后续的变量占位 但是不同变量有不同类型,所以需要给指定类型 int对应%d,long long对应%lld float对应%f,double对应%lf printf("%.xlf",a);x表示你要保留几位小数 printf("%xd",a);表示右对齐几位用空格补 printf("0%xd",a);表示右对齐几位用087补
1
恭喜大家完成了第一课的学习 今天我们认识了这几个单词: 单词 include iostream using namespace int main return > C++关键字不可以作为变量名!!! > C++关键字指的是在Dev里面打出来时为加粗字体 今日课堂代码: 今日作业传送门 做2-3道题就行了!!!!
汪汪
原题链接\MATHBF{\COLOR{#114514}原题\COLOR{#191981}链接}原题链接:1.A+B PROBLEM 前言\MATHBF{\COLOR{GOLDENROD}前言}前言 众所周知,\MATHSF{\COLOR{GOLD}众所周知,}众所周知,A+B PROBLEM\MATHSF{\COLOR{#FF0000}A+B~PROBLEM}A+B PROBLEM是一道世纪难题,因为他的通过率:\MATHSF{\COLOR{GOLD}是一道世纪难题,因为他的通过率:}是一道世纪难题,因为他的通过率: 还没有这道\MATHSF{\COLOR{SILVER}还没有这道}还没有这道MOORIO KART−−PLATINUM\MATHSF{\COLOR{#6D4BCB}MOORIO~KART--PLATINUM}MOORIO KART−−PLATINUM高:\MATHSF{\COLOR{SILVER}高:}高: 所以下面我将会给出几种解法\MATHSF{\COLOR{TEAL}所以下面我将会给出几种解法}所以下面我将会给出几种解法 注:本帖仅供娱乐\MATHBF{\SMALL注:本帖仅供娱乐}注:本帖仅供娱乐 第一种:线段树\MATHBF{\COLOR{GOLDENROD}第一种:线段树}第一种:线段树 第二种:树状数组\MATHBF{\COLOR{GOLDENROD}第二种:树状数组}第二种:树状数组 第三种:高精度\MATHBF{\COLOR{GOLDENROD}第三种:高精度}第三种:高精度
i 莒勽(回关)鼚袃氜褎嬽槼鑸丌
dsaadsarf
bobobobobobobobo
@MuktorFM,过来看看题解 A. Easy B. Word C. Force D. Stone E. Farm F. Run G. Zombie H. Square 总体来说:python写代码真的是太累了,太长了! 作者只得了342分,第18,还可以吧?
AAA忘川秋库的秋裤批发哥
共5833条