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

12、知识图谱数据处理与推理全解析 本文深入解析了知识图谱中的数据处理与推理技术,涵盖SHACL的多种约束类型(如值约束、范围约束、字符串约束、逻辑约束等)及其在数据质量控制中的应用,并介绍了常用的SHACL工具与实际案例。文章对比了SPARQL与SHACL的特点,探讨了RDF(S)的局限性,引出表达能力更强的OWL和OWL2语言及其在语义网和生物医学等领域的应用。此外,还阐述了规则在知识表示中的作用,包括产生式规则和Datalog规则,并总结了知识图谱中推理的重要性与典型流程,为构建高质量、可推理的知识图谱提供了全面的技术指导。 阅读详情

题目链接: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");
		}			
	}
}

Windows11 - Ubuntu 双系统及 ROS、ROS2 安装 在本教程中,我们将使用 Ubuntu 20.04 版本,该版本使用了新的 Ubuntu 桌面安装程序,该程序将包含在今后发布的所有 Ubuntu 版本中。如果你选择了这个选项,你会看到一个简单的界面,允许你选择要安装Ubuntu的硬盘,并通过滑块来决定你希望Ubuntu使用的磁盘空间大小。如果你的电脑有多个硬盘驱动器,那么只要它们各自有自己的驱动器,这个选项就能让你在安装 Ubuntu 的同时安装现有的操作系统。在此屏幕上,系统会提示您输入您的姓名和您的计算机名称,以显示在网络上。 阅读详情

相关推荐

从业10年的AI应用架构师:企业AI平台运营的4个核心经验,值得收藏

去年年底,我在某大型制造企业做AI咨询时,遇到了这样的场景:这不是个例。我接触过的10家企业中,有7家的AI平台都陷入了“技术自嗨”的陷阱——技术团队追求模型精度、功能完备性,却忽略了业务到底需要什么。如果你也遇到过类似问题:比如“模型准确率很高,但业务不买账”“AI项目上线后没人用”“投入产出比极低”,那么这篇文章的4个经验,可能会帮你避开这些坑。很多企业认为,AI平台就是“买一套工具+部署几个模型”。但实际上,企业AI平台的本质是“技术与业务的连接生态”:根据Gartner的报告,80%的企业AI项目失

AI 原生应用开发的博客 709

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

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

GuoZLH的博客 569

QCustomPlot实战:从入门到精通的数据可视化

本文详细介绍了如何使用QCustomPlot进行数据可视化,从基础环境搭建到高级图表定制,涵盖实时监控、多坐标系联动等实战技巧。基于Qt的QCustomPlot库以其强大的绘图能力和灵活的API,帮助开发者快速实现专业级数据可视化效果。

weixin_29003437的博客 115

题解_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

【SAP-MDG】工作流任务配置实战:从基础配置到代理分配详解

本文详细解析了SAP MDG工作流任务配置的全流程,从基础配置到代理分配的关键操作。通过实战案例和最佳实践,帮助用户掌握Configure Workflow Tasks的核心技巧,包括环境检查、代理分配、SWDD事务码使用及常见问题排查,提升主数据管理效率。

weixin_33738555的博客 248

Jetson工业级应用指南:用Orin NX 16GB打造多摄像头AI质检系统

本文详细介绍了如何利用NVIDIA Jetson Orin NX 16GB构建高效的多摄像头AI质检系统,涵盖硬件选型、软件优化及产线部署全流程。通过100 TOPS的AI算力和多路视频处理能力,Orin NX在工业4.0时代展现出卓越的实时缺陷检测性能,特别适合嵌入式AI应用场景。

Pepper的专栏 307

UVa 11134 - Fabled Rooks

贪心+优先队列。

_____ 724

Synopsys工具链实战:如何用VCS、DC、ICC和Calibre跑通你的第一个数字IC设计项目?

本文详细介绍了如何使用Synopsys工具链(VCS、Design Compiler、ICC和Calibre)完成数字IC设计项目,从RTL代码到GDSII版图的全流程。涵盖环境配置、RTL设计验证、逻辑综合、物理实现及签核验证等关键步骤,帮助工程师掌握高效的数字IC设计流程。

weixin_42525005的博客 196

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

AMBA-AXI and ACE协议详解(十)

本章介绍了ACE协议中的Barrier事务机制,包括内存屏障和同步屏障两种类型。

Crazzy_M的博客 613

WPF 上位机可视化天花板:HandyControl 搭建 SCADA 系统

HandyControl 凭借「丰富的工业级控件、灵活的主题定制、优异的性能」,成为 WPF 开发 SCADA 系统的首选 UI 库。本文搭建的 SCADA 系统涵盖实时监控、设备控制、报警管理、趋势分析四大核心功能,通过 HandyControl 实现了工业级可视化效果,开发效率提升 60% 以上。控件开箱即用:无需自定义仪表盘、趋势图、指示灯等 SCADA 核心控件;可视化效果专业:工业风主题、动态颜色切换、清晰的状态呈现,契合工业场景需求;

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 1126

UVA11134- Fabled Rooks

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

懒人一枚。 1393

(第78天)DB RU 补丁升级:19C 升级到 19.22

目前 Oracle 19C 是最新的稳定支持的版本,生产环境中使用的越来越多。当然,随着客户使用量的增多,自然无可避免的产生了很多 BUG,Oracle 每季度都会发布一个 RU 补丁来修复当前季度所产生的一些重要 BUG 补丁。作为 DBA,DB 补丁修复必然是需要掌握的一项技能。本文将介绍如何将数据库升级到最新的 RU 版本。

LuciferLiu_DBA 845

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

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

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

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

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

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

yasolx的博客 527

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、付费专栏及课程。

余额充值