题目链接

http://codeforces.com/problemset/problem/1027/D

这道题目的入手点就是图的特点。图的输入形式是 第 i 个点的后继是a[ i ],且只有一个,a[ i ]的范围是从1到n。所以图中一定存在环,并且环和环之间不可能公用一条边(如果共用一条边,那么某个点会有两个后继)。

因此这道题目就是用dfs找环,然后通过回溯求出环上定点的权值最小值。

#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<iostream>
#include<algorithm>
#include<string>
#include<vector>
#define DEBUG(x) cout<<#x<<" = "<<x<<endl
using namespace std;
const int MAXN=2e5+10;
int N;
vector<int>G[MAXN];
int cost[MAXN];
int vis[MAXN];
int cv=-1;
int mc;
int csum=0;
void dfs(int u)
{if(vis[u]==1){cv=u;mc=cost[u];return;}vis[u]=1;for(int i=0;i<G[u].size() ;i++ ){int v=G[u][i];dfs(v);}if(cv!=-1){if(cv==u){csum+=mc;cv=-1;}else mc=min(mc,cost[u]);}
}
int main()
{
//    freopen("in.txt","r",stdin);scanf("%d",&N);for(int i=1;i<=N ;i++ ){scanf("%d",&cost[i]);}for(int i=1;i<=N ;i++ ){int e;scanf("%d",&e);G[i].push_back(e);}for(int u=1;u<=N ;u++ ){if(vis[u]==0){dfs(u);cv=-1;}}printf("%d\n",csum);
}

转载于:https://www.cnblogs.com/MalcolmMeng/p/9528045.html

codeforces1027D相关推荐

最新文章

  1. LeetCode简单题之连续字符
  2. GHOST还原教程详细
  3. Essential Studio for mobile MVC中2种添加移动图表到MVC3 ASPX应用程序中的方法
  4. TiDB 源码阅读系列文章(六)Select 语句概览
  5. 张亚勤:未来10年AI+生物制药大有可为,我们正开展破壁计划 | MEET2022
  6. 重载,重写及数组练习
  7. 我想用keil5生成BIN文件,可是安装目录下找不到fromelf.exe
  8. ASP.NET Core Identity自定义数据库结构和完全使用Dapper而非EntityFramework Core
  9. 软件工程模块开发卷宗_软件智能化再进一步,未来人人都能开发软件?
  10. h.264 视频解码的一点小经验(ffmpeg)
  11. 如何在 ASP.NET Core 中写出更干净的 Controller
  12. Jade之Extends
  13. 由c语言转向c++,我们需要做什么?
  14. mysql 查询分析器_MYSQL查询分析器工具
  15. windows 屏幕保护色设置
  16. bootstrap datepicker 在bootstrap modal中不显示问题
  17. element-ui组件的下载与安装
  18. 宏观经济学-大题资源整理
  19. 【博学谷学习记录】超强总结,用心分享 | shell基础
  20. 关于That command depends on command in Target ... script phase Copy Pods Resources报错解决方案

热门文章

  1. 视频培训网站发布问题
  2. 利用 MySQL bin-log 恢复数据表
  3. 有线路由器与无线路由器混合使用
  4. gearman python 实例
  5. 被七牛云OSS对象存储测试域名回收后正确数据迁移姿势!
  6. ASP.NET杂谈-一切都从web.config说起(2)(ConfigSections详解-中)
  7. 简单使用XPOSED实现一机多号
  8. DevOps - Spring Boot自动部署到WebLogic
  9. php扩展mongodb模块安装
  10. Android NDK开发之旅14 JNI 缓存策略