Cow Sorting----置换
来源:互联网 发布:nginx部署nodejs项目 编辑:程序博客网 时间:2024/06/05 00:33
题目:http://poj.org/problem?id=3270
题解:黑书P248
代码:
#include <stdio.h>#include <algorithm>using namespace std;typedef struct{ int num,value;}p;p a[100005];int n;int b[100005],x,j,flag;int v[100005],sum,min1;__int64 ans;bool cmp(p s,p t){ return s.value<t.value;}int main(){ scanf("%d",&n); for(int i=0;i<n;i++) { scanf("%d",&a[i].value); a[i].num=i; v[i]=0; b[i]=a[i].value; } sort(a,a+n,cmp); flag=1; ans=0; for(int i=0;i<n;i++) { flag=0; if(v[i]==0) { x=1; flag=1; v[i]=1; j=i; min1=b[i]; sum=b[i]; while(b[i]!=a[j].value) { j=a[j].num; if(b[j]<min1) min1=b[j]; sum=sum+b[j]; v[j]=1; x++; } } // printf("sum=%d min1=%d x=%d\n",sum,min1,x); if(flag==1&&x!=1) ans+=sum+((x-2)*min1>min1+(x+1)*a[0].value?min1+(x+1)*a[0].value:(x-2)*min1); } printf("%I64d\n",ans); return 0;}
- POJ Cow Sorting 置换
- Cow Sorting----置换
- Cow Sorting(置换)
- poj3270 Cow Sorting-------置换群
- poj3270 Cow Sorting 置换群
- POJ 3270 Cow Sorting (置换)
- 3270 Cow Sorting //利用置换排序
- POJ 3270 Cow Sorting(置换循环节)
- poj 3270 Cow Sorting(置换群)
- poj-3270-Cow Sorting-置换群
- POJ 3270 Cow Sorting 置换应用
- poj 3270 Cow Sorting (置换群)
- POJ3270 Cow Sorting【置换群】【间接排序】
- poj 3270 Cow Sorting (置换群)
- POJ 3270 Cow Sorting(置换环)
- poj3270--Cow Sorting(置换群)
- POJ 3270-Cow Sorting(置换群)
- POJ Cow Sorting 3270【哈希表+置换群】
- 研究生初试录取(课程设计)
- 今天看到CSDN某博客提到的linux在线音乐播放器,移动的咪咕音乐不错,推荐一下
- php扩展 oauth 安装(sudo apt-get)
- 关于球面贴图
- poj 1035 串 枚举 暴力 tmp.insert(i, 1, current[i]); //谁能告诉我这句什么意思?
- Cow Sorting----置换
- 内部类
- jquery 技巧集合
- 濑越宪作简介
- C++ 输入输出流
- hashMap原理分析
- Android JNI_OnLoad()函数
- 关于 tslib-1.4配置Tiny6410触摸屏
- Busybox是什么?