acgo题库
  • 首页
  • 题库
  • 题单
  • 竞赛
  • 讨论
  • 排行
  • 团队
  • 备赛专区

    竞赛

    • CSP-J/S
    • 蓝桥杯

    考级

    • GESP
    • CPA
    • 电子学会考级
登录
注册
题目详情题解(0)讨论(0)提交记录(0)
  • 正经题解|任务-宝石

    题解:任务-宝石 题目分析 本题的要求是将 nnn 种不同的宝石分给 nnn 个冒险者,且每个冒险者获得的宝石数量互不相同。我们需要计算最少的宝石总数,满足所有冒险者拿到的宝石数量不同。 为满足条件,我们可以设每个冒险者拿到的宝石数量为一个递增的整数序列,即第一个冒险者拿 111 颗宝石,第二个拿 222 颗宝石,第三个拿 333 颗,依此类推,第 nnn 个冒险者拿 nnn 颗宝石。 因此,最少的宝石数量就是前 nnn 个自然数之和,即: [ S = 1 + 2 + 3 + \dots + n = \frac{n \times (n + 1)}{2} ] 这个公式是等差数列的和,直接代入 nnn 就可以得到答案。 AC代码 复杂度分析 * 时间复杂度:O(1)O(1)O(1),因为计算公式中的乘法和除法是常数时间操作。 * 空间复杂度:O(1)O(1)O(1),只用了常数的空间来存储变量。

    userId_undefined

    AC君

    管理员
    倔强青铜
    28阅读
    0回复
    0点赞
  • 题解

    userId_undefined

    sprunki

    倔强青铜
    9阅读
    0回复
    1点赞
  • WIIIIIIIIIIIIIIIIIII

    userId_undefined

    C.K.K.S.H

    荣耀黄金
    5阅读
    0回复
    1点赞
  • 简简单单

    #include<iostream> using namespace std; int main() { int n,a; cin>>n; for(int i=1;i<=n;i++) { a=a+i; }

    userId_undefined

    Adolf

    倔强青铜
    6阅读
    0回复
    0点赞
  • 等差数列求和

    userId_undefined

    回来看看

    倔强青铜
    3阅读
    0回复
    0点赞
  • 时间复杂度O(1)

    userId_undefined

    李赛科

    倔强青铜
    1阅读
    0回复
    0点赞
  • 超简单题解

    userId_undefined

    邱澤銳·龍龘龖🔥#emo中

    倔强青铜
    1阅读
    0回复
    0点赞
  • 题解

    userId_undefined

    zsy

    秩序白银
    0阅读
    0回复
    0点赞
首页