PAT 1070. Mooncake (25)

按单价进行排序,依次选择就行了

注意,每种月饼的数量是double,

代码如下:

#include <iostream>
#include <algorithm>

using namespace std;

typedef struct Mcake
{
	double amounts;  //this must be double
	double money;
	double  price;
}Mcake;

Mcake a[1001];

int cmp(Mcake c,Mcake d)
{
	return c.price > d.price;
}

int main()
{
	int N,D;

	cin >> N >> D;
	
	int i;
	for(i = 0;i<N;i++)
		cin >> a[i].amounts;
	for(i = 0;i<N;i++)
	{
		cin >> a[i].money;
		a[i].price = a[i].money/a[i].amounts;
	}

	sort(a,a+N,cmp);
	int sum = 0;
	double profit = 0.0;
	i = 0;
	while(sum < D && i < N)
	{
		if(sum + a[i].amounts <= D){
			profit += a[i].money;
			sum += a[i].amounts;
		}
		else{
			profit += (D-sum)*a[i].price;
			sum = D;
			break;
		}
		i++;
	}

	printf("%.2lf\n",profit);
	return 0;

}


### Mooncake简介 Mooncake 是由月之暗面 Kimi 联合清华大学等机构共同开发的一种以 KVCache 为核心的分布式推理架构[^2]。该架构旨在提升大规模语言模型的推理性能,特别是在长上下文场景下的表现尤为突出。 #### 架构特点 Mooncake 的核心设计理念围绕着键值缓存(KVCache),通过分布式的存储和计算分离策略来优化资源利用效率[^4]。这种设计使得 Mooncake 在处理复杂任务时能够实现高吞吐量以及低延迟的表现。具体来说: - **高效资源管理**:通过对内存和网络带宽的有效分配,减少冗余操作并提高整体系统的运行效率。 - **支持多样化应用需求**:无论是自然语言理解还是个性化推荐系统等领域都能受益于 Mooncake 提供的强大技术支持能力。 #### 配置说明 为了部署 Mooncake ,需要准备好相应的配置文件 `mooncake.json` 。此文件包含了预填充 URL、解码 URL 及元数据服务器地址等重要参数设置信息[^3]。下面是一个典型的 JSON 格式示例: ```json { "prefill_url": "192.168.0.137:13003", "decode_url": "192.168.0.139:13003", "metadata_server": "192.168.0.139:2379", "protocol": "rdma", "device_name": "erdma_0" } ``` 其中 `"protocol"` 字段可以选择 `"rdma"` 或者 `"tcp"` 来指定通信协议类型;而当选用 TCP 协议时,则需将 `"device_name"` 设置为空字符串[](^3])。 #### 性能优势对比分析 基于模拟数据显示,在面对含有大量长序列输入的数据集时,相比其他同类解决方案如 vLLM , Mooncake 展现出更加优越的技术特性——即使是在严格遵循特定时间约束条件下仍可达到更高水平的服务质量(QoS)。以下是两者主要差异点总结表: | 特性 | Mooncake | vLLM | |--------------------|-----------------------------|-------------------------------| | 请求处理方式 | 批量 | 单独 | | 对SLO影响程度 | 较小 | 显著增加 | | 吞吐量增幅范围(%) | 50%-525% | — | 由此可见,得益于独特的两阶段分解设计方案,Mooncake 成功规避了传统方法可能带来的负面效应,并实现了显著优于竞争对手的整体效能指标改进效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值