原题地址

题目描述

给定A、B、C三根足够长的细柱,在A柱上放有2n个中间有孔的圆盘,共有n个不同的尺寸,每个尺寸都有两个相同的圆盘,注意这两个圆盘是不加区分的(下图为n=3的情形)。

现要将这些圆盘移到CC柱上,在移动过程中可放在BB柱上暂存。要求:

(1)每次只能移动一个圆盘;

(2)A、B、C三根细柱上的圆盘都要保持上小下大的顺序;

任务:设An​为2n个圆盘完成上述任务所需的最少移动次数,对于输入的n,输出An​。

输入输出格式

输入格式:

一个正整数nn,表示在A柱上放有2n个圆盘。

输出格式:

一个正整数, 为完成上述任务所需的最少移动次数An​。

输入输出样例

输入样例#1:

【输入样例1】
1
【输入样例2】
2

输出样例#1:

【输出样例1】
2
【输出样例2】
6

说明

【限制】

对于50%的数据,1≤n≤25

对于100%的数据,1≤n≤200


思路

通过模拟1-5,你可以发现一个关系式a[i]=(2i-1)*2。

只需要将a数组求出即可(不需用数组,直接求a[i])。

数据n很大,去要用高精乘和高精加。


高精乘代码

    for(int i=1;i<=n+1;i++){for(int j=1;j<=a[0];j++){a[j]=a[j]*2+jw;jw=a[j]/10;a[j]=a[j]%10;}while(jw!=0){a[0]++;a[a[0]]=jw%10;jw=jw/10;}}

高精加代码

j=0;while(true){j++;a[j]=a[j]-2-qw;jw=0;while(a[j]<0){qw++;a[j]=a[j]+10;}if((j=a[0])||(qw=0)) break;}if(qw!=0){a[0]++;a[a[0]]=qw;}        


代码

#include<iostream>
#include<cstring>
using namespace std;
int n;
int a[1000];
int jw,qw,j;
int main(){cin>>n;a[0]=1;a[1]=1;for(int i=1;i<=n+1;i++){for(int j=1;j<=a[0];j++){a[j]=a[j]*2+jw;jw=a[j]/10;a[j]=a[j]%10;}while(jw!=0){a[0]++;a[a[0]]=jw%10;jw=jw/10;}}j=0;while(true){j++;a[j]=a[j]-2-qw;jw=0;while(a[j]<0){qw++;a[j]=a[j]+10;}if((j=a[0])||(qw=0)) break;}if(qw!=0){a[0]++;a[a[0]]=qw;}        for(int i=a[0];i>=1;i--)cout<<a[i];return 0;
} 

转载于:https://www.cnblogs.com/zhouxuanbodl/p/10388643.html

