题意:

给你两个排列,你要求让第一个排列变成第二个排列,你可以进行交换操作

每次交换操作的代价是abs(i-j),i,j为位置。

然后让你把方案输出出来 (by http://www.cnblogs.com/qscqesze/p/4858438.html)

首先我们对问题稍作转换,变成将一个排列排好序。显然,最小代价等于逆序对的数量。

因为要把某个数通过交换到对应位置,那么考虑冒泡排序,若至少交换k次才到对应位置,那么代价至少为k,因为一个个交换和直接跳过若干个交换代价是一样的。

我们只要保证,每次交换,都使两个数更接近相应的位置,那么就能保证最小代价了。

直接做是O(n^3)的,然而做点剪枝就能过啦。

那么如何优化呢?我们考虑类似选择排序的过程,每次找到还没排好的最小的数,然后扫一遍能交换就交换,可以证明,这样交换一定能使该数到达对应位置。

证明:假若现在位置是i,要移到位置1,那么显然1到i-1中必有一个数大于等于i。。。

codeforces 584E相关推荐

  1. Codeforces 584E. Anton and Ira (排列好题)

    大致题意: n <= 2000,有一1-n的排列p和s,对pi和pj交换产生的代价是 | i - j | , 问最少需要多少代价使,排列p变成排列s,输出解 思路: 可以先把s映射成1...n的 ...

  2. CodeForces 375D Tree and Queries

    传送门:https://codeforces.com/problemset/problem/375/D 题意: 给你一颗有根树,树上每个节点都有其对应的颜色,有m次询问,每次问你以点v为父节点的子树内 ...

  3. 「日常训练」Bad Luck Island(Codeforces Round 301 Div.2 D)

    题意与分析(CodeForces 540D) 是一道概率dp题. 不过我没把它当dp做... 我就是凭着概率的直觉写的,还好这题不算难. 这题的重点在于考虑概率:他们喜相逢的概率是多少?考虑超几何分布 ...

  4. 【codeforces 812C】Sagheer and Nubian Market

    [题目链接]:http://codeforces.com/contest/812/problem/C [题意] 给你n个物品; 你可以选购k个物品;则 每个物品有一个基础价值; 然后还有一个附加价值; ...

  5. CodeForces 获得数据

    针对程序的输出可以看见 CodeForces :当输入.输出超过一定字符,会隐藏内容 所以:分若干个程序进行输入数据的获取 1. 1 for (i=1;i<=q;i++) 2 { 3 scanf ...

  6. codeforces水题100道 第二十七题 Codeforces Round #172 (Div. 2) A. Word Capitalization (strings)...

    题目链接:http://www.codeforces.com/problemset/problem/281/A 题意:将一个英文字母的首字母变成大写,然后输出. C++代码: #include < ...

  7. CodeForces 595A

    题目链接: http://codeforces.com/problemset/problem/595/A 题意: 一栋楼,有n层,每层有m户,每户有2个窗户,问这栋楼还有多少户没有睡觉(只要一个窗户灯 ...

  8. codeforces A. Jeff and Digits 解题报告

    题目链接:http://codeforces.com/problemset/problem/352/A 题目意思:给定一个只有0或5组成的序列,你要重新编排这个序列(当然你可以不取尽这些数字),使得这 ...

  9. Codeforces Round #506 (Div. 3)

    Codeforces Round #506 (Div. 3) 实习期间事不多,对div3 面向题解和数据编程了一波 A. Many Equal Substrings 题目链接 A题就是找后缀和前缀重合 ...

最新文章

  1. 为什么数学无法给机器意识
  2. java set null值,从Java ResultSet检查null int值
  3. jQuery.merge与concat的区别
  4. iOS - OC 与 C 互相操作
  5. 算法设计与分析(第四周)大整数相乘 分治法【不能解决溢出问题】
  6. MCSE2003学习之一
  7. Qt在线/离线安装包下载网址和说明
  8. Android Studio下导出jar包和aar包
  9. i386 Linux 系统调用
  10. Echarts 实现 设备运行状态图 工业大数据展示
  11. Mysql启动之报错:The server quit without updating PID file
  12. dcn网络与公网_DCN网络安全
  13. 安卓移动办公软件_尚朋高科TeeTek云端移动办公系统,云端软件5G时代的趋势
  14. 矩阵行列式引理 Matrix Determinant Lemma
  15. 微信小程序 图片上传与内容安全审核
  16. 2022-2028全球与中国呼吸系统疾病治疗市场现状及未来发展趋势
  17. 西门子RS485通信笔记
  18. Mac下command+R和shift+command+R的区别,在线恢复模式的选择
  19. Smart Link Monitor Link
  20. dw实现html实时更新,DW在HTML5 响应式代码实现完成

热门文章

  1. 从毕业到2010的Java程序员生涯(一)
  2. python爬虫遇到验证码、输入验证码后提醒验证码错误_爬虫遇到头疼的验证码?Python实战讲解弹窗处理和验证码识别...
  3. Gephi学习笔记-画出图形基本流程
  4. 关东升的《iOS实战:图形图像、动画和多媒体卷(Swift版)》上市了
  5. (十)洞悉linux下的Netfilteramp;iptables:网络地址转换原理之SNAT
  6. 若依管理系统RuoYi-Vue(前后端分离版)项目启动教程
  7. RabbitMQ确认应答和确认发布
  8. SQLyog安装配置详细过程
  9. java servlet过滤器简解及实例
  10. 如何让自己像打电子竞技一样发了疯、拼了命、的学习?