【题目描述】

    

【题目链接】

    http://noi.openjudge.cn/ch0204/8463/

【算法】

    为求等级N下的点的坐标可由几何关系找到其与等级N-1下对应点的关系,然后递归直至所有点的祖先(等级0)即可计算出坐标。

【代码】

 #include <bits/stdc++.h>
using namespace std;
typedef long long ll;
int t;
ll n,s,d;
pair<ll,ll> calc(int state,ll num)
{
if(!state) return make_pair(,);
ll side=<<(state-),sum=side*side;
ll rec=num/sum,pre_num=num%sum;
pair<ll,ll> pr=calc(state-,pre_num);
switch(rec) {
case : swap(pr.first,pr.second); break;
case : pr.first+=side; break;
case : pr.first+=side,pr.second+=side; break;
case : swap(pr.first,pr.second),pr.first=side-pr.first+,pr.second=side*-pr.second+;
}
return pr;
}
int main()
{
scanf("%d",&t);
while(t--) {
scanf("%d%lld%lld",&n,&s,&d);
pair<ll,ll> p1=calc(n,s-);
pair<ll,ll> p2=calc(n,d-);
ll dx=p1.first-p2.first,dy=p1.second-p2.second;
printf("%.0f\n",sqrt(dx*dx*1.0+dy*dy*1.0)*);
}
return ;
}

【《算法竞赛进阶指南》大佬代码,侵删】

 /*
Author: Yufei Du
本程序仅供参考
*/
#include <cmath>
#include <cstdio>
#include <cstring>
#include <cstdlib>
#include <algorithm>
using namespace std; pair<__int64, __int64> recur (int stage, __int64 id)
{
if (stage == ) return make_pair(, );
__int64 max = << (stage - ), s = max * max;
__int64 z = id / s, idsp = id % s;
pair<__int64, __int64> psp = recur(stage - , idsp);
if (z == || z == ) swap(psp.first, psp.second);
if (z == )
{
psp.first = max - psp.first - ;
psp.second = max - psp.second - ;
}
if (z == || z == ) psp.first += max;
if (z == || z == ) psp.second += max;
return psp;
}
int main ()
{ int kase; for (scanf("%d", &kase); kase; --kase)
{
int n; __int64 h, o;
scanf("%d %I64d %I64d", &n, &h, &o);
pair<__int64, __int64> hp = recur(n, h - );
pair<__int64, __int64> op = recur(n, o - );
__int64 dx = abs(hp.first - op.first), dy = abs(hp.second - op.second);
printf("%.0f\n", (double)sqrt(dx * dx + dy * dy) * );
}
return ;
}

Stupid cat & Doge (分形图)的更多相关文章

  1. SurfaceView 绘制分形图

    之前一直做的是应用类,这次抽时间,参考网上资料实践了下SurfaceView.目标是在页面上画一个科赫曲线的分形图. 代码如下: package com.example.fredric.demo02; ...

  2. JavaScript动画实例:递归分形图动态展示

    在“JavaScript图形实例:SierPinski三角形” 和“JavaScript图形实例:Levy曲线及其变形”等文章中我们介绍了通过递归生成分形图形的方法.我们可以将绘制的分形图形每隔一定的 ...

  3. 【OpenJudge 8463】Stupid cat & Doge

    http://noi.openjudge.cn/ch0204/8463/ 挺恶心的一道简单分治. 一开始准备非递归. 大if判断,后来发现代码量过长,决定大打表判断后继情况,后来发现序号不对称. 最后 ...

  4. Linux下使用cat制作“内涵图”

    http://blog.csdn.net/odaynot/article/details/7939869

  5. newton法分形图

    方程:z^6-1=0; %f为求解的方程,df是导数,使用的时候用funchandler定义 %res是目标分辨率,iter是循环次数,(xc,yc)是图像的中心,xoom是放大倍数 %参数视自己需求 ...

  6. python图片和分形树

    链接: 这10个Python项目很有趣! Python 绘制分形图(曼德勃罗集.分形树叶.科赫曲线.分形龙.谢尔宾斯基三角等)附代码 使用Python生成树形图案 神奇的代码:用 Python 生成分 ...

  7. 分形在遥感和GIS中的应用

    GIS等高线化简 遥感图像的追踪 分形matlab实现:分形应用于遥感图像处理             低分辨率和高分辨率图形它们的形状是相似的(图像增强) 贪吃蛇和蚁群算法:试想管中窥豹,一只小蚂蚁 ...

  8. 分形之列维(levy)曲线

    莱维C形曲线(Lévy C curve)是个自我相似的分形,最先由保罗·皮埃尔·莱维在1938年的论文Plane or Space Curves and Surfaces Consisting of ...

  9. 饿了么监控系统 EMonitor 与美团点评 CAT 的对比

    背景介绍 饿了么监控系统EMonitor:是一款服务于饿了么所有技术部门的一站式监控系统,覆盖了系统监控.容器监控.网络监控.中间件监控.业务监控.接入层监控以及前端监控的数据存储与查询.每日处理总数 ...

随机推荐

  1. js 一个不得不注意的浏览器兼容性问题 进制转换

    写几行JS代码 var num = '022'; alert(num+' '+parseInt(num)+' '+parseInt(num,10)); 不同的浏览器将会得到不同的结果在谷歌浏览器下的结 ...

  2. WEB服务动静结合

    基本介绍 1)WEB服务仅能处理静态请求,如果处理动态请求则需要对应的动态资源服务软件,即:应用程序服务软件 2)常见的应用服务软件有:PHP.Java.Python等 3)问题:WEB服务如何与外部 ...

  3. Codeforces Round #426 (Div. 2) - A

    题目链接:http://codeforces.com/contest/834/problem/A 题意:给定4个图标,某些图标经过顺时针/逆时针旋转90°后能得到另外一些图标.现在给你开始的图标和结束 ...

  4. basename 显示文件名或目录名

    1. 命令功能 basename 显示文件名或目录名,不显示文件的全路径文件名 2. 语法格式 basename  文件路径名 3. 使用范例 [root@localhost data]# basen ...

  5. python3.7爬取墨菲定律保存在本地txt

    #!/usr/local/bin/python3.7 # -*- coding: utf-8 -*- # @Time: 2019/07/15 # @Function 获取在线文本内容 import r ...

  6. Support for the experimental syntax 'decorators-legacy' isn't currently enabled (7:1):

    1.产生原因:项目不支持装饰器 2.解决方法: 2.1 执行 yarn 安装完整依赖: 2.2 如果依赖时yarn.lock变化了,并且项目有git目录,则将提示的文件提交到git仓库 ? Are y ...

  7. [python 学习] 使用 xml.etree.ElementTree 模块处理 XML

    ---恢复内容开始--- 导入数据(读文件和读字符串) 本地文件 country_data.xml <?xml version="1.0"?> <data> ...

  8. TS中补充的六个类型

    1.  元组 元组可以看做是数组的拓展,它表示已知元素数量和类型的数组.确切地说,是已知数组中每一个位置上的元素的类型 当我们为 元组 赋值时:各个位置上的元素类型都要对应,元素个数也要一致. let ...

  9. CF1090J Two Prefixes

    神仙题++ 还是在某校梁大讲的题qaq 我们考虑容斥 也就是本质不同字串=全部-重复的 我们只需要求重复的即可 考虑相同的s=ab 我们用长度最长的a作为代表串 如果存在一个a'b'且|a'|> ...

  10. VS TODO注释快捷键

    快速按出任务列表 todo 注释 Ctrl 键+ \| 键+ T键