当前位置: 首页 > wzjs >正文

多媒体制作专业学什么优化教程

多媒体制作专业学什么,优化教程,设一个网站链接为安全怎么做,在线编辑0回文数组 - 蓝桥云课 问题描述 小蓝在无聊时随机生成了一个长度为 n 的整数数组,数组中的第 i 个数为 ai​,他觉得随机生成的数组不太美观,想把它变成回文数组,也就是对于任意 i∈[1,n] 满足 ai​an−i1​。小蓝一次操作可以指…

0回文数组 - 蓝桥云课

问题描述

小蓝在无聊时随机生成了一个长度为 n 的整数数组,数组中的第 i 个数为 ai​,他觉得随机生成的数组不太美观,想把它变成回文数组,也就是对于任意 i∈[1,n] 满足 ai​=an−i+1​。小蓝一次操作可以指定相邻的两个数,将它们一起加1或减1;也可以只指定一个数加1或减1,请问他最少需要操作多少次能把这个数组变成回文数组?

输入格式

输入的第一行包含一个正整数 n。

第二行包含 n 个整数 a1​,a2​,…,an​,相邻整数之间使用一个空格分隔。

输出格式

输出一行包含一个整数表示答案。

样例输入

4
1 2 3 4

样例输出

3

样例说明

第一次操作将 a1​,a2​ 加1,变为 2, 3, 3, 4;

后面两次操作将 a1​ 加1,变为 4, 3, 3, 4。

评测用例规模与约定

  • 对于 20% 的评测用例,1≤n≤10;
  • 对于所有评测用例,1≤n≤10^5,−10^6≤ai​≤10^6。

思路:

差点的贪心,8/12的测试点

代码:

#include <iostream>
#include<algorithm>
#include<cmath>
using namespace std;
typedef long long ll;
const ll N = 1e5+10;
ll n,a[N],ans;
int main() 
{ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);cin >> n;for(ll i = 1 ; i <= n ; i++)cin >> a[i];ll l = 1,r = n;while(l < r){if(a[l] == a[r]){l++,r--;}else if(abs(a[l] - a[r]) >= abs(a[l+1] - a[r-1])){ans += abs(a[l] - a[r]);a[l+1] = a[r-1];l++,r--;}else{ans += abs(a[l] - a[r]);if(a[l+1] > a[r-1]){a[r-1] += abs(a[l] - a[r]);}else if(a[l+1] < a[r-1]){a[l+1] += abs(a[l] - a[r]);}else{cout << "报错" << endl;}l++,r--;}}cout << ans;return 0;
}

思路:

可以对数组进行相减n/2的长度。这样是最贪心的

代码:

#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
typedef long long ll;int main() {ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);int n;cin >> n;vector<ll> a(n);for (int i = 0; i < n; ++i) {cin >> a[i];}int m = n / 2;vector<ll> d(m);for (int i = 0; i < m; ++i) {int j = n - 1 - i;d[i] = a[i] - a[j];}ll ans = 0;for (int i = 0; i < m; ++i) {if (d[i] == 0) continue;if (i + 1 < m) {if ((d[i] > 0 && d[i+1] > 0) || (d[i] < 0 && d[i+1] < 0)) {ll k = min(abs(d[i]), abs(d[i+1]));if (d[i] > 0) {d[i] -= k;d[i+1] -= k;} else {d[i] += k;d[i+1] += k;}ans += k;}}ans += abs(d[i]);d[i] = 0; // 已经处理完毕,置零避免重复处理}cout << ans << endl;return 0;
}


 

http://www.dtcms.com/wzjs/84094.html

相关文章:

  • 网站设计报告模板及范文seo外链代发
  • 网站建设背景怎么写yy直播
  • 江苏省工程建设协会网站网络平台推广运营有哪些平台
  • wordpress 使用smtp宁波核心关键词seo收费
  • 旅游做哪个网站好网站制作公司有哪些
  • 做ppt的网站兼职百度最新版下载
  • 公司的网站建设 交给谁做更好些好视通视频会议app下载安装
  • 电商网站建设应用在哪里找软件开发公司
  • 网游大型游戏排行榜朝阳区seo搜索引擎优化怎么样
  • 网站的数据库选择西安网站关键词优化费用
  • 东莞建网站公司游戏代理是怎么赚钱的如何代理游戏
  • 汉中微信网站建设公司seo顾问多少钱
  • 网络推广模板网站宁波seo网络推广咨询价格
  • 网站优化方案书全网推广的方式
  • 网站设计公司上海某一网站seo策划方案
  • 微信公众号可以做几个微网站吗搜索引擎营销的四种方式
  • 如何开通免费网站网络维护
  • 南昌定制网站开发费用网络推广吧
  • 佛山网站制作在线浙江百度代理公司
  • 免费建站绑定域名免费广告发布平台app
  • wordpress如何添加sitemap北京seo网站推广
  • 做枪版视频网站犯法吗网站页面优化包括
  • 中山网站建设公司品牌推广策划营销策划
  • 鲜花网站建设图片互联网广告推广公司
  • 用java怎么做购物网站seo网页优化培训
  • 做网站 插件在线网站分析工具
  • sql注入网站源码英文网站推广
  • 网站开发 简单留言板发外链平台
  • 靖江建设行业协会网站网址如何下载视频
  • 网站png小图标怎么做公司品牌宣传