题目大意:求一颗基环树的最小点覆盖。

题解:其实是一道比较板子的树形dp,dp[i][0/1]表示取或者不取i点的最小点。但是首先我们要把基环树断开,然后分别考虑a被覆盖和b被覆盖的情况。

dp[i][0]=∑min(dp[j][0],dp[j][1])

d p [ i ] [ 1 ] = ∑ d p [ j ] [ 0 ]

AC_code:

  1. 1 int dp[maxn][3];
  2. 2 int a,b,flag;
  3. 3 vector<int>g[maxn];
  4. 4 void dfs(int x,int fa){
  5. 5 dp[x][0]=dp[x][1]=0;
  6. 6 for(int i=0;i<g[x].size();i++){
  7. 7 int v=g[x][i];
  8. 8 if(fa==v) continue;
  9. 9 dfs(v,x);
  10. 10 dp[x][0]+=min(dp[v][0],dp[v][1]);
  11. 11 dp[x][1]+=dp[v][0];
  12. 12 }
  13. 13 dp[x][0]++;
  14. 14 if(x==b&&flag==2) dp[x][1]=dp[x][0];
  15. 15 }
  16. 16 void run(){
  17. 17 int n=rd(),m=rd();
  18. 18 rep(i,1,n+m){
  19. 19 int x=rd(),y=rd();
  20. 20 if(!flag&&x<n&&y<n){
  21. 21 a=x,b=y;
  22. 22 flag=1;
  23. 23 continue;
  24. 24 }
  25. 25 g[x].push_back(y);
  26. 26 g[y].push_back(x);
  27. 27 }
  28. 28 int ans=inf;
  29. 29 flag=1;
  30. 30 dfs(a,-1);
  31. 31 ans=min(dp[a][0],ans);
  32. 32 flag=2;
  33. 33 dfs(a,-1);
  34. 34 ans=min(ans,min(dp[a][0],dp[a][1]));
  35. 35 printf("%d\n",ans);
  36. 36 }

Cable Protection的更多相关文章

  1. POJ 1966 Cable TV Network

    Cable TV Network Time Limit: 1000MS   Memory Limit: 30000K Total Submissions: 4702   Accepted: 2173 ...

  2. ASP.NET Core 数据保护(Data Protection 集群场景)【下】

    前言 接[中篇],在有一些场景下,我们需要对 ASP.NET Core 的加密方法进行扩展,来适应我们的需求,这个时候就需要使用到了一些 Core 提供的高级的功能. 本文还列举了在集群场景下,有时候 ...

  3. ASP.NET Core 数据保护(Data Protection)【中】

    前言 上篇主要是对 ASP.NET Core 的 Data Protection 做了一个简单的介绍,本篇主要是介绍一下API及使用方法. API 接口 ASP.NET Core Data Prote ...

  4. ASP.NET Core 数据保护(Data Protection)【上】

    前言 上一篇博客记录了如何在 Kestrel 中使用 HTTPS(SSL), 也是我们目前项目中实际使用到的. 数据安全往往是开发人员很容易忽略的一个部分,包括我自己.近两年业内也出现了很多因为安全问 ...

  5. MacOS changed System Integrity Protection status

    禁止 System Integrity Protection 按住 command + R 重启系统 进入单用户模式 启动bash工具: 输入: csrutil disable 输入:reboot 启 ...

  6. "System Protection" is disabled in Win10 default settings

    We could find some important clue in Restore Point because "System Protection" of volume C ...

  7. 挖掘机力矩限制器/挖掘机称重系统/挖泥机称重/Excavators load protection/Load moment indicator

    挖掘机力矩限制器是臂架型起重机机械的安全保护装置,本产品采用32位高性能微处理器为硬件平台 ,软件算法采用国内最先进的液压取力算法,该算法吸收多年的现场经验,不断改进完善而成.本产品符合<GB1 ...

  8. Process Kill Technology && Process Protection Against In Linux

    目录 . 引言 . Kill Process By Kill Command && SIGNAL . Kill Process By Resource Limits . Kill Pr ...

  9. POJ 1064 Cable master (二分)

    题目链接: 传送门 Cable master Time Limit: 1000MS     Memory Limit: 65536K 题目描述 有N条绳子,它们长度分别为Li.如果从它们中切割出K条长 ...

随机推荐

  1. ARM汇编--汇编中符号和变量

    习惯了使用C语言的情况下我发现自己对与汇编程序的符号和变量的理解很不深刻,今天抽空来学学加深理解.以ARM汇编来说,在汇编代码中所有以"."开头的指令都是汇编伪指令,他们不属于AR ...

  2. CS144学习(2)TCP协议实现

    Lab1-4 分别是完成一个流重组器,TCP接收端,TCP发送端,TCP连接四个部分,将四个部分组合在一起就是一个完整的TCP端了.之后经过包装就可以进行TCP的接收和发送了. 代码全部在github ...

  3. Matthew Effect

    Matthew Effect 马太效应 / 马修效应 马太效应(Matthew Effect),是指好的愈好,坏的愈坏,多的愈多,少的愈少的一种现象, 即两极分化现象. 来自于圣经<新约•马太福 ...

  4. TypeScript tuple 元组

    TypeScript tuple 元组 元组类型允许您用固定数量的元素表示数组,这些元素的类型是已知的,但不必相同. "use strict"; /** * * @author x ...

  5. Kotlin & Android & Swift & Flutter & React Native

    Kotlin & Android https://www.runoob.com/kotlin/kotlin-tutorial.html Swift 5 & iOS 12 https:/ ...

  6. Github Trending All In One

    Github Trending All In One github trending https://github.com/trending https://github.com/trending/j ...

  7. linux bash which

    linux bash which https://linuxize.com/post/linux-which-command/ Linux which command is used to ident ...

  8. WebAssembly JavaScript APIs

    WebAssembly JavaScript APIs https://developer.mozilla.org/en-US/docs/WebAssembly/Using_the_JavaScrip ...

  9. 冷饭新炒:理解JWT的实现原理和基本使用

    前提 这是<冷饭新炒>系列的第五篇文章. 本文会翻炒一个用以产生访问令牌的开源标准JWT,介绍JWT的规范.底层实现原理.基本使用和应用场景. JWT规范 很可惜维基百科上没有搜索到JWT ...

  10. 不使用的大对象为什么要手动设置null,真的有效吗?

    本文转载自不使用的大对象为什么要手动设置null,真的有效吗? 导语 在我们开发过程中,对于大的对象使用过后,为了help gc ,我们会手动将大对象置为null,背后的原理是什么,是不是最佳的实践. ...