POJ 2796 Feel Good(并查集)
来源:互联网 发布:spss软件中文版 编辑:程序博客网 时间:2024/06/07 06:48
题目链接:点击打开链接 思路:该题转化一下, 就是枚举每一个数, 找到以这个数为最小值的最大区间(因为没有负数)。 那么一个办法是预处理出每一个数左边第一个比他大的数的位置, 和右边第一个比他大的数的位置, 这个可以用构造单调栈的线性算法处理出来: 我们构造一个单调上升栈, 标记栈里每个元素在实际中的位置, 加入一个元素a[i]的时候, 如果栈顶元素大于他, 那么将栈顶元素出队列, i就是这个元素右边大于他的第一个元素。 直到栈顶元素<=a[i],这时,栈顶元素就是a[i]左边第一个>=他的, 把a[i]入队列。 复杂度O(n) 还有一个思维复杂度低的方法, 我们从大到小访问每一个元素, 如果他左边或者右边的元素>=他, 他们将他们合并, 这样, 符合条件的集合就是一个连续区间。 并且, 先访问的一定>=后访问的, 每次更新答案即可。
0 0
- POJ 2796 Feel Good 并查集
- POJ 2796 Feel Good(并查集)
- POJ 2796 Feel Good(并查集)
- poj 2796 Feel Good
- POJ 2796 Feel Good
- POJ 2796 Feel Good
- poj 2796 Feel Good
- poj 2796 feel good
- POJ-2796-Feel Good
- POJ 2796Feel Good
- poj 2796 Feel Good
- POJ 2796 Feel Good
- poj 2796 Feel Good
- Poj-2796 Feel Good
- POJ 2796 Feel Good
- poj 2796 Feel Good
- poj 2796Feel Good
- POJ 2796 Feel Good
- centos JAVA环境变量设置(全局永久)
- study
- 泛型练习(创建泛型类操作Map集合里的对象)
- 机器学习目录总纲
- javaScript回顾--闭包
- POJ 2796 Feel Good(并查集)
- printf 的宏定义版本
- 温习HTML(三)
- cxLookupCombobox实现两列模糊查询
- 如何实现Spring Cloud微服务挂掉之后自动重启
- Java sdut acm 2714 下沉的船(字符串、链表)
- 多项式计算
- Unix环境高级编程读书笔记(1)
- [译] 通过 Node.js, Express.js 实现 HTTP/2 Server Push