Uva11134 Fabled Rooks(贪心,优先级队列)

o型圈沟槽设计_O型密封圈——详细选型过程及步骤 一、密封圈常用材料二、密封圈常用密封形式密封圈分为活塞密封,活塞杆密封,端面密封,旋转密封。三、O型密封圈的选型规则O型密封圈的尺寸图径向安装O型圈选型(静态和动态运动)活塞杆密封选择适当规格的O形圈时,应该保证其外径(d1+2*d2)至少等于或者大于沟槽外径d6;当选择的O形圈直径d1大于250 mm时, O形圈外径将不能超过沟槽外径的3%;当选择的O形圈直径d1小于250mm时, O形圈外径将... 阅读详情

题目链接:Fabled Rooks

      终于给我过了,这道题目拿到手就相当然的以为是八皇后问题=_=。然后深搜上去,果断超时了。确实,5000的数据规模,深搜的时间复杂度最大O(n3),确实欠考虑。

      解题关键:

      贪心,注意到x和y的坐标是相互独立的,可以为每个点先分配x点坐标,再分配y点坐标。对于每个点的x(y)坐标,按照L的大小来从小到大排序,L相等的,比较R的大                   小。优先级队列里这样维护每个点的x坐标。还要维护一个maxx来表示已经分配到哪个位置。

      每次从优先级队列中取最小的节点temp:

      若 temp.r<maxx,没法分配,返回false;

      若 temp.l<maxx , temp.l=maxx,temp放回队列,重新选取最小的节点;

      

import java.io.*;
import java.util.*;

class Rook implements Comparable<Rook>{
	int l,r,order;	
	public Rook(int l,int r,int order)
	{
		this.l=l;
		this.r=r;
		this.order=order;
	}
	public int compareTo(Rook o)
	{
		if(this.l!=o.l)
		return this.l>o.l?1:-1;
		return this.r>o.r?1:-1;
		
	}
}
public class Main{

	static Rook[] areax=null;
	static Rook[] areay=null;
	static int[][] ans=null;
	static int max(int a,int b)
	{
		return a>=b?a:b;
	}	
	static boolean check(Rook[] areai,int pos)
	{
		PriorityQueue<Rook> prique=new PriorityQueue<Rook>();
		for(int i=0;i<areai.length;i++)
			prique.add(areai[i]);
		int maxx=0;
		while(!prique.isEmpty())
		{
			Rook temp=prique.poll();
			if(temp.r<maxx) return false;
			if(temp.l<maxx)
			{
			   temp.l=maxx;
			   prique.add(temp);
			   continue;
			}
			int cur=max(temp.l,maxx);
			ans[temp.order][pos]=cur;
			maxx=cur+1;
		}
		return true;
	}
	public static void main(String[] args)
	{
		Scanner in=new Scanner(System.in);
		int n;
		while(in.hasNext())
		{
			n=in.nextInt();
			if(n==0) break;
			areax=new Rook[n];
			areay=new Rook[n];
			ans=new int[n][2];
			for(int i=0;i<n;i++)
			{
				int xl=in.nextInt();
				int yl=in.nextInt();
				int xr=in.nextInt();
				int yr=in.nextInt();
				areax[i]=new Rook(xl,xr,i);
				areay[i]=new Rook(yl,yr,i);	
			}
			if(check(areax,0)&&check(areay,1))
			{
				for(int i=0;i<n;i++)
				System.out.println(ans[i][0]+" "+ans[i][1]);
			}
			else
				System.out.println("IMPOSSIBLE");
		}			
	}
}

Modelsim:LPDDR5仿真(含美光仿真模型官方sv&vcs代码) 虽然,三星在设计跟量产上,早于其他家存储产商,但是镁光后来居上了,是业界首家支持全速 LPDDR5 的供应商,并且开发者在做开发的时候,也是用美光颗粒比较多,所以这里就先以美光的仿真模型为主进行仿真。 本工程为美光官方工程,支持Modelsim、VCS、ncverilog三种仿真器仿真。模型破解过,为完整system-verilog代码。 阅读详情

相关推荐

GCdepth散点图绘制

基因组组装完成后,需要对组装结果进行评估,其中GC_depth图是一个比较重要的指标,改图的横坐标是GC含量,纵坐标是平均深度。以30k为窗口(window)无overlap计算其GC含量和平均深度。如果存在样品污染,通常能够从GC含量分析中呈现出来。下文探索了几种绘制GC_depth散点图的方法思路。

huangliangbo的专栏 8993

Uva11134 Fabled Rooks【问题分解+贪心】【例题8-4】

将没有关系的分解成单个的求解,二维化为俩个一维求解。贪心,枚举所有解最小边界优先!

GuoZLH的博客 569

