传送门 :
这场好难的样子,难指的是(会写,但是写不出来
A. Array Balancing给定两个数组,完成多次操作操作后使得
∑ i = 1 n − 1 ( ∣ a i − a i + 1 ∣ + ∣ b i − b i + 1 ∣ ) \sum_{i=1}^{n-1}(|a_i-a_{i+1}|+|b_i-b_{i+ 1}|) ∑i=1n−1(∣ai−ai+1∣+∣bi−bi+1∣) 最小
操作描述 :
- 选择一个下标 i i i
- 交换 a i a_i ai 和 b i b_i bi
看着像 d p dp dp,对于每个位置有交换和不交换两种选择
其实我们只需要模拟的时候 直接取 m i n min min即可
a b s ( a [ i ] − b [ i − 1 ] ) + a b s ( b [ i ] − a [ i − 1 ] ) ) abs(a[i]-b[i-1])+abs(b[i] - a[i-1])) abs(a[i]−b[i−1])+abs(b[i]−a[i−1]))表示前面的数进行了交换
Mycodevoid solve(){
cin>>n;
for(int i=1;i>a[i];
for(int i=1;i>b[i];
ll sum = 0;
for(int i=2;ix;
cout1;
if(check(mid,maxn)||check(mid,maxn+1)||check(mid,maxn+2)){
ans = mid;
r = mid-1;
}else l = mid+1;
}
cout
关注
打赏
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?