【牛客网】公平划分——解题思路

本文介绍了一种公平划分数字的问题,其中小爱和小溪希望根据特定原则公平分配数字。小爱选择K个数字,目标是使分配偏差f(I)达到最小。问题涉及组合数计算和暴力搜索策略,通过计算所有可能情况的绝对值来确定最小偏差。文章提供了解题思路和相关代码实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.题目描述:

小爱和小溪有N个数字,他们两个想公平的分配这些数字。小爱拿的数字集合为I=「i1, i2, ik」,小溪获得剩下的J,J=「j1, j2, jn-k」。但是他们衡量分配公平与否的原则与众不同:在小爱拿到其中的K个数字的前提下,计算出他们分配偏差f(I)的最小值。

2.输入描述:

输入第一行两个数字,分别表示总的数字量N和小爱拿的数字量K。第二行有N个数字,表示每个数字的值。

3.输出描述:

输出一个数字,表示分配偏差f(I)的最小值

4.示例:

输入

复制

4 1
3 3 3 1

输出

复制

2

5.解题思路及代码:

在这个题目中,牛客网给出的是动态规划算法分类,其实可以简单些,首先我们通过组合数算法算出取出的情况,比如示例中的4个数字,小爱拿了一个,之后用暴力思想与另外三个分别计算绝对值,取最小,下面是详细的代码:

#include<stdio.h>

#include<math.h>

int sum,cou,lin;

int tag=99999999;

int b[999999];

int a[9

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值