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

医院网站设计怎么做口碑营销是什么意思

医院网站设计怎么做,口碑营销是什么意思,页面设计模板简约,南通做网站的交换瓶子 原题目链接 题目描述 有 N 个瓶子,编号为 1 ~ N,放在架子上。 例如有 5 个瓶子,当前排列为: 2 1 3 5 4每次可以拿起 2 个瓶子,交换它们的位置。 要求通过若干次交换,使得瓶子的编号从小到大…

交换瓶子

原题目链接

题目描述

N 个瓶子,编号为 1 ~ N,放在架子上。

例如有 5 个瓶子,当前排列为:

2 1 3 5 4

每次可以拿起 2 个瓶子,交换它们的位置

要求通过若干次交换,使得瓶子的编号从小到大排列为:

1 2 3 4 5

对于简单情况,显然至少需要交换 2 次就能复位。

如果瓶子更多呢?请你编程解决这个问题,找出最少交换次数


输入描述

输入格式为两行:

  • 第一行:一个正整数 N (N < 10⁴),表示瓶子的数目;
  • 第二行:N 个正整数,空格分隔,表示当前瓶子的排列情况。

输出描述

输出一行一个正整数,表示至少交换多少次,才能完成排序。


输入输出样例

示例

输入

5
3 1 2 5 4

输出

3

c++代码

#include<bits/stdc++.h>using namespace std;int N, ans = 0;int main() {cin >> N;vector<int> root(N);for (int i = 0; i < N; i++) cin >> root[i];for (int i = 0; i < N; i++) {while(root[i] != i + 1) {swap(root[i], root[root[i] - 1]);ans++;}}cout << ans;return 0;
}//by wqs

题目解析

贪心算法

我们假设当前的值不对应

说明我们一定要交换

我们要交换次数最小,就要这次交换的利益最大。

如果我们交换一次刚好和可以让两个数同时对应,这样利益最大,贪心的做法也就是和对应值交换

为什么呢,因为这样既可以保证至少有一个可以对应,还有机会可以对应两个。

例如

3 1 2 5 4

1 2 3 4 5

3和1不同,第一个和第三个交换,至少3对应了。

2 1 3 5 4

1 2 3 4 5

2 1 不同,第二个和第一个交换,1和2都对应了。

1 2 3 5 4

1 2 3 4 5

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

相关文章:

  • 专业的东莞网站排名网络营销常见的工具
  • 建设一个网站主要受哪些因素的影响seo快速排名源码
  • 接私活 做网站广告公司推广软文
  • phpcms v9网站上传免费的网站推广
  • 网站可分为哪两种类型营销软件
  • phpstudy做网站小程序制作费用一览表
  • 百度统计怎么使用深圳seo排名优化
  • 人工智能网页设计关键词智能优化排名
  • cdr做网站今日要闻
  • c mvc网站开发实例教程成都百度网站排名优化
  • 图片制作方法seo排名优化seo
  • 上海it驻场服务外包如何优化推广网站
  • 郑州知名做网站公司有哪些杭州网站关键词排名优化
  • 网站建设.国风网络网络游戏推广怎么做
  • 电子商务网站建设合同范本aso搜索优化
  • 做网站 分类搜索百度网址怎么输入?
  • 网站demo怎么做求个网站
  • 网站建设开发ppt模板游戏广告推广平台
  • 深圳最好的网站建设公司手机系统优化工具
  • 创建企业营销网站包括哪些内容陕西疫情最新消息
  • 保定医疗网站建设公司关键词查询工具包括哪些
  • 江西响应式网站建设网络营销简介
  • 如何制作自己的网站页制作2021年网络营销案例
  • 郑州腾讯网站建设微信小程序怎么制作自己的程序
  • 今天最近的新闻鹤壁seo公司
  • 网站设计跟网站开发区别seo怎么做整站排名
  • 找工作一般上什么网站比较好网络营销师报名官网
  • 网站建设咨询公seo公司推广宣传
  • 广州骏域网站网站建设策划书范文
  • cvm可以做网站服务器吗页面设计