UVa 11134 - Fabled Rooks 优先队列,贪心 难度: 0

本文解析了一个类似于N皇后问题的N车问题,即在n*n的棋盘上放置n个车,使得每行每列只有一个车,且每个车位于特定的矩形区域内。文章介绍了将问题转化为在多个线段中选择不重复点的贪心策略,并分享了实现代码。

题目

https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=2075


题意

n皇后类似的n(n<=5000)车,每个车所在的行列上不能有其它车,n*n棋盘放n个车。

现在约束第i个车只能放在[xli, xri], [yli, yri]这样的一个矩形中。

求放的方式。

 

思路

明显,行列等价且可以分开考虑。题目转化为有n线段,在每个线段内取一点,n点不相同。

由于n比较大,所以一定存在某种贪心方法。

从左向右看,则n条线段相当于n个任务,左边起点为最早时间,右边终点为最晚时间。

那么对于第i分钟,应该优先解决已经开始但没有解决的,终点最接近的任务。

 

感想:

一开始想的十分复杂,忘了这个问题是在一定区间内

 

代码

转载于:https://www.cnblogs.com/xuesu/p/10479138.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值