当前位置:网站首页>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;
}
边栏推荐
- [exercise 4-1] cake distribution
- socket通讯
- Penetration test (8) -- official document of burp Suite Pro
- Borg Maze (BFS+最小生成树)(解题报告)
- [exercise -11] 4 values why sum is 0 (and 4 values of 0)
- MySQL import database error [err] 1273 - unknown collation: 'utf8mb4_ 0900_ ai_ ci’
- Vs2019 initial use
- 渗透测试 ( 5 ) --- 扫描之王 nmap、渗透测试工具实战技巧合集
- 【练习-6】(Uva 725)Division(除法)== 暴力
- Frida hook so layer, protobuf data analysis
猜你喜欢
Basic Q & A of introductory C language
【练习-4】(Uva 11988)Broken Keyboard(破损的键盘) ==(链表)
2027. Minimum number of operations to convert strings
Ball Dropping
Luogu P1102 A-B number pair (dichotomy, map, double pointer)
信息安全-史诗级漏洞Log4j的漏洞机理和防范措施
【练习-7】Crossword Answers
渗透测试 ( 1 ) --- 必备 工具、导航
Vs2019 initial use
Matlab comprehensive exercise: application in signal and system
随机推荐
[exercise-7] (UVA 10976) fractions again?! (fraction split)
HDU - 6024 building shops (girls' competition)
信息安全-威胁检测-NAT日志接入威胁检测平台详细设计
Find 3-friendly Integers
b站 实时弹幕和历史弹幕 Protobuf 格式解析
2027. Minimum number of operations to convert strings
初入Redis
Differential (one-dimensional, two-dimensional, three-dimensional) Blue Bridge Cup three body attack
渗透测试 ( 4 ) --- Meterpreter 命令详解
Nodejs+vue网上鲜花店销售信息系统express+mysql
Pyside6 signal, slot
[exercise-4] (UVA 11988) broken keyboard = = (linked list)
1013. Divide the array into three parts equal to and
[exercise-2] (UVA 712) s-trees
X-forwarded-for details, how to get the client IP
Opencv learning log 13 corrosion, expansion, opening and closing operations
Opencv learning log 30 -- histogram equalization
Hdu-6025-prime sequence (girls' competition)
1010 things that college students majoring in it must do before graduation
C language is the watershed between low-level and high-level