• 【弱省胡策】Round #5 Construct 解题报告


    这个题是传说中的 Hack 狂魔 qmqmqm 出的构造题。当然要神。

    这个题的本质实际上就是构造一个图,然后使得任意两点间都有长度为 $k$ 的路径相连,然后对于任意的 $i < k$,都存在两个点使得这两个点没有长度为 $i$ 的路径相连。

    我的构造方法就是:

    • 首先给每个点连一个自环。
    • 构造一个大小为 $n-k+1$ 的团。
    • 然后剩下的点造成一条链并与 $n-k+1$ 号点相连。

    这样的解是一组可行解。

    时间复杂度 $O(n^2)$,空间复杂度 $O(1)$。

     1 #include <cstdio>
     2 #define abs(x) ((x) > 0 ? (x) : -(x))
     3 int n, k;
     4 int main()
     5 {
     6     scanf("%d%d", &n, &k);
     7     for (int i = 1; i <= n; putchar('
    '), i ++)
     8         for (int j = 1; j <= n; j ++)
     9             if ((i <= n - k + 1 && j <= n - k + 1) || abs(i - j) <= 1) putchar('1');
    10                 else putchar('0');
    11     return 0;
    12 }
    Construct_Gromah
  • 相关阅读:
    0802作业1替换文本文件内容

    看病
    爬山
    作业1
    超市(未完成)
    图片复制
    替换
    文件
    英文字母和中文汉字在不同字符集编码下的字节数
  • 原文地址:https://www.cnblogs.com/gromah/p/4586542.html
Copyright © 2020-2023  润新知