修理牧场

农夫要修理牧场的一段栅栏,他测量了栅栏,发现需要N块木头,每块木头长度为整数L
​i
​​ 个长度单位,于是他购买了一条很长的、能锯成N块的木头,即该木头的长度是L
​i
​​ 的总和。

但是农夫自己没有锯子,请人锯木的酬金跟这段木头的长度成正比。为简单起见,不妨就设酬金等于所锯木头的长度。例如,要将长度为20的木头锯成长度为8、7和5的三段,第一次锯木头花费20,将木头锯成12和8;第二次锯木头花费12,将长度为12的木头锯成7和5,总花费为32。如果第一次将木头锯成15和5,则第二次锯木头花费15,总花费为35(大于32)。

请编写程序帮助农夫计算将木头锯成N块的最少花费。

输入格式:

输入首先给出正整数N(≤10
​4
​​ ),表示要将木头锯成N块。第二行给出N个正整数(≤50),表示每段木块的长度。

输出格式:

输出一个整数,即将木头锯成N块的最少花费。

输入样例:

8
4 5 1 2 1 3 1 1

输出样例:

49

  用堆,又效率又简单,堆肯定比排序快,养成代码洁癖从写题开始,这里Max要设置为10001,血的教训,堆用了一个哨兵,改来改去不知道哪错了,兜兜转转看别人的代码,发现都不如自己的,傻看了半小时才发现原来是Max出问题,服了,顺带说一句,直接搬运哈夫曼的模板内存多了十倍,而且比排序快了好多倍,还是自己代码香,相信自己嗷

示例代码:

#include <stdio.h>
#include <stdlib.h>
#define Max 10001
#define INF -1


void BulidHeap();
void Insert(int n);
void Calculate();
int Delete();

typedef struct HeapStruct MinHeap;
struct HeapStruct{
    int Data[Max];
    int Size;
};

MinHeap H;
int Sum;

int main()
{
	BulidHeap();
	Calculate();
	printf("%d",Sum);
	
}

void BulidHeap()
{
	int N,i,n;
	H.Data[0] = INF;//哨兵
	scanf("%d",&N);
	for(i = 1; i <= N; i++){
		scanf("%d",&n);
		Insert(n);
	}
}

void Insert(int n)
{
	int i;
	i = ++H.Size;
	for( ; H.Data[i / 2] > n; i /= 2){
		H.Data[i] = H.Data[i / 2];
	}
	H.Data[i] = n;
}

void Calculate()
{
	int a1,a2;
	while(H.Size > 1){
		a1 = Delete();
		a2 = Delete();
		Insert(a1 + a2);
		Sum = Sum + a1 + a2;
	}
}

int Delete()
{
	int parent,child,t,n;
	n = H.Data[1];
	t = H.Data[H.Size--];
	for(parent = 1; parent * 2 <= H.Size;parent = child){
		child = parent * 2;
		if(H.Data[child + 1] < H.Data[child]){
			child++;
		}
		if(t <= H.Data[child]) break;
		else{
			H.Data[parent] = H.Data[child];
		}
	}
	H.Data[parent] = t;
	return n;
}
PTA修理牧场的IT解决方案或软件开发可以从多个方面进行考虑,包括牧场管理系统的构建、数据分析与优化以及设备维护等方面。以下是几个可能的解决方法和思路: 通过网络搜索发现,许多牧场正在转向数字化管理,以提高效率并减少成本。以下是一些可以应用到PTA修理牧场的具体IT解决方案: 1. 牧场管理系统 牧场管理系统能够帮助牧场主记录和管理牲畜健康数据、饲料消耗量、繁殖周期等信息。例如,一款名为FarmLogs的软件可以帮助用户跟踪农田活动、天气情况和作物健康状况。对于PTA修理牧场来说,选择或定制一个适合自身需求的牧场管理系统是关键。 2. 数据分析与预测 利用大数据分析技术,牧场可以更好地了解牲畜生长趋势、疾病预防措施及饲料优化方案。例如,IBM Watson IoT平台提供了强大的数据分析能力,可以帮助企业从传感器数据中提取有价值的信息。类似的技术也可以应用于PTA修理牧场,以实现更高效的运营。 3. 设备维护与远程监控 在IT技术支持下,牧场可以实现对机械设备的远程监控与维护。例如,使用物联网(IoT)技术连接各种设备,并通过云端进行实时状态监测。这有助于及时发现潜在问题并安排维修工作,从而降低故障率并延长设备寿命。 4. 移动应用开发 为方便牧场工作人员随时随地访问重要信息,可以开发一款专用的移动应用程序。该应用程序应具备查看牲畜档案、记录日常任务以及接收警报通知等功能。此外,还可以将GPS定位功能集成到应用中,以便于追踪牲畜位置。 5. 云计算服务 将牧场的数据存储在云端,不仅能够节省本地硬件投入,还能确保数据安全性和可访问性。同时,借助云平台提供的计算资源,可以更高效地执行复杂的数据处理任务。 ```python # 示例代码:简单的牧场管理系统数据库结构设计 class Animal: def __init__(self, id, species, birth_date, health_status): self.id = id self.species = species self.birth_date = birth_date self.health_status = health_status class PTARepairRanch: def __init__(self): self.animals = [] def add_animal(self, animal): self.animals.append(animal) def remove_animal(self, animal_id): self.animals = [a for a in self.animals if a.id != animal_id] def get_all_animals(self): return self.animals ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值