
解题思路:
刷题不够的童鞋看到这道题有思路,但是估计是暴力枚举了,可能超时哦,emmm(虽然我也是枚举的,但没那么暴力,也不会超时),对这道题,先想想,如果要能掉下去,那么下面的平台的高度一定低一点,所以我们可以先按高度排个序,但是光按高度排序是不行的,因为有高度相同的,那么此时就要看到题意里面,高度相同满足条件的话就掉到我们优先输入的平台上,那么排序条件就有两个,这个就是cmp1,接下来就用一个递归搜索就行了,这个应该没问题,然后完成之后,我们要再用sort排序回来,因为结果要按输入的顺序输出的,这就是cmp2,这道题我看了很多题解大多都是用了几个数组,我有点纳闷,为什么能够用结构体封装的数据很多人都喜欢用数组???是结构体有坏处吗?占空间?还是时间占了?用几个数组占的内存差不多但更麻烦,为什么不用结构体???
#include<iostream>
#include<algorithm>
using namespace std;
int n, flagz, flagy;
struct store
{
int num, xz, xy, h;
int zuo = 0, you = 0;
}ans[1005];
bool cmp1(store a, store b)
{
if (a.h == b.h) return a.num > b.num;
return a.h < b.h;
}
bool cmp2(store a, store b)
{
return a.num < b.num;
}
void fun(int i)
{
if (i == n + 1) return;
for (int o = i - 1; o > 0; --o) {
if (!flagz &a
优化递归策略:解决动态掉落平台问题的高效算法

最低0.47元/天 解锁文章
164

被折叠的 条评论
为什么被折叠?



