| 题目名称 | 4297. [TIOJ - 114學年度複試] Constructive |
|---|---|
| 输入输出 | tioj_constructive.in/out |
| 难度等级 | ★★★★ |
| 时间限制 | 1000 ms (1 s) |
| 内存限制 | 512 MiB |
| 测试数据 | 10 |
| 题目来源 |
|
| 开放分组 | 全部用户 |
| 提交状态 | |
| 分类标签 | |
| 分享题解 |
| 通过:2, 提交:32, 通过率:6.25% | ||||
|
|
100 | 1.809 s | 3.96 MiB | C++ |
|
|
100 | 2.472 s | 4.19 MiB | C++ |
|
|
50 | 6.103 s | 58.25 MiB | C++ |
|
|
50 | 6.440 s | 4.32 MiB | C++ |
|
|
50 | 6.801 s | 4.24 MiB | C++ |
|
|
50 | 6.814 s | 4.22 MiB | C++ |
|
|
50 | 6.863 s | 4.28 MiB | C++ |
|
|
50 | 8.107 s | 4.78 MiB | C++ |
|
|
50 | 8.320 s | 4.78 MiB | C++ |
|
|
40 | 6.813 s | 64.72 MiB | C++ |
| 本题关联比赛 | |||
| 期末考试1 | |||
| 关于 Constructive 的近10条评论(全部评论) |
|---|
tioj_constructive.in
输出文件:tioj_constructive.out
简单对比pooh 很想买 Ina 的五周年纪念商品,因此他决定要去打工。 他的打工是要去帮忙盖向量,这是一个很构造性 (Constructive) 的工作。现在有 $N$ 种长度小于 10 的二维向量(一个二维向量 $(a, b)$ 的长度为 $\sqrt{a^2 + b^2}$),每种 pooh 都可以取用无限多个。
但取用向量是有代价的,这 $N$ 种向量的代价分别为 $c_1, c_2, \dots, c_N$,每取用一个向量 $v_i$,pooh 的老板就需要付 $c_i$ 元。
现在 pooh 的老板想要他用最小的代价取用向量,让他取用的向量总和为某个目标向量 $u = (x, y)$。请帮 pooh 确定是否有办法取用某些向量让它们的和为 $u$,如果可以的话,pooh 的老板最少需要付几元?
换句话说,给定 $N$ 个向量 $v_1, v_2, \dots, v_N$ 与 $N$ 个代价 $c_1, c_2, \dots, c_N$,请判断是否存在一组非负整数 $\alpha_1, \alpha_2, \dots, \alpha_N$ 满足: $$u = \alpha_1 v_1 + \alpha_2 v_2 + \dots + \alpha_N v_N$$ 如果存在,请输出在满足前式的状况下,$\sum_{i=1}^N \alpha_i c_i$ 最小可以是多。
第一行包含三个整数 $N, x, y$,代表 pooh 可以取用几种向量与目标向量 $u = (x, y)$。
接着会有 $N$ 行,第 $i+1$ 行包含三个非负整数 $a_i, b_i, c_i$,代表第 $i$ 种向量 $v_i = (a_i, b_i)$ 与其代价 $c_i$。
如果不存在任何一组非负整数 $\alpha_i$ 使得向量和为 $u$,输出 -1。否则输出满足条件的最小代价总和。
3 4 9 1 3 2 3 4 1 2 3 1
5
2 5 7 4 2 1 2 2 4
-1
对于样例测资 1,最佳的 $\alpha = (2, 0, 1)$。
计算过程:$2 \times (1, 3) + 0 \times (3, 4) + 1 \times (2, 3) = (2+0+2, 6+0+3) = (4, 9)$。
总代价为 $2 \times 2 + 0 \times 1 + 1 \times 1 = 5$。
对于样例测资 2,可以证明不存在任何一组解。
| 子任务 | 分值 | 额外限制 |
|---|---|---|
| 1 | 10 | $N = 2, v_1 = (0, 1), v_2 = (1, 0)$ |
| 2 | 10 | $x, y \le 10$ |
| 3 | 20 | $x, y \le 10^3$ |
| 4 | 10 | $x = y \le 10^6, \forall i, a_i = b_i$ |
| 5 | 20 | $x = y, \forall i, a_i = b_i$ |
| 6 | 30 | 无特别限制 |
114 学年度台湾省建国中学信息学科能力竞赛:复试