POJ 2985 线段树+并查集
来源:互联网 发布:天天向上网络歌手 编辑:程序博客网 时间:2024/06/01 08:33
好久没有写过并查集了,没看以前的提交的代码,居然不假思索的将它们默写了下来,还算不错-_-
思路:建立一个线段树。每段记录group的大小在l与r之前的数目。初始时大小为1的组有N个,大小不为1的组均为0个。所以对于每段,若左边界为1,则其数据域为N,否则为0。以后不断合并group的过程中,设两个group的带大小分别为k1,k2。则线段树中包含k1或k2的结点数据域均减1,而包含k1+k2的结点数据域加1。因为合并后,原来大小为k1,k2的组已经不存在,取而代之的是新的大小为k1+k2的组。以后查询第k大的组则比较简单:在线段树上若未到达叶子结点,k若小于或等于右子树的数据域,则从右子树继续查询第k大的组;否则从左子树查询第k-s大的组,其中s为右子树的数据域,因为在右子树中已经有s个组比要查询的组大了,在左子树查询第k-s大的组即为所有组中第k大的组。
另外,此题也可用树状数组+二分+并查集解决。
- POJ 2985 线段树+并查集
- poj 2985 并查集 + 线段树
- poj 2985(并查集+线段树求K大数)
- poj 2985 并查集+线段树 线段树求第k大数 The k-th Largest Group
- poj 2985 The k-th Largest Group(线段树+并查集)
- [poj 1127]Jack Straws[线段相交][并查集]
- POJ 1127 Jack Straws (线段相交+并查集)
- POJ 1127 Jack Straws(线段相交判断+并查集)
- poj 1127 Jack Straws 线段判交+并查集
- POJ 1127 Jack Straws(线段相交判断+并查集)
- pku1456贪心+并查集/线段树
- LA4730,Kingdom 线段树+并查集
- poj1456 并查集or线段树
- uva1455 - Kingdom 线段树+并查集
- 线段树+并查集uva1455Kingdom
- UVA1455 - Kingdom(并查集 + 线段树)
- POJ2985 (线段树+并查集)
- UVALive 4730 线段树+并查集
- 花露之水,蚊虫之敌。
- 查找重复记录
- 星座分析
- [一种声音]怎样练习一万小时
- 智能客户端(SmartClient)
- POJ 2985 线段树+并查集
- (C#)学习笔记1:文件和注册表操作
- 使用nohup让程序在远程主机后台运行
- 汇编与VC (c or c++)之间的嵌套调用
- Vim配置实例
- asp.net 验证正则表达式收藏
- VS2008中开发Silverlight 2.0的配置
- SL400装WIN7后声音键无法使用的解决方法
- 关于在C#WinForm程序同级目录里生成ORAMTSCPXXX.trc文件的问题