当前位置:网站首页>Candy delivery (Mathematics)
Candy delivery (Mathematics)
2022-07-06 16:08:00 【AC__ dream】
This problem is essentially a mathematical problem , Presuppose xi In the best case i A child gave it to No i-1 The number of sweets for a child (xi A negative number means the i-1 A child gave the first i A child candy ), A special case : When i by 1 when , Default i-1=n, That is to say x1 It means the first one 1 A child gave it to No n The number of sweets for a child . Then our The result is all xi The sum of the absolute values of ( The number of candy delivered is the final price ), The title has given the number of sweets each child had at the beginning ai, Let the number of sweets each child finally gets be mid, So the first i The final number of sweets for children mid Depends on the number of sweets you have at the beginning ai And he gave No i-1 The number of sweets for a child xi And the first i+1 A child gave him the number of sweets xi+1, That is to say mid=ai-xi+x(i+1), Simplify to x(i+1)-xi=mid-ai, From this formula, we can get
(1) x2-x1=mid-a1
(2) x3-x2=mid-a2
……
(n-1) xn-x(n-1)=mid-a(n-1)
Combining the above formulas, we get
(1)+(2) have to x3-x1=2*mid-(a2+a1)
(1)+(2)+(3) have to x4-x1=3*mid-(a3+a2+a1)
……
(1)+(2)+……+(n-1) have to xn-x1=(n-1)*mid-(a(n-1)+a(n-2)+……+a1)
Move the terms of the merged formula to get :
x2=x1-(a1-mid)
x3=x1-((a2+a1)-2*mid)
x4=x1-((a3+a2+a1)-3*mid)
……
xn=x1-((a(n-1)+……+a2+a1)-(n-1)*mid)
Again because x1=x1-0
Our final result is xi The sum of the absolute values of , It's easy to think of the distance formula when you see the formula after the term shift above , So our result is One point to 0,(a1-mid),((a2+a1)-2*mid),……,((a(n-1)+……+a2+a1)-(n-1)*mid) The minimum value of the sum of the distances of these points , This can be transformed into the problem of warehouse location , Directly take a median for calculation , Here is the code :
#include<cstdio>
#include<iostream>
#include<cstring>
#include<vector>
#include<algorithm>
#include<map>
#include<cmath>
#include<queue>
using namespace std;
const int N=1000003;
long long a[N],s[N];
int main()
{
int n;
cin>>n;
for(int i=1;i<=n;i++)
{
scanf("%lld",&a[i]);
s[i]=s[i-1]+a[i];
}
long long mid=s[n]/n;
for(int i=1;i<=n;i++)
s[i]-=i*mid;
sort(s,s+n);
long long ans=0;
for(int i=0;i<n;i++)
ans+=abs(s[i]-s[n/2]);
printf("%lld",ans);
return 0;
}
边栏推荐
- Penetration test (7) -- vulnerability scanning tool Nessus
- [exercise-2] (UVA 712) s-trees
- 信息安全-威胁检测-NAT日志接入威胁检测平台详细设计
- C language must memorize code Encyclopedia
- [exercise 4-1] cake distribution
- Nodejs+vue online fresh flower shop sales information system express+mysql
- Truck History
- Opencv learning log 18 Canny operator
- socket通讯
- 【练习-10】 Unread Messages(未读消息)
猜你喜欢
树莓派4B安装opencv3.4.0
b站 实时弹幕和历史弹幕 Protobuf 格式解析
1005. Maximized array sum after K negations
Essai de pénétration (1) - - outils nécessaires, navigation
Penetration testing (5) -- a collection of practical skills of scanning King nmap and penetration testing tools
1323. Maximum number of 6 and 9
[exercise-5] (UVA 839) not so mobile (balance)
1013. Divide the array into three parts equal to and
渗透测试 ( 8 ) --- Burp Suite Pro 官方文档
Nodejs+vue online fresh flower shop sales information system express+mysql
随机推荐
[exercise-6] (UVA 725) division = = violence
[exercise-9] Zombie's Treasury test
socket通讯
Opencv learning log 14 - count the number of coins in the picture (regardless of overlap)
X-Forwarded-For详解、如何获取到客户端IP
[exercise -10] unread messages
栈的经典应用—括号匹配问题
Auto.js入门
Information security - Epic vulnerability log4j vulnerability mechanism and preventive measures
初入Redis
Shell Scripting
Opencv learning log 13 corrosion, expansion, opening and closing operations
Interesting drink
Opencv learning log 28 -- detect the red cup cover
China exterior wall cladding (EWC) market trend report, technical dynamic innovation and market forecast
Opencv learning log 33 Gaussian mean filtering
STM32 how to use stlink download program: light LED running light (Library version)
对iptables进行常规操作
渗透测试 ( 1 ) --- 必备 工具、导航
Research Report on shell heater industry - market status analysis and development prospect forecast