#B3774. [信息与未来 2022] 样本分类
[信息与未来 2022] 样本分类
题目描述
在人工智能中,“分类”是一项非常重要的任务。例如,公安系统通过人工智能分类潜在的电信诈骗,并进行及时的预警。现在我们考虑一种最简单的“线性二分类器”,它由 个整数参数(常数) 组成。在输入一组整数 时,如果
$$a_1\cdot x_1+a_2\cdot x_2+\dots+a_n\cdot x_n\leq 0 $$成立,则分类器输出 ,否则分类器输出 。如果分类器的输入(称为“特征”)选择得当,即便是简单的线性分类器也能取得很好的分类效果。
现在,我们得到了两个用于同一分类任务的分类器:
- 分类器 ,当 $a_1\cdot x_1+a_2\cdot x_2+\dots +a_n\cdot x_n\leq 0$ 时输出 ,否则输出
- 分类器 ,当 $b_1\cdot x_1+b_2\cdot x_2+\dots +b_n\cdot x_n\leq 0$ 时输出 ,否则输出
由于 和 是两个不同的分类器,它们可能会在某些输入的 上产生分歧,给出不同的分类结果——这样的问题值得我们特别关注。因此,你的任务就是求出一组 ,使得分类器 和 返回不同的结果。
为了帮助大家理解,我们假设 和 分别保存在数组 和 中(数组下标从 到 )。你的任务就是求出数组 的元素 ,使下面的函数 返回 :
int n; // 参数/输⼊的个数
bool classify(int param[], int x[]) {
int y = 0;
for (int i = 1; i <= n; i++) {
y += param[i] * x[i];
}
if (y <= 0) {
return true;
} else {
return false;
}
}
bool diverge(int x[]) {
return classify(a, x) != classify(b, x);
}
输入格式
输入的第一行包含一个整数 ,代表分类器参数的个数。
输入的第二行包含 个整数,代表分类器 的参数 ()。
输入的第三行包含 个整数,代表分类器 的参数 ()。
输入数据保证两个分类器的参数不是完全相同的。
传题人 Update:本题保证两个分类器的参数不对应成比例且同号,即所有 不全为同一正值,可以证明这种情况下一定有解。
输出格式
输出一行 个整数,分别是 。其中 ()可以是正数、负数或零,但绝对值不能超过 。如果有多组满足要求的解,输出任意一个即可。
2
1 1
-1 1
100 0
提示
对于 的数据,满足 ,()。