【弱省胡策】Round #5 Construct 解题报告
2015-06-18 17:34
218 查看
这个题是传说中的 Hack 狂魔 qmqmqm 出的构造题。当然要神。
这个题的本质实际上就是构造一个图,然后使得任意两点间都有长度为 $k$ 的路径相连,然后对于任意的 $i < k$,都存在两个点使得这两个点没有长度为 $i$ 的路径相连。
我的构造方法就是:
首先给每个点连一个自环。
构造一个大小为 $n-k+1$ 的团。
然后剩下的点造成一条链并与 $n-k+1$ 号点相连。
这样的解是一组可行解。
时间复杂度 $O(n^2)$,空间复杂度 $O(1)$。
Construct_Gromah
这个题的本质实际上就是构造一个图,然后使得任意两点间都有长度为 $k$ 的路径相连,然后对于任意的 $i < k$,都存在两个点使得这两个点没有长度为 $i$ 的路径相连。
我的构造方法就是:
首先给每个点连一个自环。
构造一个大小为 $n-k+1$ 的团。
然后剩下的点造成一条链并与 $n-k+1$ 号点相连。
这样的解是一组可行解。
时间复杂度 $O(n^2)$,空间复杂度 $O(1)$。
#include <cstdio> #define abs(x) ((x) > 0 ? (x) : -(x)) int n, k; int main() { scanf("%d%d", &n, &k); for (int i = 1; i <= n; putchar('\n'), i ++) for (int j = 1; j <= n; j ++) if ((i <= n - k + 1 && j <= n - k + 1) || abs(i - j) <= 1) putchar('1'); else putchar('0'); return 0; }
Construct_Gromah
相关文章推荐
- 启用 TStringGrid 的自画功能,并避免重影
- server 2008 AD的迁移的反思
- SAT阅读高分指南(6):社科类阅读-4
- 重写HashPartitioner类
- Skype for Business MVA在线课堂
- linux 调度执行 每个月月末某个时间点执行
- opencv cvPyrDown cvPyrUp 缩放一半尺寸
- 优秀的第三方框架
- 爱情第二课,择爱两大误区
- 遮住层
- Java虚拟机体系结构
- ZigZag Conversion
- [数字图像处理]简单的几何学图像变换与图像配准
- 微信内置JsAPI之WeixinJSBridge
- 堆排序
- Struts2 学习笔记
- xml与json的区别
- 有关header()前不能有实际输出的一点分析
- web.xml配置详解
- [数字图像处理]频域滤波(2)--高通滤波器,带阻滤波器与陷波滤波器