题解 CF1027D 【Mouse Hunt】
这道题原本写了一个很复杂的DFS,然后陷入绝望的调试。
看了一下题解发现自己完全想复杂了。
这里大概就是补充一些题解没有详细解释的代码吧。。。
(小声BB)现在最优解rank4(话说$O2$负优化什么鬼啊)
1 read(n); 2 for(register int i=1;i<=n;++i)read(c[i]); 3 for(register int i=1;i<=n;++i){ 4 read(a[i]); 5 if(a[i]==i){ 6 vis[i]=1; 7 ans+=c[i]; 8 } 9 } 10 for(register int i=1;i<=n;++i){ 11 if(vis[i])continue; 12 for(register int j=i;;j=a[j]){ 13 if(vis[j]){ 14 if(vis[j]==i+1)ans+=find(j); 15 break; 16 } 17 vis[j]=i+1; 18 } 19 } 20 write(ans);
程序主题内容如下。
前面是读入数据没有什么好讲的。
在读入a的时候先判断一下有没有自环,有的话就不用看了直接加上。
然后我们对每一个点都瞎搞搞(其实就是一个DFS)。
我们从这个点开始一直向下跳。如果遇到已经走过的点就说明有环出现了,这个时候根据vis的值决定是不是这一轮跳出的环(由于可能是之前的)。
然后我们在这个环上跑一下求最小值。(为什么只在环上不在链上前面题解讲得很清楚了)
如果不是已经走过的点,那我们还在链上,继续往下跳吧。
find函数如下:
1 inline int find(int s){ 2 int res=c[s]; 3 for(register int i=a[s];;i=a[i]){ 4 if(i==s)return res; 5 else res=min(res,c[i]); 6 } 7 }
转载于:https://www.cnblogs.com/ilverene/p/9846272.html
题解 CF1027D 【Mouse Hunt】相关推荐
- CF1027D Mouse Hunt(topo总结)
题意:有n个房间和若干只老鼠(该题可直接当做一只处理),给定n值,以及每个房间来老鼠后下一个会去的房间号,还给了每个房间布置陷阱所需花的成本,求能让老鼠最终落网的布置陷阱的最小成本 本题需要用的数据结 ...
- cf Educational Codeforces Round 49 D. Mouse Hunt
原题: Medicine faculty of Berland State University has just finished their admission campaign. As usua ...
- 2.25-3.2 周记
2.25-3.2 1. 计算几何 1.1 二维几何基础 struct Point{double x,y;Point(double x = 0, double y = 0):x(x),y(y){} } ...
- 安卓开发 高德地图定位的封装 十分钟上手
前言 地图作为开发中三方sdk中较常遇到的一项,集成起来并不麻烦但是不小心踩坑可能会浪费较多时间,如果项目中多处使用还容易造成代码大量冗余,今天我们来将高德地图定位功能集成一个功能化模块,只需两分钟应 ...
- 吴恩达机器学习作业8(下)--- 推荐系统
文章目录 代码分析 数据集 代码分析 导入数据 datafile = 'data/ex8_movies.mat' mat = scipy.io.loadmat( datafile ) Y = mat[ ...
- movie_recommendation_spark1
mllib建立推荐模型 数据准备 数据包含在ml-100k的文件夹中,文件夹中比较重要的几个文件是u.user(用户属性数据集).u.item(电影元数据)和u.data(用户对电影的评分数据) (1 ...
- 斯坦福机器学习Coursera课程:第八次作业--推荐系统
根据已有的1682部电影和943用户及部分用户对电影的评分数据,对新用户作电影推荐或预测未评价的评分. 一. 准备工作 1. 加载ex8_movies.mat数据 Y (1682*943) 用户评份数 ...
- 电影则选择以下几种类型的题材
电影则选择以下几种类型的题材: 1.励志类电影:励志是少年成长时的积累和渴望,正因为有了渴望才拥有了腾飞的梦想,正因为有了积累才拥有了收获的喜悦.有时候一部经典影片,赋予你的却是无限的正能量.在这里没 ...
- java猫和老鼠_【进化史】猫和老鼠游戏进化史 Tom and Jerry Games 1989 - 2020
https://youtu.be/7grgYL-Rp7M History Of Tom and Jerry Games 1989 to 2020 作者:M Pro Channel 1. Tom and ...
最新文章
- 算法设计思想(1)— 穷举法
- 接入新浪、腾讯微博和人人网的Android客户端实例 接入新浪、腾讯微博和人人网的Android客户端实例...
- ASP.NET 的数据绑定,DataList,Repeater 的绑定示例
- linux 修改默认脚本,linux环境初始脚本
- 5G毫米波三大自然缺陷
- 如何“反编译” Java类文件? [关闭]
- c语言界面飞机图形代码,求个用最简单的的代码来实现图形界面…
- C++/ python 计算硬币正面朝上的概率
- 生成VOC2012数据集
- 处理器架构 (十三) ARMv6架构下 各微架构的不同
- echarts横向柱状图
- 计算机网卡的安装过程,千兆网卡怎么装_千兆网卡安装步骤
- 设置selected选中的多种方法(总结)
- sis新地址_坚若磐石不掉速,老平台升级新选择,入手昱联Asint 500G SSD
- 【Hexo搭建个人博客】(八)添加背景效果(点击鼠标显示红心并浮现社会主义核心价值观)
- 基于pyagme用python做接小球游戏
- 仙境传说 第一章之四 卢渊*梦魇过后的情缘
- python--打字练习的成绩判定
- 淘宝旺旺智能回复软件 旺旺智能客服 旺旺聊天机器人
- BUUCTF:很好的色彩呃?
热门文章
- 伪元素写竖线_欧洲杯 | 让我们做个时髦伪球迷
- 《图像分析基础》的专有名词解析
- 学python lesson4
- android 缓冲区,android – 超过最小排队缓冲区数
- linux内核中union,Linux上的Union mount
- 学python前端需要哪些基础知识_简析前端学习python3的基础
- image加载图片 ui unity_【Unity游戏客户端框架搭建】四、资源管理之理论篇
- 大数据营销案例沃尔玛_实现大数据营销的方式有哪些
- node 获取表单数据 为空_寻offer之JS数据结构与算法 -- 栈
- win10 安装 cognos 10.2.0