P3482 [POI2009]SLO-Elephants
传送门
首先,交换关系肯定是构成一个环的时候最优
如果这个环是自环,不用交换了
如果环的大小为2,直接交换便是
否则的话,我们可以用环里最小的点最为交换媒介,然后去和其他交换直到到达正确的位置,那么环里最小的点交换了\(n-1\)次其他各一次
然而还有一种情况是交换媒介是环外的点,把它换进环里然后其他都换到正确的位置再把剩下那个换回来,那么换出去的那个肯定是环里权值最小的点,也就是说环里权值最小的点换了2次,全局权值最小的点交换了n+1次,其他的各交换一次
//minamoto
#include<bits/stdc++.h>
#define ll long long
#define inf 0x3f3f3f3f
#define fp(i,a,b) for(register int i=a,I=b+1;i<I;++i)
#define fd(i,a,b) for(register int i=a,I=b-1;i>I;--i)
#define go(u) for(register int i=head[u],v=e[i].v;i;i=e[i].nx,v=e[i].v)
using namespace std;
char buf[1<<21],*p1=buf,*p2=buf;
inline char getc(){return p1==p2&&(p2=(p1=buf)+fread(buf,1,1<<21,stdin),p1==p2)?EOF:*p1++;}
int read(){int res,f=1;char ch;while((ch=getc())>'9'||ch<'0')(ch=='-')&&(f=-1);for(res=ch-'0';(ch=getc())>='0'&&ch<='9';res=res*10+ch-'0');return res*f;
}
const int N=1e6+5;
struct eg{int v,nx,w;}e[N<<1];int head[N],tot;
inline void add(int u,int v,int w){e[++tot]={v,head[u],w},head[u]=tot;}
int n,a[N],pos[N],tim,mn=inf,x;bool vis[N];vector<int>st[N];
void dfs(int u){vis[u]=1;go(u)if(v!=u){st[tim].push_back(e[i].w);if(!vis[v])dfs(v);}
}
ll ANS(){ll ans=0;int tmp,tmpmn;fp(i,1,tim){tmp=0,tmpmn=inf;fp(j,0,st[i].size()-1)ans+=st[i][j],tmpmn=min(tmpmn,st[i][j]);if(st[i].size()>2){int ex=st[i].size()-2;ans+=min(1ll*ex*tmpmn,1ll*(ex+3)*mn+tmpmn);}}return ans;
}
int main(){
// freopen("testdata.in","r",stdin);n=read();fp(i,1,n)a[i]=read(),mn=min(mn,a[i]);fp(i,1,n)x=read(),pos[x]=i;fp(i,1,n)x=read(),add(pos[x],i,a[x]);fp(i,1,n)if(!vis[i])++tim,dfs(i);printf("%lld\n",ANS());return 0;
}
转载于:https://www.cnblogs.com/bztMinamoto/p/10053971.html
P3482 [POI2009]SLO-Elephants相关推荐
- [POI2009]SLO
Description 对于一个1-N的排列(ai),每次你可以交换两个数ax与ay(x<>y),代价为W(ax)+W(ay) 若干次交换的代价为每次交换的代价之和.请问将(ai)变为(b ...
- 005_系统运维之SLA与SLO的关系
服务水平协议(简称:SLA,全称:service level agreement)是在一定开销下为保障服务的性能和可靠性,服务提供商与用户间定义的一种双方认可的协定.通常这个开销是驱动提供服务质量的主 ...
- 使用Prometheus和Grafana实现SLO
在线服务的目标应该是提供与业务需求匹配的可用服务.此流程的关键部分应该涉及组织中的不同团队,例如,从业务开发团队到工程团队. 要验证一个服务如何符合这些目标,可以用这些目标可衡量的"成就&q ...
- 在大规模 Kubernetes 集群上实现高 SLO 的方法
作者 | 蚂蚁金服技术专家 姚菁华:蚂蚁金服高级开发工程师 范康 导读:随着 Kubernetes 集群规模和复杂性的增加,集群越来越难以保证高效率.低延迟的交付 pod.本文将分享蚂蚁金服在设计 S ...
- 03 | SRE切入点:选择SLI,设定SLO
还是先来复习下上节课讲的"系统可用性"的两种计算方式,一种是从故障角度出发,以时长维度对系统进行稳定性评估:另一种是从成功请求占比角度出发,以请求维度对系统进行稳定性评估.同时,我 ...
- 001_深度剖析什么是 SLI、SLO和SLA?
前言 SLO和SLA是大家常见的两个名词:服务等级目标和服务等级协议. 云计算时代,各大云服务提供商都发布有自己服务的SLA条款,比如Amazon的EC2和S3服务都有相应的SLA条款.这些大公司的S ...
- 深度剖析什么是 SLI、SLO和SLA?
前言 SLO和SLA是大家常见的两个名词:服务等级目标和服务等级协议. 云计算时代,各大云服务提供商都发布有自己服务的SLA条款,比如Amazon的EC2和S3服务都有相应的SLA条款.这些大公司的S ...
- bzoj 1115: [POI2009]石子游戏Kam(博弈)
1115: [POI2009]石子游戏Kam Time Limit: 10 Sec Memory Limit: 162 MB Submit: 1132 Solved: 692 [Submit][S ...
- bzoj 1133: [POI2009]Kon(DP)
1133: [POI2009]Kon Time Limit: 10 Sec Memory Limit: 162 MB Submit: 457 Solved: 166 [Submit][Status ...
最新文章
- 主流浏览器js 引擎内核市场份额attialx总结vOa9
- 嵌入式linux启动过程分析,嵌入式Linux裸机开发(二)——S5PV210启动过程分析
- linux如何去掉目录背景颜色
- MPLSMTU对MPLS网络质量的影响
- shiro表单认证(系统默认的form认证器)
- Android多开和虚拟化--Docker概念的详细介绍
- A Full Hardware Guide to Deep Learning
- Java AOP研究之@Aspect注解的工作原理
- python爬虫ip限制_简单爬虫,突破IP访问限制和复杂验证码,小总结
- 00后确实卷,公司新来的卷王,我们这帮老油条真干不过.....
- 收藏收藏:工作用了很久的自主开发的Sql Server代码生成器,我开源了(.NET Winform)
- 18100出多少取整_关于JavaScript数据类型,你知道多少?
- zoj 2112 树状数组 套主席树 动态求区间 第k个数
- python a or b 输出值为_深入分析python的and or 返回值
- python调试教程_python进阶教程之==、is和调试
- Web调取摄像头拍照
- IP地址的ABC类划分
- python检测excel表是否存在空值
- 入侵大型网站的完整思路
- 知识图谱的架构及关键技术概述