模拟——洛谷P1185 绘制二叉树

本文介绍了一种通过找规律和深度优先搜索(DFS)来解决洛谷P1185问题的方法。作者提到,代码虽小但未使用hk运行,如果使用hk,运行速度可能会更快。在满二叉树的情况下,通过分析画布大小的规律,确定了数组尺寸为800*1600,并用空格初始化画布。接着,从根节点开始进行DFS绘制二叉树,画图的策略也在寻找画布规律的过程中自然形成。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

https://www.luogu.org/problem/show?pid=1185
哈哈,我的代码是唯一一个不到1kb的;
时间不是最快的,但是我的代码没用hk跑;
要用hk跑的话,估计也快的飞起;
一看题目就感觉很有意思;
我的方法简单来说就是先找规律,然后一个dfs绘图;
首先我们考虑满二叉树;
我们先要确定画布大小;
然后juicy可以找到这么一种规律;
当k=1的时候,画布n=m=1;
当k!=1时

n=3;
for(int i=3;i<=k;i++)n*=2;
m=6*(1<<(k-2))-1;

这个倒真的是找规律得出的;
所以我们的数组开800*1600就很好了;
然后我们先把这个画布填充成空格;
然后从根节点往下dfs画图;
画图方法在找画布的规律的时候自然而然地发现了;
这个难说啊,其实也是找规律了;
看我代码把

#include<bits/stdc++.h>
#define Ll long long
using namespace std;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值