北京师范大学第十五届ACM决赛 D-Disdain Chain(哈密顿回路&竞赛图性质)

题目

思路来源

定理:任何竞赛图都有哈密顿路径,强连通的竞赛图有哈密顿回路

证明

任意竞赛图都有哈密顿path(A Tournament has a Hamiltonian path)_证明竞赛图中必存在哈密顿通路_unsolvedmys的博客-优快云博客

显然n<=2成立,下面证n>=3的情况

具体来说,假设已经存在一条1到n的哈密顿路径,起点为1,终点为n

考虑新加入第n+1个点,设为点x,下面证明仍能构成哈密顿路径

由于x和前n个点两两之间都有边,

不妨,把存在x->i边的点i,称为out点,存在i->x的边的点i,称为in点

1. 若点n为out点,只需把x放在n后

2. 若点1为in点,只需把x放在1前

3. 否则,点1为out点,点n为in点,必存在i,使得点i为out点,而点i+1为in点

这样存在边i->x->(i+1),只需把x插在这个位置即可,得证

题解

竞赛图,相当于对C(n,2)条边的完全图定向,定为有向图

由定理,对于任意竞赛图,最长链长度都为n

所以,长度为1到n-1时输出0,为n时输出2的C(n,2)次方

代码

#include<bits/stdc++.h>
using namespace std;
int t,n;
int main()
{
    scanf("%d",&t);
    while(t--)
    {
        scanf("%d",&n);
        for(int i=1;i<n;++i)puts("0");
        printf("%lld\n",1ll<<(1ll*n*(n-1)/2));
    }
   return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小衣同学

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值