题目名称 4195. [CSP-J 2025 T4]多边形(GPT-5数据)
输入输出 polygon.in/out
难度等级 ★★☆
时间限制 1000 ms (1 s)
内存限制 512 MiB
测试数据 25
题目来源 Gravatarsyzhaoss 于2025-11-01加入
开放分组 全部用户
提交状态
分类标签
分享题解
通过:1, 提交:9, 通过率:11.11%
Gravatar金牌教师王艳芳 100 0.489 s 3.74 MiB C++
Gravatar2_16鸡扒拌面 92 1.361 s 68.59 MiB C++
Gravatar2_16鸡扒拌面 44 1.000 s 36.14 MiB C++
Gravatar金牌教师王艳芳 0 0.169 s 7.87 MiB C++
Gravatar2_16鸡扒拌面 0 5.996 s 98.92 MiB C++
Gravatar2_16鸡扒拌面 0 6.397 s 98.93 MiB C++
Gravatar2_16鸡扒拌面 0 6.530 s 98.90 MiB C++
Gravatar2_16鸡扒拌面 0 6.585 s 98.93 MiB C++
Gravatar金牌教师王艳芳 0 8.120 s 22.69 MiB C++
关于 多边形(GPT-5数据) 的近10条评论(全部评论)
别说chatgpt5了,这个数据是Siri生成的吧
Gravatar金牌教师王艳芳
2025-11-02 22:48 8楼
这个是啥数据啊,什么Open AI技术倒退到GPT-3
Gravatar金牌教师王艳芳
2025-11-02 22:47 7楼
666不会吧三年OI一场空,不开longlong见祖宗
Gravatar2_16鸡扒拌面
2025-11-02 22:31 6楼
回复 @2_16鸡扒拌面 :
这个已经很不错了,我算了一下,能过1-4,开o2的话1-6能过
Gravatar金牌教师王艳芳
2025-11-02 16:37 5楼
回复 @2_16鸡扒拌面 :
我考场上和你想的也差不多我在考场上写了一下,lemon没过,我在考场上算了算空间太大了,i 最大 500,j 最大总和 = 5000 × 5000 = 25,000,000
dp[5001][25000001] 内存 ≈ 5000 × 25e6 × 4B ≈ 500 GB,远超 512 MiB。时间也太大 状态数 ≈ 5000 × 25e6 = 125e9,远超 10⁹,1 秒肯定超时。
Gravatar金牌教师王艳芳
2025-11-02 16:35 4楼
前缀和加哈希加DP,考场上硬搜感觉最多28,特殊性质拿了点分
Gravatar金牌教师王艳芳
2025-11-02 16:23 3楼
设 dp[i][j] 表示选到前i个数,所选数字的总和为j的方案数,状态转移方程:
dp[i][j] = dp[i-1][j] + dp[i-1][j-a[i]]
Gravatar2_16鸡扒拌面
2025-11-02 15:10 2楼
三年OI一场空,考场想到正解不写见祖宗
Gravatar2_16鸡扒拌面
2025-11-02 14:13 1楼

4195. [CSP-J 2025 T4]多边形(GPT-5数据)

★★☆   输入文件:polygon.in   输出文件:polygon.out   简单对比
时间限制:1 s   内存限制:512 MiB

【题目描述】

小 R 喜欢玩小木棍。小 R 有 $n$ 根小木棍,第 $i$ ($1 \leq i \leq n$) 根小木棍的长度为 $a_i$。

小 X 希望小 R 从这 $n$ 根小木棍中选出若干根小木棍,将它们按任意顺序首尾相连拼成一个多边形。小 R 并不知道小木棍能拼成多边形的条件,于是小 X 直接将条件告诉了他:对于长度分别为 $l_1, l_2, \dots, l_m$ 的 $m$ 根小木棍,这 $m$ 根小木棍能拼成一个多边形当且仅当 $m \geq 3$ 且所有小木棍的长度之和大于所有小木棍的长度最大值的两倍,即 $\sum_{i=1}^{m} l_i > 2 \times \max_{i=1}^{m} l_i$。

