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);
    }
}
SPI 协议帧格式深度解析:从 8 位数据到 16 位扩展的 3 种模式 本文深入解析SPI协议的帧格式,涵盖从8位标准到16位扩展的三种模式。通过详细讲解SPI时钟模式、数据宽度配置及实际应用案例,帮助开发者掌握SPI外设的深度定制能力,提升嵌入式系统开发效率。特别适用于连接传感器、存储器和显示器等高速通讯场景。 阅读详情

相关推荐

RC电路(一):微分|积分

的取值不同,会导致输出波形和输入波形之间的关系也不同,由此也会产生不同的应用。输出为0,随着电容充满电,运放-输入端得到的分压为正最大值,可等效成一个电压源,且电压不可突变,此时电流反向为最大值,开始充电时的容抗为0,电压不可突变则电压差为0,运放。开始充电时的容抗为0,电压不可突变则电压差为0,运放。输入端得到的分压也不可突变,随着电容放完电,于是。,因电容上电压不能突变(来不及充电,相当于短路,由上分析可得积分运算电路中,输出为运放的负最大峰值,随着电容充满电,输出为运放的正最大峰值,随着电容放完电,

既有随处可栖的江湖,也有追风逐梦的骁勇! 1万+

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

Uniapp H5端SEO优化全攻略:提升搜索引擎排名与流量

在移动互联网时代,H5页面因其跨平台、低成本、易传播的特性,成为许多企业的首选。Uniapp作为一款优秀的前端跨端开发框架,能够快速开发H5、小程序、App等多端应用。然而,由于Uniapp默认采用SPA(单页应用)架构,H5端在SEO(搜索引擎优化)方面存在一定劣势,如爬虫难以抓取动态内容、页面标题和描述不易优化等。 本文将系统性地介绍Uniapp H5端的SEO优化方案,涵盖基础优化、SPA优化策略、内容优化、技术优化、外部优化及监测分析,帮助开发者提升网站在搜索引擎中的排名,获取更多自然流量。

vvilkin的学习备忘 1972

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

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

Ronaldo7_ZYB的博客 789

STM32固定翼增稳飞控设计:姿态解算、双环PID与一键救机实现

姿态稳定控制是无人机与航模飞控系统的核心基础,其本质是通过传感器融合(如IMU)实时感知飞行器姿态,并基于控制理论(如PID)生成修正指令以抑制扰动。该技术广泛应用于教育航模、轻型固定翼平台及嵌入式飞控开发场景,具有低延迟、高确定性、资源敏感等典型工程特征。本文围绕STM32F401与MPU6050构建的硬件闭环系统,深入解析互补滤波姿态解算原理与俯仰/横滚双环PID控制结构,同时聚焦‘一键救机’这一面向新手的关键安全机制——通过分阶段角速率抑制与平滑角度拉平策略,在80ms内启动响应,显著提升飞行容错能力

weixin_36328210的博客 400

Win7/10/11文件拖拽导致资源管理器闪退问题

最近老是遇到把文件从资源管理器拖动到微信或者浏览器时,资源管理器直接闪退的问题,一开始在公司遇到了还以为是电脑配置太低,直到被封闭在家办公,发现自己的高级电脑也有这个问题,那就来了解了解问题是出在什么地方把。

Nicer_feng's blog 1万+

【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

国科大学习资料--模式识别与机器学习(黄庆明)--期末复习题2(含答案)

国科大学习资料–模式识别与机器学习(黄庆明)–期末复习题2(含答案) 国科大学习资料–模式识别与机器学习(黄庆明)–期末复习题2(含答案) 国科大学习资料–模式识别与机器学习(黄庆明)–期末复习题2(含答案) ...

无名何许人的博客 1万+

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

影楼精修-AI追色算法解析

本文解析了像素蛋糕软件中AI追色功能的技术原理与实现方案,为理解AI追色技术提供了实用参考。

Trent1985的专栏 2万+

[系统安全] 十七.Windows PE病毒概念、分类及感染方式详解

作者前文介绍了PE文件格式,熟悉各种PE编辑查看工具,针对目标EXE程序新增对话框等;这篇文章将介绍Windows PE病毒, 包括PE病毒原理、分类及感染方式详解,并通过案例进行介绍。这些基础性知识不仅和系统安全相关,同样与我们身边的APP、常用软件及操作系统紧密联系,希望这些知识对您有所帮助,更希望大家提高安全意识,安全保障任重道远。本文参考了《软件安全》视频、安全网站和参考文献中的文章,并结合自己的经验和实践进行撰写,也推荐大家阅读参考文献。

杨秀璋的专栏 1万+

poj3889 Fractal Streets 题解报告

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

weixin_30662849的博客 180

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

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

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

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

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

POJ3889Fractal Streets

Fractal Streets Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 445 Accepted: 162 Description With a growing desire for modernization in our increasingl...

weixin_30649859的博客 205
上一篇: 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、付费专栏及课程。

余额充值