poj1083Moving Tables(区间覆盖)

爆肝星际大战c++代码 #include <iostream> #include <istream> //system("cls");清屏代码 using namespace std; int main(){ int n,t=0,s=0,k=1; cin>>n; while(1){ for(int j=1;j<=t;j++){ t++; s=s+k; if (t==n) {co... 阅读详情

题目链接

Moving Tables
Time Limit: 1000MS Memory Limit: 10000K
Total Submissions: 30917 Accepted: 10302

Description

The famous ACM (Advanced Computer Maker) Company has rented a floor of a building whose shape is in the following figure.

The floor has 200 rooms each on the north side and south side along the corridor. Recently the Company made a plan to reform its system. The reform includes moving a lot of tables between rooms. Because the corridor is narrow and all the tables are big, only one table can pass through the corridor. Some plan is needed to make the moving efficient. The manager figured out the following plan: Moving a table from a room to another room can be done within 10 minutes. When moving a table from room i to room j, the part of the corridor between the front of room i and the front of room j is used. So, during each 10 minutes, several moving between two rooms not sharing the same part of the corridor will be done simultaneously. To make it clear the manager illustrated the possible cases and impossible cases of simultaneous moving.

For each room, at most one table will be either moved in or moved out. Now, the manager seeks out a method to minimize the time to move all the tables. Your job is to write a program to solve the manager's problem.

Input

The input consists of T test cases. The number of test cases ) (T is given in the first line of the input file. Each test case begins with a line containing an integer N , 1 <= N <= 200, that represents the number of tables to move.
Each of the following N lines contains two positive integers s and t, representing that a table is to move from room number s to room number t each room number appears at most once in the N lines). From the 3 + N -rd
line, the remaining test cases are listed in the same manner as above.

Output

The output should contain the minimum time in minutes to complete the moving, one per line.

Sample Input

3 
4 
10 20 
30 40 
50 60 
70 80 
2 
1 3 
2 200 
3 
10 100 
20 80 
30 50 

Sample Output

10
20
30
解题思路:
用数组d[205]记录每个房间前的走廊被用过多少次,然后排个序则答案即为d[0]*10;每扫描一个点将数组这个范围内的值加1,注意,范围的确定,上限s=(a[i].left+1)/2,
下限e=(a[i].right+1)/2。还应注意输入的两个值的大小问题。


 
#include
   
    
#include
    
     
#include
     
      
using namespace std;
struct node{
	int right;
	int left; 
};
bool compare(const int a,const int b)
  {
      return a>b;        
    }
