HDOJ 1038-1043

Posted monster5475

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HDOJ 1038-1043相关的知识,希望对你有一定的参考价值。

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的主要内容,如果未能解决你的问题,请参考以下文章

HDOJ-2037

HDOJ-2048

HDOJ-2047

HDOJ-1263

单调队列(双端队列) poj2823 hdoj3415 hdoj3530

ACM--数学--HDOJ 2086--A1 = ?