POJ 3270 Cow Sorting(置换群问题)
来源:互联网 发布:php 2年工作经验招聘 编辑:程序博客网 时间:2024/06/06 08:46
//离散数学中的置换群问题,找循环节个数。两种情况,1:找循环节中最小值,s-Min+(len-1)*Min。2:用数列中的最小值s+Min+(len+1)*MIN。取最小和#include<stdio.h>#include<string.h>#include<algorithm>using namespace std;const int maxm=1e5+10;const int inf=1<<29;int vis[maxm];struct node{ int w,id; bool operator<(const node &s)const { return w<s.w; }}t[maxm];int main(){ int n; while(scanf("%d",&n)!=EOF) { memset(vis,0,sizeof(vis)); int MIN=inf; int sum=0; for(int i=1;i<=n;i++) { scanf("%d",&t[i].w); MIN=min(MIN,t[i].w); t[i].id=i; } sort(t+1,t+n+1); for(int i=1;i<=n;i++) { if(!vis[i]) { int Min=t[i].w,now=t[i].id,len=1,s=t[i].w; while(now!=i) { vis[now]=1; len++; s+=t[now].w; Min=min(Min,t[now].w); now=t[now].id; } sum+=min(s-Min+(len-1)*Min,s+Min+(len+1)*MIN); } } printf("%d\n",sum); } return 0;}
0 0
- 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 Cow Sorting 3270【哈希表+置换群】
- 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 2370】Cow Sorting(置换群)
- A Big Dinner
- 老黄历算命接口实现及代码示例
- JayDeBeApi的使用
- android 常见分辨率(mdpi、hdpi 、xhdpi、xxhdpi )及屏幕适配注意事项
- [JavaScript高级程序设计]JavaScript在HTML中的使用
- POJ 3270 Cow Sorting(置换群问题)
- abap debug watch point
- 改变Android状态栏的颜色
- eclipse添加jar反编译插件
- 关于Mantis
- Delphi xe移动开发资料
- 在使用XAMPP时,运行testlink时的注意问题
- 几种开放源码的TCPIP协议栈概述
- cocos2dx绑定lua并进行代码测试