[ARC175E] Three View Drawing

news/2024/10/11 20:25:40

My Blogs

[ARC175E] Three View Drawing

哎,构造。

首先考虑 \(m=n^2\) 怎么做:显然是最上面一层填满第一条主对角线,第二层填满第二条主对角线...(主对角线指可以循环的对角线)。

\(n\) 变成满足 \(n^2\geq m\) 的最小的 \(n\)。然后考虑删去 \(n^2-m\) 个。可以发现(谁能发现啊啊啊)在矩形的右下角删掉一个 L 型即可。如果 \(n^2-m\) 是偶数则右下角的 \((n,n,n)\) 保留即可。

image.png

\(x\) 表示 \(L\) 的边长 \(-1\)(图中为 \(4\))。上图是正方体的俯视图,把正方体从上到下分成 \(1,2,3\dots n\) 层,某个位置填了 \(x\) 代表这个的格子存在于第 \(x\) 层。

首先对于暖色调的填法,可以发现这样对于前 \(n-1-x\) 层,从正面和侧面看都是填满的,和俯视图是相同的。

对于紫色,这个位置填的是 \(n\),正好对应了在第 \(n\) 层只有最左边三个有值,符合俯视图。

对于冷色调的其他颜色,都在一个 \((n-1)\times(n-1)\) 的正方形里面填的,所以对于第 \((n-x)\sim(n-1)\) 层,每层从正面和右面看都是恰好 \(n-1\) 个格子,也符合俯视图。

int n,m,a[510][510];
vector<tup> ans;
inline void mian()
{read(n,m),memset(a,-1,sizeof(a));while((n-1)*(n-1)>=m)--n;m=n*n-m;if(!(m&1))ans.eb(tup(n-1,n-1,n-1));else --m;m>>=1,assert(m<n);for(int i=0;i+m+1<n;++i)for(int j=0;j<n;++j)a[j][(i-1-j+n)%n]=i;for(int i=0;i<n-1-m;++i)a[i][n-2-m-i]=n-1;for(int i=n-m-1;i<n-1;++i)for(int j=0;j<n-1;++j)a[j][(i-j+(n-1))%(n-1)]=i;for(int i=0;i<n;++i)for(int j=0;j<n;++j)if(a[i][j]!=-1)ans.eb(tup(i,j,a[i][j]));for(auto [x,y,z]:ans)write(x,' ',y,' ',z,'\n');
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ryyt.cn/news/53483.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

c/c++代码流程图生成

以下介绍2款皆免费 1.cxx2flow【github项目】c/c++函数解析为dot然后通过Graphviz渲染项目有附带gui程序可直接生成流程图,但是显示效果缩放不太行,建议解析生成dot后喂给其他基于Graphviz的渲染服务,使用过vscode上面的graphviz-interactive-preview,效果还行,也有在线网页…

算法与数据结构——哈希表

哈希表 哈希表(hash table),又称散列表,它通过建立键key与值value之间的映射,实现高效的元素查询。具体而言,我们向哈希表中输入一个键key,则可以在O(1)时间内获取对应的值value。 除哈希表外,数组和链表也可以实现查询功能,他们的效率对比如下表:添加元素:仅需将元…

Android systrace环境的搭建和使用

一、systrace简介 Systrace 是 Android4.1 中新增的性能数据采样和分析工具。它可帮助开发者收集 Android 关键子系统(如 SurfaceFlinger/SystemServer/Kernel/Input/Display 等 Framework 部分关键模块、服务,View系统等)的运行信息,从而帮助开发者更直观的分析系统瓶颈,…

threeJs 修改TransformControls的显示位置

有的时候模型的原点不是自身中心而是在场景的[0, 0, 0]位置这个时候想要让TransformControls的位置显示在模型的中心目前找的的处理方式是修改源码 找到updateMatrixWorld方法 updateMatrixWorld () {...for ( let i = 0; i < handles.length; i ++ ) {...if ( this.mode ==…

对于初创电商公司来说,选择API测试工具时应该考虑哪些因素?

成本效益: 初创公司通常预算有限,因此需要考虑工具的购买成本或订阅费用。 寻找提供免费版本或社区版的工具,这些版本可能已经满足基本需求。 易用性: 选择学习曲线较低的工具,以便团队成员可以快速上手。 界面友好和直观的工具可以减少培训时间和成本。 功能性: 确保所选…

confluence

我是有postgres 的文件了 所以我需要重新创建个容器docker run -itd -p 8090:8090 \--name confluence \-e JVM_MINIMUM_MEMORY=4096m \-e JVM_MAXIMUM_MEMORY=4096m \-v /data/confluence:/opt/atlassian/confluence-data \confluence:8.7.1一、部署confluence和postgresql 下…

KepServer 右下角小图标消失,导致无法配置。

描述:右下角小图标消失,导致无法配置。 解决: 重新打开 KEPServerEX 6 Administration

长期埋设,准确测量!GEORMxxxx振弦式钢筋计为岩土工程提供可靠的应力监测

长期埋设,准确测量!GEORMxxxx振弦式钢筋计为岩土工程提供可靠的应力监测GEORMxxxx型钢筋计,能够同步监测混凝土结构内部的温度,而无需进行温度修正。其量程更大,可达到300MPa的拉压应力幅度。GEORMxxxx型钢筋计广泛适用于各类混凝土工程和深基坑开挖安全监测中,可测量混凝…