POJ3889Fractal Streets 递归+ 坐标变换

【POJ 3889】Fractal Streets 题目描述 请求出一个等级为 nnn 的分形图中,编号为 SSS 的格子到编号为 DDD 的格子的直线距离。 城市的规划在城市建设中是个大问题。不幸的是,很多城市在开始建设的时候并没有很 好的规划,城市规模扩大之后规划不合理的问题就开始显现。而这座名为 Fractal 的城市设想了这样的一个规划方案,如下图所示: 当城区规模扩大之后,Fractal 的解决方案是把和原来城区结构一样的区域... 阅读详情

参考:https://vjudge.net/solution/10966515

他这个地方是
1 4
2 3的标号

在递归的过程中要知道如何处理”轴对称”,”点对称” 的方式/

LL P4[50];
void gao(LL n,LL a,LL &x,LL &y){
    if(n==1){
        if(a==1)x=y=1;
        if(a==2)x=1,y=2;
        if(a==3)x=y=2;
        if(a==4)x=2,y=1;
        return ;
    }
    if(a<=P4[n-1]){
        gao(n-1,a,y,x);
    }
    else if(a<=2*P4[n-1]){
        gao(n-1,a-P4[n-1],x,y);
        y+=(1<<(n-1));
    }
    else if(a<=3*P4[n-1]){
        gao(n-1,a-2*P4[n-1],x,y);
        x+=(1<<(n-1));
        y+=(1<<(n-1));
    }
    else if(a<=4*P4[n-1]){
        gao(n-1,a-3*P4[n-1],y,x);
        x=(1<<n)+1-x;
        y=(1<<(n-1))+1-y;
    }
}

