hihocoder1322希尔伯特曲线(163周)
hihocoder1322 : 希尔伯特曲线(163周)
题目链接
思路:
看图,对每个Hn迭代到H(n-1) 直到迭代到1就ok,判断在哪个区间就好了。一定一定要注意数据的范围!!
ac代码:
// hihocoder1324.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include<iostream>
#include<cstdio>
#include<string>
#include<algorithm>
#include<queue>
#include<vector>
#include<cstring>
#include<stdio.h>
#include<map>
#include<cmath>
#include<unordered_map>
#include<unordered_set>
using namespace std;
int main()
{
int n, x, y;
scanf("%d %d %d", &n, &x, &y);
long long mypow[31];
mypow[0] = 1;
for (int i = 1; i <= n; i++)
{
mypow[i] = 2 * mypow[i - 1];
}
long long res = 0, temp;
for (int i = n; i >= 1; i--)
{
if (x > mypow[i - 1] && y > mypow[i - 1]) //3
{
res += mypow[i] * mypow[i] / 2;
x -= mypow[i - 1];
y -= mypow[i - 1];
}
else if (x <= mypow[i - 1] && y > mypow[i - 1]) //2
{
res += mypow[i] * mypow[i] / 4;
y -= mypow[i - 1];
}
else if (x <= mypow[i - 1] && y <= mypow[i - 1]) //1
{
swap(x, y);
}
else if (x > mypow[i - 1] && y <= mypow[i - 1]) //4
{
res += mypow[i] * mypow[i] * 3 / 4;
temp = x;
x = mypow[i - 1] + 1 - y;
y = 2 * mypow[i - 1] + 1 - temp;
}
}
printf("%lld\n", res + 1);
return 0;
}
hihocoder1322希尔伯特曲线(163周)的更多相关文章
- matlab练习程序(生成希尔伯特曲线)
能够使用这样一条线遍历图像中所有的像素,不过这里没有这样做,而只是生成了这样一条曲线. 程序中h,w是最终图像的高和宽,n为希尔伯特曲线阶数. 这里如果n等于log2(h)或log2(w),则图像就全 ...
- 希尔伯特曲线——第八届蓝桥杯C语言B组(国赛)第三题
原创 标题:希尔伯特曲线 希尔伯特曲线是以下一系列分形曲线 Hn 的极限.我们可以把 Hn 看作一条覆盖 2^n × 2^n 方格矩阵的曲线,曲线上一共有 2^n × 2^n 个顶点(包括左下角起点和 ...
- THREE.js代码备份——canvas - lines - colors(希尔伯特曲线3D、用HSL设置线颜色)
<!DOCTYPE html> <html lang="en"> <head> <title>three.js canvas - l ...
- 希尔伯特曲线python3实现
需要OpenGL库:https://www.lfd.uci.edu/~gohlke/pythonlibs/#pyopengl #coding:utf-8 from OpenGL.GL import * ...
- 分形之希尔伯特-皮亚诺(Hilbert-Peano)曲线
1890年,意大利数学家皮亚诺(Peano G)发明能填满一个正方形的曲线,叫做皮亚诺曲线.后来,由希尔伯特作出了这条曲线,又名希尔伯特曲线.Hilbert-Peano曲线是一种分形图形,它可以画得无 ...
- hihocoder1322 树结构判定(161周)
hihocoder1322 : 树结构判定(161周) 题目链接 思路: 无向图中判断是不是一棵树. 并查集判断.判断是不是只有一个连通分量.并且该联通分量中没有环.没有环的判定很简单就是看边的数目和 ...
- UVaLive 7375 Hilbert Sort (递归,四分图,模拟)
题意:告诉你一条希尔伯特曲线的大小,然后给你n 个人,及n 个人的坐标,你的起点是左下角,终点是右下角,按照希尔伯特的曲线去走,按照这个顺序给n个人排序, 按顺序输出每个人的名字! 析:这就是一个四分 ...
- 蓝桥杯近3年决赛题之3(17年b组)
做的时候对了2个小题,一个大题可能会拿点分数. 1. 标题:36进制 对于16进制,我们使用字母A-F来表示10及以上的数字.如法炮制,一直用到字母Z,就可以表示36进制. 36进制中,A表示10,Z ...
- 高效的多维空间点索引算法 — Geohash 和 Google S2
原文地址:https://www.jianshu.com/p/7332dcb978b2 引子 每天我们晚上加班回家,可能都会用到滴滴或者共享单车.打开 app 会看到如下的界面: app ...
随机推荐
- O_NONBLOCK与O_NDELAY有何不同?
O_NONBLOCK和O_NDELAY所产生的结果都是使I/O变成非搁置模式(non-blocking),在读取不到数据或是写入缓冲区已满会马上return,而不会搁置程序动作,直到有数据或写入完成. ...
- Kettle进行数据迁移(ETL)
由于开发新的系统,需要将之前一个老的C/S应用的数据按照新的数据设计导入到新库中.此过程可能涉及到表结构不一致.大数据量(千万级,甚至上亿)等情况,包括异构数据的抽取.清洗等等工作.部分复杂的工作需要 ...
- CAS和AQS
一.CAS CAS(Compare And Swap),即比较并交换.是解决多线程并行情况下使用锁造成性能损耗的一种机制,CAS操作包含三个操作数——内存位置(V).预期原值(A)和新值(B).如果内 ...
- java基础58 JavaScript的几种格式和变量的声明方式(网页知识)
1.JavaScript的几种格式 1.1.JavaScript的特点 1.跨平台性 2.安全性.(javaScript代码不能直接访问电脑硬盘上的信息) 1.2.Java与javaScript ...
- java基础24 线程、多线程及线程的生命周期(Thread)
1.1.进程 正在执行的程序称作为一个进程.进程负责了内存空间的划分 疑问1:windows电脑称之为多任务的操作系统,那么Windows是同时运行多个应用程序呢? 从宏观的角度:windows确实在 ...
- 列表CListCtrl类使用
CListCtrl是列表控件类,列表控件的每一行叫做一个item,每一列叫做一个subitem.每一行和每一列都有个ID号,可以确定唯一的单元格. 最近使用了这个控件,有心得总结如下: (Dialog ...
- thinkphp5 IIS7.5 隐藏index.php的方法
<?xml version="1.0" encoding="UTF-8"?> <configuration> <system.we ...
- wpf 在Popup内的TextBox 输入法 不能切换
切换输入法 输入不了中文 [DllImport("User32.dll")] public static extern IntPtr SetFocus(IntPtr hWnd); ...
- asp.net 微信公众号源码
需要源码,请加QQ:858-048-581 功能菜单 该源码功能十分的全面,具体介绍如下:1.菜单回复:微信自定义回复.关注时回复.默认回复.文本回复.图文回复.语音回复. 请求回复记录.LBS位置回 ...
- 1975: [Sdoi2010]魔法猪学院
k短路,只会写A*的飘过..priority_queue超空间差评!