A6509 | [CSP-S 2025] 社团招新
来源CSP-S / 2025
时间限制1s
内存限制1024MB
通过 / 提交0/0
题目描述
小 $L$ 是学校算法协会的成员。在今年的学校社团招新中,小 $L$ 一共招收了 $n$ 个新成员,其中 $n$ 为偶数。现在小L希望将他们分到协会不同的部门。
算法协会共有三个部门,其中第 $i$($1 \leq i \leq n$)个新成员对第 $j$($1 \leq j \leq 3$)个部门的满意度为 $a_{i,j}$。定义一个分配方案的满意度为所有新成员对分配到的部门的满意度之和,也就是说,若将第 $i$($1 \leq i \leq n$)个新成员分配到了第 $d_i \in \{1,2,3\}$ 个部门,则该分配方案的满意度为 $\sum_{i=1}^{n} a_{i,d_i}$。
小L不希望某一个部门的新成员数量过多。具体地,他要求在分配方案中,不存在一个部门被分配多于 $\frac{n}{2}$ 个新成员。你需要帮助小 $L$ 求出,满足他要求的分配方案的满意度的最大值。
算法协会共有三个部门,其中第 $i$($1 \leq i \leq n$)个新成员对第 $j$($1 \leq j \leq 3$)个部门的满意度为 $a_{i,j}$。定义一个分配方案的满意度为所有新成员对分配到的部门的满意度之和,也就是说,若将第 $i$($1 \leq i \leq n$)个新成员分配到了第 $d_i \in \{1,2,3\}$ 个部门,则该分配方案的满意度为 $\sum_{i=1}^{n} a_{i,d_i}$。
小L不希望某一个部门的新成员数量过多。具体地,他要求在分配方案中,不存在一个部门被分配多于 $\frac{n}{2}$ 个新成员。你需要帮助小 $L$ 求出,满足他要求的分配方案的满意度的最大值。
输入格式
本题包含多组测试数据。
输入的第一行包含一个正整数 $t$,表示测试数据组数。
接下来依次输入每组测试数据,对于每组测试数据:
- 第一行包含一个正整数 $n$,表示新成员的数量。
- 第 $i + 1$($1 \leq i \leq n$)行包含三个非负整数 $a_{i,1}, a_{i,2}, a_{i,3}$,分别表示第 $i$ 个新成员对第 $1,2,3$ 个部门的满意度。
输入的第一行包含一个正整数 $t$,表示测试数据组数。
接下来依次输入每组测试数据,对于每组测试数据:
- 第一行包含一个正整数 $n$,表示新成员的数量。
- 第 $i + 1$($1 \leq i \leq n$)行包含三个非负整数 $a_{i,1}, a_{i,2}, a_{i,3}$,分别表示第 $i$ 个新成员对第 $1,2,3$ 个部门的满意度。
输出格式
对于每组测试数据,输出一行一个非负整数,表示满足小 $L$ 要求的分配方案的满意度的最大值。
输入输出样例
输入 #1
3 4 4 2 1 3 2 4 5 3 4 3 5 1 4 0 1 0 0 1 0 0 2 0 0 2 0 2 10 9 8 4 0 0
输出 #1
18 4 13
输入 #2
见选手目录下的 club/club2.in 与 club/club2.ans。该样例满足测试点 3,4 的约束条件。
输出 #2
见选手目录下的 club/club2.in 与 club/club2.ans。该样例满足测试点 3,4 的约束条件。
输入 #3
见选手目录下的 club/club3.in 与 club/club3.ans。该样例满足测试点 5~8 的约束条件。
输出 #3
见选手目录下的 club/club3.in 与 club/club3.ans。该样例满足测试点 5~8 的约束条件。
输入 #4
见选手目录下的 club/club4.in 与 club/club4.ans。该样例满足测试点 9 的约束条件。
输出 #4
见选手目录下的 club/club4.in 与 club/club4.ans。该样例满足测试点 9 的约束条件。
输入 #5
见选手目录下的 club/club5.in 与 club/club5.ans。该样例满足测试点 15,16 的约束条件。
输出 #5
见选手目录下的 club/club5.in 与 club/club5.ans。该样例满足测试点 15,16 的约束条件。
样例 1 解释
该样例共包含三组测试数据。
对于第一组测试数据,可以将四个新成员分别分配到第 $1,3,1,2$ 个部门,则三个部门的新成员数量分别为 $2,1,1$,均不超过 $\frac{4}{2} = 2$,满意度为 $4 + 4 + 5 + 5 = 18$。
对于第二组测试数据,可以将四个新成员分别分配到第 $1,1,2,2$ 个部门,则三个部门的新成员数量分别为 $2,2,0$,均不超过 $\frac{4}{2} = 2$,满意度为 $0 + 0 + 2 + 2 = 4$。
对于第三组测试数据,可以将两个新成员分别分配到第 $2,1$ 个部门,则三个部门的新成员数量分别为 $1,1,0$,均不超过 $\frac{2}{2} = 1$,满意度为 $9 + 4 = 13$。
数据范围
对于所有测试数据,保证:
- $1 \leq t \leq 5$;
- $2 \leq n \leq 10^5$,且 $n$ 为偶数;
- 对于所有 $1 \leq i \leq n$,$1 \leq j \leq 3$,均有 $0 \leq a_{i,j} \leq 2 \times 10^4$。
| 测试点编号 | $n =$ | 特殊性质 |
|---|---|---|
| 1 | 2 | 无 |
| 2 | 4 | 无 |
| 3,4 | 10 | 无 |
| 5 $\sim$ 8 | 30 | 无 |
| 9 | 200 | B |
| 10,11 | 200 | 无 |
| 12 | $10^5$ | A |
| 13,14 | $10^5$ | B |
| 15,16 | $10^5$ | C |
| 17 $\sim$ 20 | $10^5$ | 无 |
特殊性质 A:对于所有 $1 \leq i \leq n$,均有 $a_{i,2} = a_{i,3} = 0$。
特殊性质 B:对于所有 $1 \leq i \leq n$,均有 $a_{i,3} = 0$。
特殊性质 C:对于所有 $1 \leq i \leq n$,$1 \leq j \leq 3$,$a_{i,j}$ 均在 $[0,2 \times 10^4]$ 中独立均匀随机生成。
C++ 编辑器
输入
输出
可保存默认模板;新题优先使用已保存模板。
当前快捷键仅展示,暂不支持修改。
- 撤销
Ctrl / ⌘ + Z - 重做
Ctrl / ⌘ + Y - 查找
Ctrl / ⌘ + F - 全选
Ctrl / ⌘ + A - 复制
Ctrl / ⌘ + C - 剪切
Ctrl / ⌘ + X - 粘贴
Ctrl / ⌘ + V - 自动排版
工具栏排版按钮 - 草稿保存
编辑时自动保存到本机
历史
提交记录
状态说明时间源码
AI
作答助手
你好,我是作答助手。可以问思路、复杂度、样例含义或代码报错原因;不会直接给出完整 AC 代码。
确定要清空代码吗?