logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

Python数据结构与算法(poj):P01017——装箱问题

这道题需要你根据给定的不同物体的分布数量得出为全部装下它们的箱子个数,贪心策略很好构建,首先显然4*4、5*5、6*6只能占据一个箱子,然后3*3不能放在之前的箱子里面(必须拿新的箱子装),最后2*2和1*1按照要求往里面塞就可以了。

文章图片
#算法#python
Python数据结构与算法(poj):P01019——Number Sequence

我们来算一下从1~k的对应长度,显然可以很容易地通过取对数再由等比数列求和并加上剩余项得到,用代码写就是这样:(其中l为总长度,所以这里写的是加上对应增量)如果想直接得出整个序列,那么看一下数据范围就知道不可能,一定会超时,所以我们应采取一些数学的东西来简化,尽可能得到线性的算法。由此得到输入索引对应1~k序列的k是多少,之后就可以打出一个数字序列(1~k),再按照输入的索引就可以输出答案。大意为

文章图片
#python#开发语言
Python数据结构与算法(poj):P01084——正方形破坏者

倘若讨论每根火柴是否已被拿走,没被拿走就拿走,同时对当前状态的正方形个数进行计数,与之前的进行比较从而达到剪枝的目的,这样做,哪怕后面使用位运算存储累计拿走火柴棒的状态,仍然会超时(也有可能超内存)。使用该算法时,我们首先定义一个估价函数,用于进行判断当前状态还需要的最少火柴棒数目(准确地说,可能会比实际达到的数目还要少,但剪枝的效率极高)。于是,我们改变思路,我们还是需要看火柴是否被拿走,但我们

文章图片
#深度优先#算法#python +3
到底了