独立游戏开发者必看:STEAM税务信息更新全流程(附中国区避坑指南)

本文为独立游戏开发者详细解析了Steam税务信息更新的全流程,重点针对中国区开发者提供了避坑指南。文章深入解释了W-8BEN表格的填写要点,并指导如何准备个人所得税纳税记录和身份证等核心证明文件,以确保顺利通过审核,避免收入被预扣税款。

tcp8optimizer的博客 1287

题解_UVA_11134_Fabled Rooks

题解_UVA_11134_Fabled Rooks 1.题意: We would like to place n rooks, 1 ≤ n ≤ 5000, on a n × n board subject to the following restrictions • The i-th rook can only be placed within the rectangle given by its left-upper corner (xl,ylxl , ylxl,yl) and its rightlow

RedForest!!! 234

告别手动拖拽!PyQt5/PyQt6 QTableView列宽自适应窗口的三种实战方案(附性能对比)

本文详细介绍了PyQt5/PyQt6中QTableView列宽自适应窗口的三种实战方案,包括Stretch模式、resizeEvent手动计算和ResizeToContents模式,并附有性能对比。帮助开发者解决窗口大小变化时列宽不变的常见问题,提升用户体验和开发效率。

weixin_42538752的博客 232

在Mac下配置用VSCode编写C/C++程序的环境

前言    最近需要编写一些C/C++程序,由于体量都不是很大所以想要追求一个轻量化的编辑和编译环境,于是想起了在Dock栏吃灰的VSCode。通过查找资料,包括VSCode的官方文档,最终配置实现了Mac下基于VSCode的C/C++编辑环境搭建。 正文    在配置环境之前先检查一下机器上都安装了什么C++编译器,通过以下两条命令可以查看是否安装了g++/clang编译器,本人两种编...

Kalikali的专栏 5万+

UVa 11134 - Fabled Rooks

贪心+优先队列。

_____ 724

思澈sdk-新建lcd

co5300至此有3个同ID的驱动,在co5300xxxx.c的LCD_DRIVER_EXPORT(co5300, LCD_ID, &lcdc_int_cfg, &CO5300_drv, LCD_PIXEL_WIDTH, LCD_PIXEL_HEIGHT, 2);2 在customer\peripherals\Kconfig_lcd中添加如下配置(注意修改的地方有两个LCD_USING_TFT_CO5300_143)5 在该文件中的config LCD_DPI配置项下添加:(这里300为DPI)

gongyuan073的专栏 1386

UVA 11134 Fabled Rooks 传说中的车(0 ms)

一、题目描述 你的任务是在n*n的棋盘上放n(n≤5000)个车,使得任意两个车不相互攻击,且第i个车在一个给定的矩形Ri之内。用4个整数xli, yli, xri, yri(1≤xli≤xri≤n,1≤yli≤yri≤n)描述第i个矩形,其中(xli,yli)是左上角坐标,(xri,yri)是右下角坐标,则第i个车的位置(x,y)必须满足xli≤x≤xri,yli≤y≤yri。如果无解,输出IM...

COFACTOR 252

Open3D 模拟退火算法优化的ICP点云配准

传统ICP算法易陷入局部最优且对初始位姿敏感,而SA算法通过概率性接受劣解,能够在高温阶段广泛探索解空间,低温阶段精细收敛。

点云侠的博客 244

C#里用HttpListener实现WEB API接口服务端

本文介绍了一个基于WinForm的HTTP服务实现方案。该方案使用HttpListener类创建了一个支持JSON POST请求处理的轻量级Web服务器,主要特点包括:1) 纯线程方式实现请求监听和处理;2) 提供标准化的JSON响应格式;3) 支持自定义请求处理逻辑;4) 包含完整的日志记录功能。代码示例展示了如何初始化服务、处理不同类型的请求(包括JSON POST),并提供了线程安全的UI更新机制。该实现适用于需要简单HTTP接口的Windows桌面应用程序,可作为程序间通信的基础设施。

大坡3D软件开发 228

UVA11134- Fabled Rooks

题目链接 题意:在n*n棋盘上放n辆车,使得任意两辆车不相互攻击,且第i辆车在一个给定的矩形之内。 思路:刚开始以为是n皇后的问题,但是本题只要水平和竖直才能攻击到,并没有斜线的约束。所以可以判断出行和列是互相没有影响的,那么只要分别对行和列进行贪心操作,先按照左端点值从小到大排序,然后用优先队列维护,先处理右端点小的。 做法与这题类似 UVA1422 #inc

懒人一枚。 1393

Multisim14.0仿真应用设计(三十九)74LS183 高速全加器应用仿真

74LS183是一种高速全加器,可以同时执行四位二进制数的加法运算。它的输入端包括两个4位二进制数和一个进位信号,输出端则为一个4位二进制数和一个进位信号。

