Stupid cat & Doge (分形图)
【题目描述】
【题目链接】
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 (分形图)的更多相关文章
- SurfaceView 绘制分形图
之前一直做的是应用类,这次抽时间,参考网上资料实践了下SurfaceView.目标是在页面上画一个科赫曲线的分形图. 代码如下: package com.example.fredric.demo02; ...
- JavaScript动画实例:递归分形图动态展示
在“JavaScript图形实例:SierPinski三角形” 和“JavaScript图形实例:Levy曲线及其变形”等文章中我们介绍了通过递归生成分形图形的方法.我们可以将绘制的分形图形每隔一定的 ...
- 【OpenJudge 8463】Stupid cat & Doge
http://noi.openjudge.cn/ch0204/8463/ 挺恶心的一道简单分治. 一开始准备非递归. 大if判断,后来发现代码量过长,决定大打表判断后继情况,后来发现序号不对称. 最后 ...
- Linux下使用cat制作“内涵图”
http://blog.csdn.net/odaynot/article/details/7939869
- newton法分形图
方程:z^6-1=0; %f为求解的方程,df是导数,使用的时候用funchandler定义 %res是目标分辨率,iter是循环次数,(xc,yc)是图像的中心,xoom是放大倍数 %参数视自己需求 ...
- python图片和分形树
链接: 这10个Python项目很有趣! Python 绘制分形图(曼德勃罗集.分形树叶.科赫曲线.分形龙.谢尔宾斯基三角等)附代码 使用Python生成树形图案 神奇的代码:用 Python 生成分 ...
- 分形在遥感和GIS中的应用
GIS等高线化简 遥感图像的追踪 分形matlab实现:分形应用于遥感图像处理 低分辨率和高分辨率图形它们的形状是相似的(图像增强) 贪吃蛇和蚁群算法:试想管中窥豹,一只小蚂蚁 ...
- 分形之列维(levy)曲线
莱维C形曲线(Lévy C curve)是个自我相似的分形,最先由保罗·皮埃尔·莱维在1938年的论文Plane or Space Curves and Surfaces Consisting of ...
- 饿了么监控系统 EMonitor 与美团点评 CAT 的对比
背景介绍 饿了么监控系统EMonitor:是一款服务于饿了么所有技术部门的一站式监控系统,覆盖了系统监控.容器监控.网络监控.中间件监控.业务监控.接入层监控以及前端监控的数据存储与查询.每日处理总数 ...
随机推荐
- webGL 旋转算法
lon = 0,//y旋转角度 lat = 0, onMouseDownLat = 0, phi = 0, theta = 0; if ( isUserInteracting === false ) ...
- 07-求解Ax=0:主变量、特解
一.定义转向算法 在第六节讲了空间,列空间,零空间的定义,这节主要讲解如何求出这些空间,即求解$Ax=0$的过程是怎么样的过程,以下面的矩阵$A$为例:(这里主要是长方阵) $A=\left[\beg ...
- 如何判断当前LINUX系统启用了ASLR
内核参数randomize_va_space用于控制系统级ASLR 0 关闭ASLR 1 mmap base.stack.vdso page将随机化.这意味着.so文件将被加载到随机地址.链接时指定了 ...
- maven 提取jar包 依赖及打包排除
<properties> <project.targetDir>D:\jar</project.targetDir> <project.targetServe ...
- CF9D How many trees? (dp)
这题我想了好久 设 \(f_{i,j}\) 为 \(i\) 结点 \(<=j\) 的方案数 固定根,枚举左右子树,就有: \[f_{i,j}=\sum_{k=0}^{n-1}f_{k,j-1}* ...
- 为什么选择Linux
从最近的统计数据可以看到,全球大量数据中心的服务器已经开始向基于 Linux Server 平台转移.相较 Windows Server 而言,Linux Server 提供了更多优势.包括 Goog ...
- Python3解leetcode Kth Largest Element in a Stream
问题描述: Design a class to find the kth largest element in a stream. Note that it is the kth largest el ...
- python 全栈开发,Day54(关于DOM操作的相关案例,JS中的面向对象,定时器,BOM,client、offset、scroll系列)
04-jQuery的属性操作 jquery的属性操作模块分为四个部分:html属性操作,dom属性操作,类样式操作和值操作 html属性操作:是对html文档中的属性进行读取,设置和移除操作.比如at ...
- JS一些概念知识及参考链接
1.setTimeout.setInterval.promise.宏任务.微任务 先执行宏任务整体 script 同步代码,然后遇到 setTimeout 或者 setInterval 即放到宏任务队 ...
- sts创建maven项目 引入spring,报错
症状: Missing artifact org.springframework:spring-core:jar:5.0.0.RC3 原因: 在引入之前没有设置spring版本号 和spring ur ...