首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
【
bzoj1237
】的更多相关文章
【BZOJ1237】配对(贪心,DP)
题意:有n个a[i]和b[i],调整顺序使abs(a[i]-b[i])之和最小,但a[i]<>b[i].保证所有 Ai各不相同,Bi也各不相同. 30%的数据满足:n <= 104 100%的数据满足:1 <= n <= 105,Ai和Bi均为1到106之间的整数. 思路:可以证明调整范围一定在三个数以内 ..]of int64; a,b,c:..]of longint; n,i:longint; function clac(x,y:longint):int64; begin…
bzoj1237
假如不存在相等的两个数不能配对,那很容易贪心得到,A中rank 1匹配B中rank 1 A中rank2 匹配B中rank 2…… 有了相等不能匹配这个条件,那么A中rank i可能和rank i,i-1,i+1匹配 也有可能三对数字交换匹配 dp一下就好了 ; ..] of longint; var a,b:node; f:..] of int64; n,i:longint; function min(a,b:int64):int64; begin if a>b th…
BZOJ1237: [SCOI2008]配对
传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=1237 题目大意:你有n 个整数Ai和n 个整数Bi.你需要把它们配对,即每个Ai恰好对应一 个Bp[i].要求所有配对的整数差的绝对值之和尽量小,但不允许两个相同的数配 对.例如A= {5,6,8},B={5,7,8},则最优配对方案是5配8, 6配5, 8配7,配对整数 的差的绝对值分别为2, 2, 1,和为5.注意,5配5,6配7,8配8是不允许的,…
bzoj千题计划179:bzoj1237: [SCOI2008]配对
http://www.lydsy.com/JudgeOnline/problem.php?id=1237 如果没有相同的数不能配对的限制 那就是排好序后 Σ abs(ai-bi) 相同的数不能配对 交换一些相邻数的位置,使他们不相同 只交换相邻两个的话: 1 2 3 1 2 3 这种情况不行 而至多相邻3个内部交换,就可以保证相同位置的数不同 #include<cstdio> #include<iostream> #include<algorithm> using na…