zhusl6688的博客 3852

Uva 11134 Fabled Rooks

链接:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=24&page=show_problem&problem=2075 题目大意: 在一个n*n的棋盘上放置n个车,使得它们之间都不能互相攻击(任意两个车都不能同行或同列),并且,对于第i个车,限制它只能放在一个矩形区域内,(xl

WZJRJ28 445

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

UVa 11134 Fabled Rooks 解题报告(贪心)

Problem F: Fabled Rooks We would like to place n rooks,1 ≤ n ≤ 5000, on a n×nboard subject to the following restrictions Thei-th rook can only be placed within the rectangle given byits left-upp

SF-_- 的 ACM 博客 765

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

UVa 11134 Fabled Rooks(贪心+优先队列)

题目链接 题目大意:     在一个棋盘上,放置N个国际象棋的城堡,每个城堡给出可以放置的范围,要求这些城堡不能相互攻击到,求这些城堡的摆放方案。 解题思路:     这题非常关键的一点就是横纵坐标可以分开独立考虑。对于每一个方向,我们维护一个下限小(其次上线小)的区间优先出堆的堆,以及当前要填充的坐标。每次去堆顶区间。如果上限小于要填充坐标说明无法填充。如果下限小于当

yasolx的博客 527

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

UVA 11134 Fabled Rooks

题目链接:http://acm.hust.edu.cn/vjudge/contest/view.action?cid=65530#problem/D解题思路:由于行和列之间是不相互影响的,因此我们对行和列分开进行处理。然后对于每行和每列采用贪心的方法进行安置即可。#include <cmath> #include <ctime> #include <cstdio> #include <cstdlib

XDU_PYL的博客 1934

例题8-4 传说中的车(Fabled Rooks, UVa 11134)

由于行列之间是没有任何联系的,可以把行列分开来讨论。。orz。。 memset使用错误。。在函数中sizeof指针无法清零。 考虑区间与点的对应时,可以由区间来选点,也可以由点来选区间, 对于每个点,选择以该点为起点,长度最小的区间。#include #include #include #include #include #include #include #include

%%% 399

11134 - Fabled Rooks

Fabled RooksWe would like to place nn rooks, 1≤n≤50001 \le n \le 5000, on a n×nn \times n board subject to the following restrictions The ii-th rook can only be placed within the rectangle given by i

Switch的博客 847

Fabled Rooks UVA - 11134

比较简单的一道题,关键在于抓住一点:可以对行以及队列进行分开处理,行列的处理彼此之间是没有影响的。每次都选出满足条件的右边界最小的点,如果满足要求就继续下一轮的递归求解,如果不满足要求返回false结束即可,具体实现见如下代码: #include #include #include #include #include #include #include #include #include #in

zju2016的博客 345

Fabled Rooks

Problem F: Fabled Rooks We would like to place n rooks, 1 ≤  n ≤ 5000, on a n×n board subject to the following restrictions The i-th rook can only be placed within the rectangle given by i

岁月蒙尘 547

UVA11134 Fabled Rooks

UVa11134 Fabled Rooks 题目链接 问题解析 在n行n列的棋盘上放n个车,第i个车在给定的矩形Ri之内,且任意两个车不能相互攻击,即任意两个车不在同一行或同一列。求每个车的位置坐标。 首先,一个车所在的行不会影响它所在的列,可以分别求一个车的横坐标和纵坐标,将一个二维的问题转化为一个一维的问题。 现在,我们面临的问题是如何将这n个点分给n个车。 以横坐标xi为例,每个车的x都被限定在了一个区间[xli,xri]之内,不难看出应该应用贪心算法求解。 这里我最开始做的是按照xli从小到大排序,

polarday的博客 245

传说中的车(Fabled Rooks,UVa 11134)

传说中的车,问题分解,贪心,并查集

Leo的博客 1409

uva 11134 Fabled Rooks

uva 11134 Fabled Rooks

@fei 517

Uva 11134 Fabled Rooks (问题分解 + 贪心放置)

题意: 给你n*n的棋盘,让放置n个车 使他们之间并不能相互攻击  附加条件是 给定n个车的放置区间 用左上角和右下角的坐标来表示 解题思路: 首先明确 横向的约束和纵向的约束其实并不互相影响 所以可以对横向和纵向单独求解 把问题变成两个一维的区间选点问题来求解 另外 在取点的时候 有贪心的思路在里面 对于n个区间 应该先选择区间中r最小的区间进行放置可放置的点 可以简单认为这是因为r

GejinZ 669
上一篇: We Recommend a Singular Value Decomposition
下一篇: 算法导论——InversionNumbers
NJUTONY
博客等级 码龄16年 19粉丝 137原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值