poj 3270 Cow Sorting
2014-05-29 18:45
155 查看
http://poj.org/problem?id=3270
这道题就是给你一个无序序列转换成有序序列需要花费的代价最小,交换a和b代价为a+b;
View Code
这道题就是给你一个无序序列转换成有序序列需要花费的代价最小,交换a和b代价为a+b;
#include <cstdio> #include <cstring> #include <algorithm> #define maxn 20000 using namespace std; int min1=100000; int n; bool vis[maxn]; struct node { int num; int id; bool operator <(const node &a)const { return num<a.num; } }p[maxn*2]; int deal() { int ans=0; for(int i=0; i<n; i++) { if(!vis[i]) { vis[i]=true; int sum=p[i].num; int m1=p[i].num; int t1=1; int id=p[i].id; while(id!=i) { vis[id]=true; sum+=p[id].num; m1=min(m1,p[id].num); id=p[id].id; t1++; } ans+=min(sum+(t1-2)*m1,sum+m1+(t1+1)*min1); } } return ans; } int main() { while(scanf("%d",&n)!=EOF) { memset(vis,false,sizeof(vis)); for(int i=0; i<n; i++) { scanf("%d",&p[i].num); p[i].id=i; min1=min(min1,p[i].num); } sort(p,p+n); printf("%d\n",deal()); } return 0; }
View Code
相关文章推荐
- POJ 3270 Cow Sorting(置换最小费用)
- POJ 3270 Cow Sorting
- POJ 3270 Cow Sorting
- [POJ 3270]Cow Sorting
- POJ-3270 Cow Sorting 置换群
- POJ 3270 Cow Sorting
- poj_3270 Cow Sorting(置换群)
- POJ 3270 Cow Sorting(置换最小费用)
- poj 3270 Cow Sorting
- poj 3270 Cow Sorting
- POJ 3270 Cow Sorting (置换群)
- POJ 3270 Cow Sorting
- POJ 3270 Cow Sorting (置换群利用) 位置交换问题
- POJ 3270 Cow Sorting(置换最小费用)
- poj-3270-Cow Sorting-置换群
- [ACM] POJ 3270 Cow Sorting (置换,贪心)
- poj 3270 Cow Sorting
- poj 3270 Cow Sorting 置换
- POJ 3270 Cow Sorting(置换最小费用)
- POJ 3270-Cow Sorting(置换群)