CF-1453B
题意: 一个数组,每次可以选择一个后缀,将其加一或者减一,开始的时候可以免费改变一个数的数值,判断让所有数字相等所需要的最小操作数。
题解: 注意它的操作,每次改变的是一个后缀,不是自己随意选择子区间(开始读错题,一直没看懂.....),首先我们不考虑免费改变的那次,很明显,如果让所有数相同,肯定要都等于第一个,因为每次改变的是一个后缀,如果你最后变成的不是第一个数,那么你要变成的呢个数的前面的数一定会影响后面数,而且,每次改变后缀,那么后面的各个数之间的差值一定是不变的,求出开始值,然后判断要改变哪一个位置的数,求出最小值即可。
代码:
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef pair<ll,ll> pll;
const int N=2e5+10;
const ll mod=1e9+7;
ll cnt;
ll a[N];
signed main(){
ios::sync_with_stdio(false);
cin.tie(0);
ll t;cin>>t;
while(t--){
ll n;cin>>n;
ll sum=0,ans;
for(ll i=1;i<=n;i++){
cin>>a[i];
if(i>=2) sum+=abs(a[i]-a[i-1]);//求出不用免费的那一次的最小值
}
ans=sum;
for(ll i=2;i<=n-1;i++){
ans=min(ans,sum-abs(a[i]-a[i-1])-abs(a[i]-a[i+1])+abs(a[i-1]-a[i+1]));//改变该位置的值,会影响前后两个数
}
ans=min(ans,sum-abs(a[2]-a[1]));//第一个数和最后一个数特判一下
ans=min(ans,sum-abs(a[n]-a[n-1]));
cout<<ans<<endl;
}
}
CF-1453B的更多相关文章
- ORA-00494: enqueue [CF] held for too long (more than 900 seconds) by 'inst 1, osid 5166'
凌晨收到同事电话,反馈应用程序访问Oracle数据库时报错,当时现场现象确认: 1. 应用程序访问不了数据库,使用SQL Developer测试发现访问不了数据库.报ORA-12570 TNS:pac ...
- cf之路,1,Codeforces Round #345 (Div. 2)
cf之路,1,Codeforces Round #345 (Div. 2) ps:昨天第一次参加cf比赛,比赛之前为了熟悉下cf比赛题目的难度.所以做了round#345连试试水的深浅..... ...
- cf Round 613
A.Peter and Snow Blower(计算几何) 给定一个点和一个多边形,求出这个多边形绕这个点旋转一圈后形成的面积.保证这个点不在多边形内. 画个图能明白 这个图形是一个圆环,那么就是这个 ...
- ARC下OC对象和CF对象之间的桥接(bridge)
在开发iOS应用程序时我们有时会用到Core Foundation对象简称CF,例如Core Graphics.Core Text,并且我们可能需要将CF对象和OC对象进行互相转化,我们知道,ARC环 ...
- [Recommendation System] 推荐系统之协同过滤(CF)算法详解和实现
1 集体智慧和协同过滤 1.1 什么是集体智慧(社会计算)? 集体智慧 (Collective Intelligence) 并不是 Web2.0 时代特有的,只是在 Web2.0 时代,大家在 Web ...
- CF memsql Start[c]UP 2.0 A
CF memsql Start[c]UP 2.0 A A. Golden System time limit per test 1 second memory limit per test 256 m ...
- CF memsql Start[c]UP 2.0 B
CF memsql Start[c]UP 2.0 B B. Distributed Join time limit per test 1 second memory limit per test 25 ...
- CF #376 (Div. 2) C. dfs
1.CF #376 (Div. 2) C. Socks dfs 2.题意:给袜子上色,使n天左右脚袜子都同样颜色. 3.总结:一开始用链表存图,一直TLE test 6 (1)如果需 ...
- CF #375 (Div. 2) D. bfs
1.CF #375 (Div. 2) D. Lakes in Berland 2.总结:麻烦的bfs,但其实很水.. 3.题意:n*m的陆地与水泽,水泽在边界表示连通海洋.最后要剩k个湖,总要填掉多 ...
- CF #374 (Div. 2) D. 贪心,优先队列或set
1.CF #374 (Div. 2) D. Maxim and Array 2.总结:按绝对值最小贪心下去即可 3.题意:对n个数进行+x或-x的k次操作,要使操作之后的n个数乘积最小. (1)优 ...
随机推荐
- jdk8对象集合转map集合
package koukay.Controller.Controllers; import koukay.Portal.webservices.Entity.User; import com.fast ...
- 搭建zabbix及报错处理
搭建ZABBIX服务器准备工作 1.需要服务器是LAMP 或 LNMP 环境 2.主机名和IP要写在HOST文件里 3.iptables 和 selinux 必须关闭 一.先用最简单的方式搭建lamp ...
- 不要使用短路逻辑编写 stl sorter 多条件比较
前言 最近工期紧.任务多,没有时间更新博客,就水一期吧.虽然是水,也不能太水,刚好最近工作中遇到一个 sorter 多条件排序的问题,花费了半天时间来定位解决,就说说它吧. 背景 公司产品是一个跨端的 ...
- ASP.NET Core 6 从入门到企业级实战开发应用技术汇总
系列目录 [已更新最新开发文章,点击查看详细] 本系列博客主要介绍.NET6相关技术,从基础入门.进阶提升到高级升华,最后通过一个企业级项目实战来检验技术应用能力.把个人技术与经验分享出来,抛 ...
- 从解析HTML开始,破解页面渲染时间长难题
摘要:在本文中,将重点关注网页的初始渲染,即它从解析 HTML 开始. 我将探索可能导致高渲染时间的问题,以及如何解决它们. 本文分享自华为云社区<页面首屏渲染性能指南>,作者:Ocean ...
- 安装rlwrap
一. 安装readlineyum install readline* -y 二. 安装rlwrap[root@dbserver ~]# tar -zxvf rlwrap-0.43.tar.gz[roo ...
- Tapdata PDK 生态共建计划启动!Doris、OceanBase、PolarDB、SequoiaDB 等十余家厂商首批加入
2022年4月7日,Tapdata 正式启动 PDK 插件生态共建计划,致力于全面连接数据孤岛,加速构建更加开放的数据生态,以期让各行各业的使用者都能释放数据的价值,随时获取新鲜的数据.截至目前, ...
- poste.io自建邮件服务器
随便说些什么 腾讯企业邮新增账号不方便,这里的主要是指不经过手机验证或微信扫码的,虽然提供了最多3个"业务邮箱",很明显不够用. EwoMail,装没装起来我不记得了,反正是不好用 ...
- git.exe pull --progress -v --no-rebase "origin" master
git.exe pull --progress -v --no-rebase "origin" master remote: You do not have permission ...
- IDEA快捷键-03
用了很久的eclipse,换了新的公司,跟着团队的习惯也转到idea上来了.在这里记录下对idea的认识,常用的idea快捷键及使用技巧. 对比eclipse每个workspace打开一个窗口,ide ...