题解 CF1487C 【Minimum Ties】
令
对第二个方程的解释:有胜负的局数会为所有队的总分的和贡献
解得
- 若
n 为奇数,则k 显然取\frac{3n-3}{2} ,此时\begin{array}{l} x=\frac{n(n-1)}{2} \\ y=0 \end{array} \right.
只需让每只队伍都赢
- 若
n 为偶数,则k 显然取\frac{3n-4}{2} ,此时\begin{array}{l} x=\frac{n(n-2)}{2} \\ y=\frac{n}{2} \end{array} \right.
只需让每只队伍都赢
时间复杂度
代码:
#include<cstdio>
#define ri register int
int n,t;
int main(){
scanf("%d",&t);
while(t--){
scanf("%d",&n);
for(ri i=1;i<n;++i){
ri j=i+1;
if(!(n&1)&&(i&1))++j,printf("0 ");
for(;j<=n;++j)
printf("%d ",(j-i)&1?-1:1);
}
putchar(10);
}
return 0;
}