码迷,mamicode.com
首页 > 其他好文 > 详细

HDOJ 1038-1043

时间:2018-10-09 18:07:12      阅读:151      评论:0      收藏:0      [点我收藏+]

标签:题目   思想   规律   数组   操作   ...   网上   注意   博客   

1038
水题~ 就是一个求距离 一个求速度

1039
水题~ 就是满足三个条件 判断一下 没了。。

1040
水题~~ 我很早之前做的 冒泡就完事了

1041
这道题目还阔以 包含了一些简单的查找规律,我一开始就觉得有规律可以查找,所以一直在想,后来好像想到可以递推,但是一直写不出递推式,后来网上看了,觉得还蛮有意思的

//a[i] = a[i-1]中的01个数 而 a[i-1]的01 个数为 a[i-2] 中00 和1的个数计数 故 a[i-1]的01 个数为 a[i-1]‘=a[i-2]+2^(i-3)
//a[i]=a[i-2]+2^(i-3)

递推:0->10 ?;
? ? ? ? ?1->01;
? ? ? ? ?00->1010;
? ? ? ? ?10->0110;
? ? ? ? ? 01->1001;
? ? ? ? ? 11->0101;假设a[i]表示第i 步时候的00的个数,由上面的可以看到,00是由01 得到的,所以只要知道a[i-1]的01的个数就能够知道a[i]的00的个数了,那a[i-1]怎么求呢,同样看推导,01由1和00 得到,而第i步1的个数是2^(i-1),所以a[i]=2^(i-3)+a[i-2];

本文来自 vsooda 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/vsooda/article/details/7997111?utm_source=copy

1042
咋一看是水题,其实还是有一点点东西的,要注意的是用万位制来模拟数组进位,不再是普通的十进制,还有就是在处理最后输出的时候 第一个万位进制输出即可,其他要进行补0操作。

1043
对于八码问题,使用数学知识康托展开加上BFS暴力搜索应该可以ac。康托展开其实就是全排列中一个比较思想,我上次做题的时候也用到了这个思想就是不知道名字叫做康托展开,主要思想是给定一个序列a1a2a3aa5a6...an如何求出这个是全排列中第几个大小 比如123 是1、2、3全排列中最小的,132是倒数第二小的,那这个求法就是从第一位数到最后一位可以确定n-1位的,就是HDOJ的1027。
通过这道题了解到两种算是剪枝的思想,这边也想用这道题目练一下手,一种是A* 一种是IDA*

HDOJ 1038-1043

标签:题目   思想   规律   数组   操作   ...   网上   注意   博客   

原文地址:https://www.cnblogs.com/monster5475/p/9761817.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!