P1096 $Hanoi$双塔问题相关推荐

  1. SENet双塔模型:在推荐领域召回粗排的应用及其它

    前言 目前,双塔结构在推荐领域里已经是个常规方法了,在召回和粗排环节的模型选型中,被广泛采用.其实,不仅仅是在推荐领域,在其它领域,双塔结构也已经被越来越多得用起来了.比如,在当代搜索引擎的召回环节, ...

  2. 【推荐系统】双塔模型中的负采样

    作者:十方 推荐模型中双塔模型早已经普及.一个塔学用户表达.一个塔学item表达.很多双塔模型用各种各样的in-batch负采样策略.十方也是如此.往往使用比较大的batchsize,效果会比较好,但 ...

  3. 召回:是塔,是塔,但不是双塔!

    query到doc这种文本到文本的召回,通常就是各种双塔召回,再排序的过程.谷歌这篇论文<Transformer Memory as a Differentiable Search Index& ...

  4. 双塔模型没效果了?请加大加粗!

    很多研究表明,双塔在一个域表现不错,在其他域表现不好了.一个广泛被认同的观点就是双塔仅仅用了最后一层的点积算分,这限制了模型的召回能力.这篇论文<Large Dual Encoders Are ...

  5. 向量召回 MIND多兴趣双塔模型

    作者:十方,公众号:炼丹笔记 熟悉双塔的人都知道,在用户侧,模型最后往往都生成一个向量去检索,这个向量不足以表达用户的多兴趣,<Multi-Interest Network with Dynam ...

  6. 负样本的艺术,再读Facebook双塔向量召回算法

    负样本的艺术,再读Facebook双塔向量召回算法 Facebook这篇Embedding召回的论文,之前已经有几篇文章涉及过了,分别是<Embeding-based Retrieval in ...

  7. 做向量召回 All You Need is 双塔

    十方@炼丹笔记 对于基于向量召回,那就不得不提到双塔.为什么双塔在工业界这么常用?双塔上线有多方便,真的是谁用谁知道,user塔做在线serving,item塔离线计算embeding建索引,推到线上 ...

  8. Facebook向量召回双塔模型

    不知道多少人还记得 <做向量召回 All You Need is 双塔>那篇,那篇介绍了国内外各个大厂做召回的用的双塔模型,其中提到一篇<Embeding-based Retriev ...

  9. 推荐搜索炼丹笔记:双塔模型在Airbnb搜索排名中的应用

    作者:一元,公众号:炼丹笔记 Improving Deep Learning For Airbnb Search(KDD20) 本文是一篇偏实践的文章,不讲太多虚的,什么有效什么无效,您请细品! 将深 ...

  10. 推荐搜索炼丹笔记:向量召回 MIND多兴趣双塔模型

    作者:十方,公众号:炼丹笔记 熟悉双塔的人都知道,在用户侧,模型最后往往都生成一个向量去检索,这个向量不足以表达用户的多兴趣,<Multi-Interest Network with Dynam ...

最新文章

  1. get_live2d获取不到500_有人手机收不到验证码?警方打掉一“薅羊毛”产业链,全国已有570多万台手机被控制……...
  2. Android中.9.png图片的使用过程和原理
  3. centos 6.5 安装 lamp 后mysql不能启动_CentOS 6.5 系统 LAMP(Apache+MySQL+PHP)安装步骤
  4. 股票买卖(信息学奥赛一本通-T1302)
  5. Java Concurrent--死锁/饥饿/活锁
  6. swoole_event_add实现异步
  7. unity3D读取Txt文件中信息
  8. 【java笔记】random类生成随机数
  9. Unity单例模式+例子
  10. 宏基4750网卡驱动linux,宏基4750g网卡驱动下载
  11. php设置北京时间(时区)
  12. wps/excel 正则表达式 提取数字
  13. 小马哥--高仿三星G9200 主板型号A208刷机拆机主板图
  14. ERROR: Failed to parse XML in E:\LWJ\AndroidStudioProjects\MyApplication6\app\src\main\AndroidManife
  15. ggplot2设置坐标轴范围_使用 ggplot2 进行高级绘图—R读书笔记(二)
  16. python怎么绘制饼图_Matplotlib绘制饼图
  17. dblp搜文献时各颜色含义
  18. php创建一个猫咪,html5的应用-画一个可爱的小猫咪效果图
  19. python 梯度下降法实现一元线性回归
  20. pjsip 屏幕直播

热门文章

  1. .NET Core 2.0 Preview 2为开发人员带来改进
  2. Html5 绘制旋转的太极图
  3. Error writing file '/tmp/...' (Errcode: 28)
  4. [UI]抽屉菜单DrawerLayout分析(二)
  5. 分页功能 (包含增删改查)工具类
  6. ETL 工具下载全集 包括 Informatica Datastage Cognos( 持续更新)
  7. Kernel PCI总线框架
  8. 云大使推广中的常见热门问题
  9. python经典问题在stack overflow上的回答
  10. MyEclipse默认编码为GBK,修改为UTF8的方法