jzoj P1029【NOIP动态规划专题】电子眼
2017-04-02 16:42
204 查看
题目大意:
中山市有N条马路和N个路口,给出ki,ki表示有ki条马路与路口i相连,后面紧跟着ki个数字,表示与路口i直接相连的路口,作为一条交通网络,显然每两个路口之间都是可达的。市长决定在一些路口加装电子眼,用来随时监视路面情况。这些装在路口的电子眼能够监视所有连接到这个路口的马路。现在市长想知道最少需要在多少个路口安装电子眼才能监视所有的马路。市长已经把所有的路口都编上了1~N的号码。 给你中山市的地图,你能帮忙吗?
0<=N<=100000
题解:
f[i,0}表示第i个路口不安装电子眼的最小安装数量。
f[i,1]表示第i个路口安装电子眼的最小安装数量。
因为每两个路口之间都是可达的,所以从任意一个路口开始递归都可以。
f[i,0]=∑f[j,1] j为i直通的路口
f[i,0]=∑min(f[j,0],f[j,1]) j为i直通的路口
中山市有N条马路和N个路口,给出ki,ki表示有ki条马路与路口i相连,后面紧跟着ki个数字,表示与路口i直接相连的路口,作为一条交通网络,显然每两个路口之间都是可达的。市长决定在一些路口加装电子眼,用来随时监视路面情况。这些装在路口的电子眼能够监视所有连接到这个路口的马路。现在市长想知道最少需要在多少个路口安装电子眼才能监视所有的马路。市长已经把所有的路口都编上了1~N的号码。 给你中山市的地图,你能帮忙吗?
0<=N<=100000
题解:
f[i,0}表示第i个路口不安装电子眼的最小安装数量。
f[i,1]表示第i个路口安装电子眼的最小安装数量。
因为每两个路口之间都是可达的,所以从任意一个路口开始递归都可以。
f[i,0]=∑f[j,1] j为i直通的路口
f[i,0]=∑min(f[j,0],f[j,1]) j为i直通的路口
var a:array [0..2 4000 00001] of longint; p,q:array [0..100001] of longint; c:array [0..100001] of boolean; f:array[0..100000,0..1] of longint; n,i,j,s:longint; function min(a,b:longint):longint; begin if b>a then exit(a); exit(b); end; procedure dg(dep:longint); var i,x,y:longint; begin x:=1; y:=0; for i:=p[dep] to q[dep] do begin if c[a[i]]=false then begin c[a[i]]:=true; dg(a[i]); x:=x+min(f[a[i],0],f[a[i],1]); end; y:=y+f[a[i],1]; end; f[dep,1]:=x; f[dep,0]:=y; end; begin readln(n); for i:=1 to n do begin read(s); p[i]:=q[i-1]+1; q[i]:=q[i-1]+s; for j:=p[i] to q[i] do read(a[j]); readln; end; c[1]:=true; dg(1); writeln(min(f[1,0],f[1,1])); end.
相关文章推荐
- JZOJ 4.1 C组 【NOIP动态规划专题】电子眼
- JZOJ 3418. 【NOIP动态规划专题】选课
- 【jzoj3418】【NOIP动态规划专题】【选课】【树型依赖动态规划】
- 2.24 --- 2.25 动态规划专题小测 及 NOIP 2008 模拟 总结
- JZOJsenior1168.【NOIP动态规划专题】合唱队形
- JZOJ8.11(C组)【NOIP动态规划专题】采药2 (Standard IO)
- 2540. 【NOIP动态规划专题】采药2 (Standard IO)
- 【NOIP动态规划专题】采药2
- NOIP专题复习——专题二:动态规划基础
- 高中OJ1771. 【NOIP动态规划专题】烽火传递
- 【NOIP动态规划专题】采药2 (Standard IO)
- JZOJ3418. 【NOIP动态规划专题】选课(2017.8DP&贪心专题)
- 【NOIP动态规划专题】最大利润
- 动态规划专题
- 动态规划专题:beginner
- [NOIP 2010] 乌龟棋:动态规划
- 动态规划专题:POJ 动态规划题目列表
- 南阳理工学院动态规划专题 括号问题2 总结
- 2014 UESTC暑前集训动态规划专题解题报告
- 【动态规划】树形动态规划专题