int main(){

    P4[1]=4;
    rep(i,2,32)P4[i]=P4[i-1]*4;
    int T;sf("%d",&T);
    while(T--){
        int n,s,t;
        sf("%d%d%d",&n,&s,&t);
        LL sx,sy,ex,ey;
        gao(n,s,sx,sy);
        gao(n,t,ex,ey);
        pf("%.0f\n",sqrt((sx-ex)*(sx-ex)+(sy-ey)*(sy-ey))*10);
    }
}
Java 开发打飞机小游戏(附完整源码) 上图 写在前面 技术源于分享,所以今天抽空把自己之前用java做过的小游戏整理贴出来给大家参考学习。java确实不适合写桌面应用,这里只是通过这个游戏让大家理解oop面向对象编程的过程,纯属娱乐。代码写的很简单,也很容易理解,并且注释写的很清楚了,还有问题,自己私下去补课学习。 完整代码 敌飞机 import java.util.Random; 敌飞机: 是飞行物,也是敌人 public class Airplane extends FlyingObject implements Enemy { 阅读详情

相关推荐

龙头复盘神器/复盘于导出工具最新版5.6

龙头复盘神器,复盘于导出工具

初入python踩过的坑 8234

Fractal Streets(经典分形递归+坐标旋转)

原题链接:Fractal Streets 题面: 思路: 本题关键要解决:求编号为MMM的房屋在NNN级城市中的位置。把该问题记为 calc(N,M)calc(N, M)calc(N,M) ,本题就是求 calc(N,A)calc(N, A)calc(N,A) 和 calc(N,B)calc(N, B)calc(N,B) 之间的距离。 该题每一级的图像都是由上一级的图像变换得来的。 具体的变换如下: 假设当前为 NNN 级城市,将其对称的分成房屋数量完全相等的四个小块,即左上、右上、右下、左下。而这四个方

qq_45371462的博客 1031

力软敏捷开发框架源码7.0.6旗舰版 JNPF开发平台3.4.5 企业版 旗舰版

JNPF作为作为一款深受用户喜爱的低代码产品,凭借雄厚的科研技术力量、丰富的软件开发项目经验、严谨的项目开发流程和高质量的售后服务,已成功帮助千家企业完成数字化项目,建立了覆盖不同行业客户和不同发展阶段的软件产品服务体系。

huoooos0的博客 1839

【递归·数学·习题】 Fractal Streets:分形图问题

Problem 题目描述 城市的规划在城市建设中是个大问题。不幸的是,很多城市在开始建设的时候并没有很 好的规划,城市规模扩大之后规划不合理的问题就开始显现。而这座名为Fractal 的城市设 想了这样的一个规划方案,如下图所示: 当城区规模扩大之后,Fractal 的解决方案是把和原来城区结构一样的区域按照图中的方 式建设在城市周围,提升城市的等级。对于任意等级的城市,我们把正方形街区从左上角...

Ronaldo7_ZYB的博客 789

Wireshark抓包分析:如何从HTTP流量中快速定位黑客攻击痕迹(附pcap文件)

本文通过Wireshark实战,详细解析了如何从HTTP流量中快速定位黑客攻击痕迹。文章提供了核心过滤策略,并重点剖析了如何识别SQL注入攻击的流量特征、揭露WebShell的隐蔽通信以及追踪攻击者在横向移动中的行为,帮助安全人员系统性地从pcap文件中还原完整攻击链。

sprite的博客 1009

5分钟搞定!用ZLMediaKit+GB28181搭建低成本外网视频监控(含避坑指南)

本文详细介绍了如何利用开源ZLMediaKit流媒体服务器与国标GB28181协议,快速搭建低成本、可外网访问的企业级视频监控系统。文章提供了从服务端部署、设备配置到外网访问优化的完整实战指南,并重点分享了网络配置、性能调优及常见问题的避坑方案,帮助用户实现高清视频流的稳定推送与多格式播放。

bush的博客 332

【POJ3889】Fractal Streets(分形图)

problem 给你一个原始的分形图 t组数据,对于每组数据,输入3个数n,h,o (n为在第n级,h,o为两个房子的编号) 求在第n级情况下,编号为h和o的两个点之间的距离*10为多少 其中,第n级分形图形成规则如下: 1. 首先先在右下角和右上角复制一遍n-1情况下的分形图 2. 然后将n-1情况下的分形图逆时针旋转90度,放到左上角 3. 最后将n-1情况下的分形图顺时针旋...

小哈里的博客 1327

英飞凌 TC4X MCAL之SPI中断与DMA高效传输实战

本文详细介绍了英飞凌TC4X芯片的SPI通信实战,重点讲解如何通过MCAL配置SPI中断与DMA实现高效数据传输。针对汽车电子领域的高吞吐需求,提供了从基础配置到中断处理、DMA优化的完整解决方案,包含代码示例和调试技巧,帮助开发者提升系统性能与CPU利用率。

k0l1m2n3o的博客 874

poj3889 Fractal Streets(递归)(分治)

题意给你一个原始的分形图,t组数据,对于每组数据,输入3个数n,h,o(n为在第n级,h,o为两个房子的编号) 。求在第n级情况下,编号为h和o的两个点之间的距离*10为多少。其中,第n级分形图形成规则如下:1、首先先在右下角和右上角复制一遍n-1情况下的分形图;2、然后将n-1情况下的分形图逆时针旋转90度,放到左上角;3、最后将n-1情况下的分形图顺时针旋转90度,放到左下角;4、按照上述规则...

A_Bright_CH的博客 1482

Linux新手必看:FinalShell连接不上?从检查IP到配置固定地址的完整排错指南

本文为Linux新手提供了FinalShell连接失败的完整排错指南,涵盖IP检查、SSH服务状态、防火墙配置和静态IP设置等关键步骤。通过详细的命令行操作和配置示例,帮助用户快速解决远程连接问题,提升Linux使用效率。

weixin_30675247的博客 753

环保 HJ212协议解析

由于是做环保相关的,有时需要对212协议进行拆包和解包。HJ212协议是一种字符串协议,数据传输通讯包主要由包头、数据段长度、数据段、CRC校验、包尾组成,其中“数据段”内容包括请求编码、系统编码、命令编码、密码、设备唯一标识、总包数、包号、指令参数。请求编码为请求的时间戳,系统编码ST统一规定为22,命令编码CN为该数据包的时间类型,访问密码、设备唯一标识在对接时由平台提供,指令参数为数据内容。通讯协议的数据结构如图4所示。 图4 通讯协议的数据结构 6.1.1通讯包结构组成 名称 类型 长度

ccf19881030的专栏 2万+

poj3889 Fractal Streets 题解报告

题目传送门 【题目大意】 社区的设计有一种特殊的规律,从左上角起沿着道路给房子编号,求给定编号的两间房子的距离。 【思路分析】 分析可得社区的设计规律,编号为$n$,即有$4^n$个小格子,每$4^{n-1}$个小格子为一个大格子,即整个图分为四部分,其中右上和右下两部分与编号为$n-1$的相同,左上是顺时针旋转90度的结果,左下是逆时针旋转90度的结果。 代码实现的过程中...

weixin_30662849的博客 180

【Camera2教程一】Camera2的框架Pipeline和framework中核心类和接口的详细介绍

Camera2 的 API 模型被设计成一个 Pipeline(管道),它按顺序处理每一帧的请求并返回请求结果给客户端。

jiangchaobing_2017的博客 792

POJ 3889 Fractal Streets

POJ 3889 Fractal Streets Input On the first line of the input is a positive integer, the number of test cases. Then for each test case: A line containing a three positive integers, n < 16 and h, o ...

缇欧的咪西 291

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

POJ 3889 Fractal Streets(逼近模拟)

$ POJ~3889~Fractal~Streets $(模拟) $ solution: $ 这是一道淳朴的模拟题,最近发现这种题目总是可以用逼近法,就再来练练手吧。 首先对于每个编号我们可以用逼近法求出它在各个图上是处于左上,右上,左下,右下中的哪一个。 inline void bijin(int i,int v){ if(i==0)return ; rg x=1...

weixin_30563319的博客 161

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

poj3889 Fractal Streets

原题链接 分析: 首先容易通过本题的题意和数据范围看出:这是个递归题。。。 题目让求N级城市中某两个房屋之间的距离,所以就必须先得到两个房屋在城市中的坐标。 在这里我采用的是以类似数组的形式标记坐标,将最左上角的房屋标记为(0,0)。 利用递归的思想,即从原问题出发,不断缩小问题的规模,直到问题的边界,那么我们可以计算两个房屋在第i-1级城市的坐标,通过坐标的变换,从而得...

weixin_30394669的博客 142

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

分形:分形之城 / POJ3889 Fractal Streets

题目地址 AcWing98分形之城 题目描述 城市的规划在城市建设中是个大问题。 不幸的是,很多城市在开始建设的时候并没有很好的规划,城市规模扩大之后规划不合理的问题就开始显现。 而这座名为 Fractal 的城市设想了这样的一个规划方案,如下图所示: 当城区规模扩大之后,Fractal 的解决方案是把和原来城区结构一样的区域按照图中的方式建设在城市周围,提升城市的等级。 对于任意等级的城市,我...

Belous的博客 642

Fractal Streets POJ - 3889(递归+点的逆时针矩阵变换)

题意:传送门 题解:可以知道第nnn等级由第n−1n-1n−1等级组成而来的,首先左上角那一部分是由n−1n-1n−1等级先绕左上角逆时针转270o270^o270o,然后与xxx轴对称得到,第nnn等级的右上角那块直接由第nnn等级平移过来,第nnn等级的右下角也是平移相对应的位置得到,第nnn等级的左下角部分是最复杂的部分,由第nnn等级的部分先绕左上角逆时针旋转90o90^o90o然后与xx...

肘子的博客 352

[poj3889]Fractal Streets

转载请说明出处:http://blog.youkuaiyun.com/ben_xsy/article/details/79288058#%E4%BB%A3%E7%A0%81 目录 题目描述 解题思路 代码 题目描述 题目链接:传送门 给你一个原始的分形图,t组数据,对于每组数据,输入3个数n,h,o (n为在第n级,h,o为两个房子的编号) 求在第n级情况下,编号为h和o的两个点之间的...

Huris的博客 1331

【OJ】POJ3889 Fractal Streets (分形,递归)

Language:DefaultFractal Streets Time Limit: 1000MSMemory Limit: 65536KTotal Submissions: 1195Accepted: 349DescriptionWith a growing desire for modernization in our increasingly larger cities comes a ...

(ノ゚▽゚)ノ的博客 824

Fractal Streets (POJ3889)(分形图、递归)

题目传送门:http://poj.org/problem?id=3889 感谢大雪菜大神bilibili上的讲解和李煜东大神书本的引导。 题面大概意思是:    给你一个原始的分形图,t组数据,对于每组数据,输入3个数n,h,o (n为在第n级,h,o为两个房子的编号),求在第n级情况下,编号为h和o的两个点之间的距离*10为多少。   其中,第n级分形图形成规则如下: 首先先在右下角和右上角复...

在AC与WA间徘徊 669

POJ3889-Fractal Streets【分形,递归,分治】

正题 题目链接:http://poj.org/problem?id=3889 大意 第一级城市为图一,然后每次扩展一级就将原本的城市复制3份,一份放上面,一份正旋90’放左上,一份逆序90’放左边,最后将4份的头和尾连起来,规定左上角为编号1,之后根据道路编号。 求在一个n级城市中s号和d号的直线距离。 解题思路 我们可以从n级逐一降级下去,然后每次旋转的话我们可以旋转...

QuantAsk 858

Fractal Streets|分形之城

令红色格子对应为编号为1的房子, 此时如果只是单纯的将旋转后的图形平移覆盖原图, 那么红色格子在右上点, 但是所有城市编号1的房子都是在左上角, 所以我们并不能单纯的平移, 只能通过沿x轴翻转矩阵(注意, x轴为垂直向下的直线), 于是推导出(x', y') = (y, x)矩阵顺时针旋转90°,即逆时针旋转270°, 把270°代入上面的数学公式, 可得。(x', y') = (y, -x), 观察上图, 也确实符合对应结论。度的公式, x, y是原坐标, x', y'是变换后的坐标。

m0_73402052的博客 409

Fractal-Streets

将原来的城市复制一遍放在原城市的上方,将原城市顺时针90°放在原城市的左上方,将逆时针90°后的城市放在原城市的左边,然后用道路将四部分链接起来,反复进行相同操作。这是著名的通过一定规律无限包含自身的“分形”图。为了方便计算,我们把标号从。级城市的位置,把问题转化为 calc(N,M),因此改题目转化为求。,根据房屋编号 M 与 该级数的房屋总数确定编号上下左右位置。座房屋,所以我们先求解。解题关键就是,求编号为。

m0_73865722的博客 1160

Fractal Streets

这就是著名的通过一定规律无限包含自身的“分形”图。为了计算方便,我们把题目中房屋的编号都减去 1 , 即从 0 开始编号,并把 SSS 和 DDD 也都减去1。

kkksc0313的博客 354

POJ 3889 Fractal Streets(递归)

题目链接 题意 给你一个分形图,及其构造规则。求n阶分形图的第x个位置和第y个位置的最近距离。 思路 每个图片可以分成四块,每次递归做好相应坐标转化即可。详见代码 代码 #include <stdio.h> #include <iostream> #include <algorithm> #include <math.h> using namespa...

←_← 277
上一篇: ACdream-1171 Matrix sum, 最大费用最大流
下一篇: Codeforces-868B ,C 模拟,思维。。
sega_handsome
博客等级 码龄10年 7粉丝 164原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值