int main(){
	int i,max,sum,n,t,b[205];
	node a[100005];
	scanf("%d",&t); 
	while(t--){
		scanf("%d",&n);
		for(int i=0;i
      
       a[i].right){
				int temp=a[i].left;
				a[i].left=a[i].right;
				a[i].right=temp;
			}
		}
		memset(b,0,sizeof(b));
		for(int i=0;i
       
      
     
    
   
 

P1083 [NOIP2012 提高组] 借教室(二分答案+差分) 题意:找到第一个不满足分配的订单编号 一般可以先通过暴力的方法来寻找思路,我们要找左侧第一个点,左侧边界 那么先对编号数组进行二分 while(l<r) { int mid=l+r>>1; if(check()) r=mid; else l=mid+1; } check表示当前不满足条件 ,就可以向左侧二分,找到第一个点 我们发现,每一个订单都是对于区间操作 开始~结束 都-=要租借的订单数 ... 阅读详情

相关推荐

moving Tables

java 实现moving Tables

Moving Tables(P1083)

嗯嗯 #include #include #include #include using namespace std; #define N 1011 struct my { int from; int to; } go[300]; bool cmp(my a,my b) { if (a.from!=b.from) return a.from<b.from; return

jiangjiashi的博客 555

POJ1083-Moving Tables

北大POJ1083-Moving Tables 解题报告+AC代码

luogu P1083 借教室(二分)

此题为NOIP2012D2T2(水题 ) 本题主要是运用二分解决问题(百万的数据使我这种不会打线段树的蒟蒻只能想到二分QAQ)以下为代码: #include<bits/stdc++.h> using namespace std; int n,m,L,R,mid,maxx=-1; int a[1001000],b[1001000],l[1001000],r[1001000],zhi[1001000],nest[1001000];//数组开大 inline int re() { int i=0;ch

liaoxiyan123的博客 248

poj 130题 acm pku

acm pku poj 1000 1001 1002 1003 1201

反激系列-详细到每个容阻的原理之RCD吸收(1)

1、漏感尖峰电压会被RCD吸收,漏感能量一定,电容越大,电容充电的电压就越低,吸收能力就越强,MOS漏极的电压就越低。2、在漏感能力释放完之后(这个过程一般只有一个周期的3%时间),是要通过R1释放掉电容吸收的能量的,把电容的电压降下来方便下一次漏感尖峰来之前再进行吸收。3、电容容量和电阻需要合理搭配,容量足够即可,足够能吸收漏感尖峰电压,不至于超过MOS耐压。电阻需要足够小,小到在放电阶段把电容电压下降到MOS的电压平台。

Cuxiaoweiba的博客 3万+

Poj_1083 Moving Tables(贪心,测试数据)

题意: 房间之间通过单通道抬桌子,一共有400个房间,分别按照图上顺序编号。每次交换需要10分钟,当两个交换路径不重叠时可以在同一个时间间隔内完成。给出所有的搬动需求,问最少需要的时间。 思路: 最开始的思路就是模拟,首先把两边归为一边,按起点将所有交换排序后,每次都贪心的拿一遍,这样最后可以得到拿的次数。因为数据量不大,即便是O(n^2)的时间复杂度也不会超时,所以很快写出来了。但是却WA

EaShion1994的专栏 872

PMBus协议解析:基于I2C的电源管理实战与TMS320F28003x驱动开发

在嵌入式系统与服务器电源设计中,数字电源管理总线是实现高效、可靠电源监控与控制的关键技术。PMBus协议基于广泛应用的I2C总线物理层,通过定义标准化的命令集、数据格式与时序规范,为多路电源的电压电流监控、动态调整及故障处理提供了高效解决方案。其技术价值在于通过硬件自动处理协议解析、时钟拉伸与中断,显著降低软件复杂度,使开发者能聚焦于电源环路设计等核心逻辑。该协议广泛应用于服务器、通信基站及高性能计算板卡等场景,通过引入数据包错误检查、专用告警线等机制,确保了电源管理的可靠性。本文以TI TMS320F28

weixin_29189377的博客 374

POJ1083 Moving Tables

POJ1083 Moving Tables Time Limit:1000MS Memory Limit:10000K Total Submissions:35297 Accepted:11774 Description The famous ACM (Advanced Computer Maker) Company has ...

weixin_30760895的博客 156

VIL-SLAM论文翻译:Stereo Visual Inertial LiDAR Simultaneous Localization and Mapping

文章目录写在前面摘要1.引言2.相关工作3.系统概述4.视觉前端5.双目视觉惯性里程计A. IMU预积分因子B. 非结构化视觉因子C. 优化和边缘化6. 激光建图A. LiDAR扫描去畸变B. 帧到地图配准7. LiDAR增强的闭环A. 回环检测B. 回环约束C. 全局位姿图优化D. 重定位8. 实验结果A.平台和软件B.测试和结果C. EuRoCMAV数据集测试9.结论 写在前面 写作参考: robot L 开源代码: 开源代码链接 论文原文: 原文链接 摘要 SLAM是移动和空中机器人的一项基本任务

JaydenQ的博客 2321

最新Docker GPU支持全解析:为什么nvidia-smi能用但PyTorch找不到CUDA?

本文深入解析了Docker容器中nvidia-smi命令可用但PyTorch无法调用CUDA的根本原因。关键在于默认配置仅暴露了GPU的utility管理能力,而CUDA计算所需的compute能力未被激活。通过正确设置NVIDIA_DRIVER_CAPABILITIES环境变量为compute,utility,并配合--gpus参数,即可解决此问题,确保AI训练等任务顺利进行。

convnet3designer的博客 239

POJ 1083 Moving Tables

POJ 1083 Moving Tables The famous ACM (Advanced Computer Maker) Company has rented a floor of a building whose shape is in the following figure. The floor has 200 rooms each on the north side and sout...

不屈不挠的拉普 287

Carla学习笔记(一)服务器跑carla本地显示窗口

其中host后替换为你的服务器IP,-carla-rpc-port和-p后为端口号,需要一致。python3 manual_control.py也可以替换为其他python脚本。因为电脑配置不够,所以在服务器跑carla,本地运行PythonAPI里的样例。把carla仓库的PythonAPI拷贝到本地,或者直接去官方里下载一下。

做题记录 4977

POJ - 1083 Moving Tables

//poj 1083 // [6/11/2014 wind] #include #include #include #include using namespace std; const int MAX_N = 200; int n; int cdr1[MAX_N], cdr2[MAX_N]; int cnt[MAX_N]; void solve() { memset ( cnt,

NightWind 734

卫星轨道坐标转换:轨道六根数到经纬高(经STK验证)

a:半长轴(km)e:偏心率i:轨道倾角(度)Ω:升交点赤经(度)ω:近地点幅角(度)ν:真近点角(度)

weixin_52370774的博客 170

【SpringBoot 3.x 第57节】Spring Boot 3 启动快得不讲武德?揭秘 Spring AOT 编译引擎背后的真相!

🏆本文收录于《滚雪球学SpringBoot 3》,专门攻坚指数提升,本年度国内最系统+最专业+最详细(永久更新)。    本专栏致力打造最硬核 SpringBoot3 从零基础到进阶系列学习内容,🚀均为全网独家首发,打造精品专栏,专栏持续更新中…欢迎大家订阅持续学习。 如果想快速定位学习,可以看这篇【SpringBoot3教程导航帖】,你想学习的都被收集在内,快速投入学习!!两不误。    若还想学习更多,可直接前往《滚雪球学SpringBoot(全版本合集)》,涵盖SpringBoot所有版本教学文章

**My Coding Family** 1760

poj1083 Moving Tables

链接:http://poj.org/problem?id=1083 好早的一个题,大一的时候做过一次。当然没做出来。今天又拿出来做了。 discuss中很多说贪心过不了,但我还是看到有个别人用贪心过的。所以,我也是坚持要用贪心写。 有些个地方要注意: 1)s、t大小未知,所以必要时要对其进行交换 2)对房间号做处理: s=(s+1)/2; t=(t+1)/2; 3)对s进行排序(在

u012914220的专栏 1124

FANUC机器人S523 新款PN板卡与西门子PLC通信配置介绍

FANUC机器人S523 新款PN板卡与西门子PLC通信配置介绍

Robot_PLC_HMI_Automation 354

【poj刷题记录】1083:Moving Tables

培养信心练手题,POJ1083题目描述如下: 这题的思路就是把房号转化为走廊编号(偶数房号除以2得到对应走廊编号,奇数房号加一除以二的打斗对应走廊编号),然后对个编号的走廊被走过的次数进行统计,整条走廊中走过次数最高的一段的次数即为最少搬运趟数。需要注意的是这道题的输入房号可能是先大后小,需要处理一下,不然就会陷入绝望WA中ORZ(别问我为什么知道),具体代码如下: #include <...

qq_38331950的博客 381

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

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

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

POJ 1083 Moving Tables(搬桌子)

题目链接:POJ 1083 题意: 有400间房间依次有序分布在一条走廊两侧,每10分钟可以将一张桌子从一间房间搬到另一间,但是在这十分钟搬桌子时需要占用从出发房间到目标房间的所有走廊,要想在同一个10分钟搬超过一张桌子那么所占用的走廊不能有交集。而且每间房间最多搬出或搬入一张桌子。 分析: 注意!房间门号的分布!1和2,3和4,4和5,...,之间都是同一条走廊,如果将这些走廊编号的

ramay7 860

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

POJ1083 Moving Tables(思维详解)

POJ 1083http://poj.org/problem?id=1083 题目大意: 题目很长,大致意思是有400个面对面的房间,现在要从一个房间到另一个房间移动物品 ,每次花费10分钟,但是移动过程中所有的经过的走廊都会被占用,也就是不能使用,问最少移动完所有的物品需要多久。 解题思路: 由于每次移动过程中都会占用相关的走廊,因此我们只需要枚举每个房间前的走廊需要被...

Sensente的博客 472

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

POJ 1083 Moving Tables 贪心

题目来源:http://poj.org/problem?id=1083 题意:就是在房间之间移动桌子,当移动两个桌子时,这两个房间之间的走廊是满的,即其他的移动不能占用该段空间。求最少移动时间。 思路:按左端点排序,之后两重循环即可。需要注意的地方,左端点不一定比右端点大,因此需要处理一下。 代码: #include #include #include #include using

1081

POJ- 1083-Moving Tables-贪心

http://poj.org/problem?id=1083 参见 白书选择不相交区间问题  选择不相交区间问题 中,要选尽可能多的区间覆盖整段, 是根据右端点从小到大排序,这样能得到的是局部最优解,由于只需要做一次,所以此处局部最优解也是全局最优解。 而对于本题,选择的过程是多次的,因此按照上面的贪心法则 会出现  下面的情况: 在当前的局部贪心过程中,【1,5】、【2,4】都是可以

缺氧 427

poj 1083 Moving Tables 题解(思维)

原题链接: poj 题意简述 有400400400个房间,1,3,5...3991,3,5...3991,3,5...399号在北面,2,4,6...4002,4,6...4002,4,6...400号在南面。南北两面之间有一个走廊。走廊很窄,只能容下一个桌子。(如下图所示) 现在有一些搬桌子的任务,任务的完成顺序不限。如果两个搬桌子的任务没有冲突的部分(也就是共用了一段走廊),就珂以同时进行。...

LightningUZ的博客 392

POJ 刷题系列:1083. Moving Tables

POJ 刷题系列:1083. Moving Tables传送门:POJ 1083. Moving Tables题意: 一条走廊,两栏房间。搬运工每次从房价i移动到房间j需要10分钟,给定一系列的移动路线 i -> j,问最少需要多少时间。 思路: 实际上是求解多个区间中重叠区间的最大个数。采用imos累积,很好的一个思路。先对每个区间的起点和终点求偏导,然后再累积,累积数组中的最大值即

Demon-初来驾到 747
上一篇: poj刷题指南
下一篇: poj2262Goldbach's Conjecture(素数打表)
luckcircle
博客等级 码龄10年 13粉丝 50原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值