zhangjinxuan 发表于 2023-8-22 21:06:00

梦想星际舰队第16关 && FCOI #8 第三题绳子题解【原创】

本帖最后由 zhangjinxuan 于 2023-8-22 21:17 编辑



梦想星际舰队第16关 && FCOI #8 题解

第三题:绳子

题目描述
有 N 个物品,现在要用一些绳子把它们连起来,使得两个物品之间都有一根绳子链接。

一根绳子只能连接 2 个物品。

答案可能过大,请输出结果对 10^9+7 取模的结果。

输入格式
一行一个整数 N。

输出格式
一个整数表示答案。

输入输出样例
输入 #1
4
输出 #1
6
输入 #2
10
输出 #2
45
输入 #3
114514
输出 #3
556670799

数据范围
对于 30% 的数据,保证 1≤N≤1000

对于 100% 的数据,保证 1≤N≤10^6


Extra 数据范围
对于 100% 的数据,保证 1≤N≤10^18

其他说明
本题目为 zhangjinxuan 原创题目。
测试链接:https://www.luogu.com.cn/problem/U325335

答案与解析
**** Hidden Message *****

最佳战士排行榜
**** Hidden Message *****

陶远航 发表于 2023-8-22 21:06:30

本帖最后由 陶远航 于 2023-8-22 21:18 编辑

k = int(input())
print(int((1 + k - 1) * (k - 1) / 2 % (10 ** 9 + 7)))

isdkz 发表于 2023-8-22 21:06:33

本帖最后由 isdkz 于 2023-8-22 21:09 编辑

这个问题可以使用动态规划来解决。我们定义一个数组dp,其中dp[ i]表示连接i个物品所需的绳子的数量。

首先,我们考虑边界情况。当只有一个物品时,不需要绳子,即dp = 0。当有两个物品时,需要一根绳子,即dp = 1。

接下来,我们考虑连接i个物品所需的绳子的数量。我们可以将第i个物品与前面的任意一个物品连接,然后将剩下的i-1个物品连接起来。因此,dp[ i] = dp + (i-1)。

最后,我们将结果对10^9+7取模,即dp % (10^9+7)。

下面是具体的代码实现:

def solve(N):
    dp = * (N+1)
    dp = 0
    dp = 1
    for i in range(3, N+1):
      dp[ i] = (dp + (i-1)) % (10**9+7)
    return dp

N = int(input())
print(solve(N))


希望能帮到你!

zhangjinxuan 发表于 2023-8-22 21:07:15

isdkz 发表于 2023-8-22 21:06
这个问题可以使用动态规划来解决。我们定义一个数组dp,其中dp[ i]表示连接i个物品所需的绳子的数量。

...

呃呃,小题大作了吧{:10_256:}

Ewan-Ahiouy 发表于 2023-8-22 21:13:02

本帖最后由 Ewan-Ahiouy 于 2023-8-22 21:15 编辑

def r(n):
        return n * (n - 1) // 2
n = int(input())
print(r(n) % 1000000007)

最佳我来啦~{:9_236:}

zhangjinxuan 发表于 2023-8-22 21:15:12

Ewan-Ahiouy 发表于 2023-8-22 21:13
最佳我来啦~

bushi,这是绳子

Ewan-Ahiouy 发表于 2023-8-22 21:15:55

zhangjinxuan 发表于 2023-8-22 21:15
bushi,这是绳子

你的链接错了!!!{:10_244:}害得我丢人{:10_266:}

Ewan-Ahiouy 发表于 2023-8-22 21:16:48

(1 + k - 1)不就等于k吗{:10_257:}

zhangjinxuan 发表于 2023-8-22 21:17:41

Ewan-Ahiouy 发表于 2023-8-22 21:16
(1 + k - 1)不就等于k吗

Ewan-Ahiouy 发表于 2023-8-22 21:18:48

zhangjinxuan 发表于 2023-8-22 21:17


我的帖子改了{:10_254:}

zhangjinxuan 发表于 2023-8-22 21:19:38

Ewan-Ahiouy 发表于 2023-8-22 21:18
我的帖子改了

已处理~

继续水梦想护卫舰的业绩{:10_256:}

Ewan-Ahiouy 发表于 2023-8-22 21:19:57

zhangjinxuan 发表于 2023-8-22 21:19
已处理~

继续水梦想护卫舰的业绩

测试链接错了

zhangjinxuan 发表于 2023-8-22 21:20:10

Ewan-Ahiouy 发表于 2023-8-22 21:19
测试链接错了

改了

Ewan-Ahiouy 发表于 2023-8-22 21:26:18

zhangjinxuan 发表于 2023-8-22 21:20
改了

6,无权查看

Ewan-Ahiouy 发表于 2023-8-22 21:28:14

陶远航是真恶心,我发问题他抄题解,这个这么简单的问题照样抄,还有那个封号事件{:9_239:}

sfqxx 发表于 2023-8-22 23:41:15

Ewan-Ahiouy 发表于 2023-8-22 21:28
陶远航是真恶心,我发问题他抄题解,这个这么简单的问题照样抄,还有那个封号事件

1c

unsigned_int 发表于 2023-8-24 20:31:39

好多这个系列
页: [1]
查看完整版本: 梦想星际舰队第16关 && FCOI #8 第三题绳子题解【原创】