题目大意是只要后面的木棍长度和重量都不比前面小就不用花费准备时间。。。所以,只要使数组尽可能按要求排列即可,定义一结构体表示木棍的性质。
排序:按重量从小到大排列,若重量相等,则按长度从小到大排列。
递归:从第一个数开始,逐个进行搜索,若符合长度和重量都递增的条件的去掉,不符合的装入另一个结构体中,在对剩下的木棍进行搜索,一直到所得结构体为空为止。每一次递归,总数增加一,最后所得总数就是所求数;如:( 4 , 1 ) ,( 1 , 2 ) , ( 5 , 3 ) , ( 9 , 4 ) ,
代码:
#include<stdio.h>
#include<algorithm>
using namespace std;
struct Node{
}p[5000];
int sum;
bool cmp(Node a,Node b){
}
void sub(Node p1[5000],int n){
}
int main(){
}

本文讨论了一个使用排序和递归算法解决特定问题的方法。通过定义结构体表示问题中的元素,首先按照重量和长度进行排序。接着,通过递归搜索满足条件的元素集合,计算所需的时间成本。算法实例展示了如何将不符合条件的元素排除,并递归地对剩余元素进行搜索。最终输出搜索过程中累计的时间成本。
2746

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