由于小 R 知道了小木棍能拼成多边形的条件,小 X 提出了一个更难的问题:有多少种选择小木棍的方案,使得选出的小木棍能够拼成一个多边形?你需要帮助小 R 求出选出的小木棍能够拼成一个多边形的方案数。两种方案不同当且仅当选择的小木棍的下标集合不同,即存在 $1 \leq i \leq n$,使得其中一种方案选择了第 $i$ 根小木棍,但另一种方案未选择。由于答案可能较大,你只需要求出答案对 $998,244,353$ 取模后的结果。

【输入格式】

输入的第一行包含一个正整数 $n$,表示小 R 的小木棍的数量。

输入的第二行包含 $n$ 个正整数 $a_1, a_2, \dots, a_n$,表示小 R 的小木棍的长度。

【输出格式】

输出一行一个非负整数,表示小 R 选出的小木棍能够拼成一个多边形的方案数对 $998,244,353$ 取模后的结果。

【样例1输入】

5
1 2 3 4 5

【样例1输出】

9

【样例1说明】

共有以下 $9$ 种选择小木棍的方案,使得选出的小木棍能够拼成一个多边形:

1. 选择第 $2, 3, 4$ 根小木棍,长度之和为 $2 + 3 + 4 = 9$,长度最大值为 $4$;

2. 选择第 $2, 4, 5$ 根小木棍,长度之和为 $2 + 4 + 5 = 11$,长度最大值为 $5$;

3. 选择第 $3, 4, 5$ 根小木棍,长度之和为 $3 + 4 + 5 = 12$,长度最大值为 $5$;

4. 选择第 $1, 2, 3, 4$ 根小木棍,长度之和为 $1 + 2 + 3 + 4 = 10$,长度最大值为 $4$;

5. 选择第 $1, 2, 3, 5$ 根小木棍,长度之和为 $1 + 2 + 3 + 5 = 11$,长度最大值为 $5$;

6. 选择第 $1, 2, 4, 5$ 根小木棍,长度之和为 $1 + 2 + 4 + 5 = 12$,长度最大值为 $5$;

7. 选择第 $1, 3, 4, 5$ 根小木棍,长度之和为 $1 + 3 + 4 + 5 = 13$,长度最大值为 $5$;

8. 选择第 $2, 3, 4, 5$ 根小木棍,长度之和为 $2 + 3 + 4 + 5 = 14$,长度最大值为 $5$;

9. 选择第 $1, 2, 3, 4, 5$ 根小木棍,长度之和为 $1 + 2 + 3 + 4 + 5 = 15$,长度最大值为 $5$。

【样例2输入】

5
2 2 3 8 10

【样例2输出】

6

【样例2说明】

共有以下 $6$ 种选择小木棍的方案,使得选出的小木棍能够拼成一个多边形:

1. 选择第 $1, 2, 3$ 根小木棍,长度之和为 $2 + 2 + 3 = 7$,长度最大值为 $3$;

2. 选择第 $3, 4, 5$ 根小木棍,长度之和为 $3 + 8 + 10 = 21$,长度最大值为 $10$;

3. 选择第 $1, 2, 4, 5$ 根小木棍,长度之和为 $2 + 2 + 8 + 10 = 22$,长度最大值为 $10$;

4. 选择第 $1, 3, 4, 5$ 根小木棍,长度之和为 $2 + 3 + 8 + 10 = 23$,长度最大值为 $10$;

5. 选择第 $2, 3, 4, 5$ 根小木棍,长度之和为 $2 + 3 + 8 + 10 = 23$,长度最大值为 $10$;

6. 选择第 $1, 2, 3, 4, 5$ 根小木棍,长度之和为 $2 + 2 + 3 + 8 + 10 = 25$,长度最大值为 $10$。

【样例3,4】

样例下载

样例3满足测试点 $7 \sim 10$ 的约束条件。

该样例4满足测试点 $11 \sim 14$ 的约束条件。

【数据规模与约定】

对于所有测试数据,保证:

- $3 \leq n \leq 5,000$;

- 对于所有 $1 \leq i \leq n$,均有 $1 \leq a_i \leq 5\,000$。