这题预处理稍微动动脑,其实还是个裸的置换群=-=,没什么压力。

 const maxn=;
var n,i,j,minx,tem,now,tmin,len:longint;
cursum,sum:int64;
pos,num,tnum,ys:array[..maxn] of longint;
p:array[..maxn] of boolean;
function min(a,b:longint):longint;
begin
if a>b then exit(b)
else exit(a);
end;
begin
readln(n);
minx:=maxn;
for i:= to n do
begin
read(tnum[i]);
minx:=min(minx,tnum[i]);
end;
readln;
for i:= to n do
begin
read(tem);
num[i]:=tnum[tem];
ys[tem]:=i;
end;
readln;
for i:= to n do
begin
read(tem);
pos[ys[tem]]:=i;
end;
fillchar(p,sizeof(p),true);
for i:= to n do
if p[i] then
begin
cursum:=;
now:=i;
len:=;
tmin:=num[i];
while p[now] do
begin
inc(len);
tmin:=min(tmin,num[now]);
inc(cursum,num[now]);
p[now]:=false;
now:=pos[now];
end;
if len> then inc(sum,cursum);
if len> then inc(sum,min(tmin*(len-),minx*(len+)+tmin));
end;
writeln(sum);
end.

(转载请注明出处:http://www.cnblogs.com/Kalenda/)

最新文章

  1. Thread比Task多出的无法代替的部分
  2. 引入RequireJS(一)
  3. HDOJ2222 Keywords Search-AC自动机
  4. ImageView中XML属性src和background的区别
  5. java读XML文件
  6. php中trait
  7. linux/unix解压缩
  8. .NET Core微服务之基于Ocelot实现API网关服务
  9. JVM学习资料
  10. Linux-监控目录及文件
  11. mongoDB python 操作
  12. java equals和hashcode方法
  13. spark-streaming集成Kafka处理实时数据
  14. python 数据结构之二分查找的递归和普通实现
  15. ubuntu系统的谷歌浏览器的安装
  16. mysql缓存分析流程
  17. Twitter OA prepare: Flipping a bit
  18. [Python 多线程] GIL全局解释器锁 (十三)
  19. vue.js 源代码学习笔记 ----- instance render
  20. js屏蔽/过滤 特殊字符,输入就删除掉,实时删除

热门文章

  1. Groovy轻松入门——通过与Java的比较,迅速掌握Groovy (更新于2008.10.18)
  2. 4种kill某个用户所有进程的方法
  3. poj1005 I Think I Need a Houseboat
  4. 用于MySql的SqlHelper
  5. PHP高级笔记汇总
  6. HTML表单的问题
  7. EasyUI datagrid checkbox数据设定与取值(转自http://blog.csdn.net/baronyang/article/dnetails/9323463,感谢分享,谢谢)
  8. 导出数据库数据制成Excel和txt
  9. Silverlight DataGrid数据行背景颜色控制
  10. wampserver php多版本5.2--5.6和apche2.2/2.4