[jzoj]3486. 【NOIP2013模拟联考10】道路改建(rebuild)(缩环+Tarjan+拓扑+bitset记录状态)
来源:互联网 发布:股票利润怎么算法 编辑:程序博客网 时间:2024/05/21 17:44
Description
人称不死将军的林登·万,与他的兄弟林登·图两人的足迹踏遍了地球的每一寸土地。他们曾将战火燃遍了世界。即使是lifei888这样的强悍人物也从来没有将他彻底击败。
这一次,林登·万在N个城市做好了暴动的策划。然而,在起事的前一天,将军得知计划已经泄漏,决定更改计划,集中力量掌握一部分城市。
具体来说,有M条单向边连接着这N座城市。对于两座城市A,B,如果它们能够通过单向边直接或间接的互相到达,那么就林登·万可以同时控制A,B两座城市而不至于分散力量,反之则会被lifei888各个击破。
为了扩大成果,将军还组织了人手改建道路。这些人可以在起事前将其中一条有向边改变成双向边(注意只能改建其中一条单向边,另外M-1条单向边保持不变),现在,将军想要知道他通过改建其中一条单向边最多能控制几座城市,以及被改建的这一条单向边有多少种选择方案。
Input
第一行为两个正整数N,M。
接下来M行每行两个范围在1~N内的正整数x,y,表示有一条从x到y的单向边。
输入保证任意两点的任意方向最多只有一条边直接相连。
Output
输出共三行。
第一行一个正整数,将军最多能控制的城市数量。
第二行一个正整数L,表示有L种改建方案使得将军能控制最多的城市。
第三行L个按递增顺序给出的正整数ki,表示改建输入中的第ki条有向边能使将军能控制最多的城市。
Sample Input
输入1:
5 4
1 2
2 3
1 3
4 1
输入2:
3 4
1 2
2 1
1 3
3 1
Sample Output
输出1:
3
1
3
输出2:
3
4
1 2 3 4
Data Constraint
对于30%的数据,N,M<=10;对于60%的数据,N<=1500,M<=100000
对于100%的数据,N<=2000 M<=N*N
Solution
首先吐槽一下这道题的题目描述.
应该是最大的强联通分量
而并非强联通分量的和.
我们考虑用bitset维护状态
设
f1[i] 表示i 能到达的点f2[i] 表示能到达i 的点.每次修改一条边
u,v ,增添边v−>u ,则f1yi &f2xi 即为新增的强联通分量.还要存储一下其余的强联通分量最大值,然后取个
max ,即为当前更新一条边的最大值.需要注意的几个地方:
一、求
f1,f2 要用拓扑二、为了拓扑,需要缩点成一个DAG
三、注意些正版Tarjan,我现在才发现以前写的Tarjan都是错的!!!!!每次能找到强联通分量,但却并不是最大的.
用set可以参考Cold_chair大爷的博客.
感谢lin大爷赐教.
- [jzoj]3486. 【NOIP2013模拟联考10】道路改建(rebuild)(缩环+Tarjan+拓扑+bitset记录状态)
- 3486. 【NOIP2013模拟联考10】道路改建(rebuild)(2017.12A组)(tarjan缩环+拓补排序+DP+bitset)
- [jzoj]3499. 【NOIP2013模拟联考15】人类基因组(genes) (单调队列、前缀和、线段树解一题)
- [jzoj]3498. 【NOIP2013模拟联考14】图形变换(transform) (计算几何+矩阵乘法)
- [jzoj]3468. 【NOIP2013模拟联考7】OSU!(osu) (期望DP)
- [jzoj]3472. 【NOIP2013模拟联考8】匹配(match)(AC自动机+DP)
- [jzoj]3480. 【NOIP2013模拟联考9】阿Q的停车场(park)(线段树+堆)
- JZOJ 3498【NOIP2013模拟联考14】图形变换
- JZOJ 3447【NOIP2013模拟联考2】摘取作物
- jzoj. 3450. 【NOIP2013模拟联考3】山峰(summits)
- JZOJ 3468. 【NOIP2013模拟联考7】OSU!(osu)
- [jzoj]3479. 【NOIP2013模拟联考9】工作安排(work)
- 【JZOJ 3492】【NOIP2013模拟联考12】数数(count)
- jzoj[3521]. 【NOIP2013模拟11.7B组】道路覆盖(cover) (状压DP)
- jzoj. 3521. 【NOIP2013模拟11.7B组】道路覆盖(cover)
- 【NOIP2013模拟联考10】独立集(bubble)
- JZOJsenior3484.【NOIP2013模拟联考10】密码(substring)
- [jzoj]3457. 【NOIP2013模拟联考3】沙耶的玩偶(doll)(匈牙利-二分图最大匹配)
- 集成高德地图记录
- 悟透JavaScript(理解JS面向对象的好文章)
- miniLinux的制作(图文)
- iOS APP技术服务支持
- JAVA JDBC连接SQL Server数据库进阶(二)---批处理
- [jzoj]3486. 【NOIP2013模拟联考10】道路改建(rebuild)(缩环+Tarjan+拓扑+bitset记录状态)
- 建立商城商品关联属性表实现单商品多规格功能
- 贴图设置注意事项
- TCP状态转移
- 粒子滤波
- 我所理解的JVM
- CSS3
- iOS 控件宽高字体大小适配方法
- 蓝桥杯 算法训练 5-1最小公倍数