poj 1083

简介:

一、题目大意

一层里面有400个房间,北边和南边各有200个房间,要从一个房间里面把一张桌子移动到另一个房间(特别注意有可能有s比t大的情况,我因为这个WA了一次),需要占用这两个房间之间的所有走廊(包括这两个房间前面的),每移动一个桌子需要10分钟,给出需要移动的桌子的数据(从哪移动到哪),要求计算出最少需要多少分钟才能把所有桌子移动完。

另外注意:

房间1和2前面是同一个走廊,所以从1移动到2只需要占用一个走廊,房间2和3前面不是同一个走廊,因此从2移动到3需要占用2个走廊。

问题的关键是:
什么情况下移动不能同时进行?
比如3—5和4—6这里有重复要使用的4这个有什么用呢?而 10—20和30—40,这里没有重复的区间,可以同时进行移动。。想来想去他为什么要这么说,其实就是要告诉你去求覆盖区间最大的区域,所以acm重点在数学模型的抽象

二、AC code

分析:

本来是在dp专题里面找到的这题,很像贪心法,但是我硬是没想出如何用dp,倒是利用每条走廊都设置一个计数器,每经过一次+1,最大的次数X10就是答案。

#include <stdio.h>
#include <iostream>
#include <string.h>
#define MAXN 202

using namespace std;

int corridor[MAXN];

int main()
{
    //freopen("input.txt","r",stdin);

    int T;
    cin >> T;

    while(T--) {

        memset(corridor,0,sizeof(corridor));

        int N;
        cin>>N;

        int time = 0;
        for (int i = 0; i < N; ++i)
        {
            int s,t;
            cin>>s;
            cin>>t;

            if (s>t) {
                int tmp = s;
                s = t;
                t = tmp;
            }

            for (int j = (s%2 == 1)?(s+1)/2:s/2; j <= ( (t%2 == 1)?(t+1)/2:t/2 ); ++j)
                /* count time of the use of corridor */
                if ( time < ++corridor[j] )
                    time = corridor[j];
        }

        cout<<time*10<<endl;
    }

    return 0;
}
相关文章
|
设计模式 算法 安全
【设计模式】RBAC 模型详解
随着软件系统的复杂性和规模的不断增长,权限管理成为了一个至关重要的问题。在大型多人协作的系统中,如何有效地管理不同用户的访问权限,确保系统的安全性和稳定性,是每一个开发者都需要面对的挑战。为了解决这一问题,业界提出了一种被广泛应用的权限管理模型——基于角色的访问控制(Role-Based Access Control,简称RBAC)。希望通过本篇博客的学习,您能够深入了解RBAC模型的核心思想和实现原理,掌握如何在实际项目中应用RBAC模型来提高系统的安全性和可维护性。
1926 1
Cannot access ‘androidx.lifecycle.HasDefaultViewModelProviderFactory‘ which is a supertype of ‘com.e
今天创建了个项目,突然出现了这样的问题,怎么处理都没用,网上找了一堆没发现答案,故此记录。
456 0
Cannot access ‘androidx.lifecycle.HasDefaultViewModelProviderFactory‘ which is a supertype of ‘com.e
|
SQL Java 数据库
10、MyBatis-Plus 多数据源
这篇文章介绍了在MyBatis-Plus中实现多数据源的方法,包括创建不同的数据库和表、引入动态数据源依赖、配置多个数据源、创建用户和商品的Service类,以及如何进行测试来验证多数据源的功能。
|
7月前
|
小程序
年末最后一波,7大热门域名低至5元起!
年末最后一波,7大热门域名低至5元起!
|
分布式计算 DataWorks 大数据
MaxCompute产品使用问题之月和日是1位数的日期格式如何转化成标准日期值
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。
176 1
|
JavaScript 定位技术
BIGEMAP地图VUE中引入
BIGEMAP地图VUE中引入
321 0
BIGEMAP地图VUE中引入
|
缓存 API 数据处理
逆袭之路!从 Python 新手到 RESTful API 设计大师,你只差这一步!
【7月更文挑战第23天】从Python新手到RESTful API设计大师,需跨越从基础语法到网络服务的鸿沟。起初,你或许只写像`add_numbers`这样的简单函数。但RESTful API设计涉及HTTP、请求方法、路由与数据处理。如用Flask创建用户管理API,支持GET列出用户与POST创建用户。进阶至API设计,需关注错误处理、安全与性能优化,如使用异常处理器与数据库连接池提升服务。此旅程虽具挑战,持续学习与实践将助你蜕变,步入编程新境界。
83 6
|
移动开发 JavaScript 前端开发
分享111个JS时钟代码特效,总有一款适合您
分享111个JS时钟代码特效,总有一款适合您
703 0
|
Windows
【OpenGL】十九、OpenGL 绘制模式 ( 绘制线框模式 | 绘制点模式 )(二)
【OpenGL】十九、OpenGL 绘制模式 ( 绘制线框模式 | 绘制点模式 )(二)
453 0
【OpenGL】十九、OpenGL 绘制模式 ( 绘制线框模式 | 绘制点模式 )(二)
|
关系型数据库 MySQL
mysql事务(开启,回滚,提交,四大特征以及隔离级别)
mysql事务(开启,回滚,提交,四大特征以及隔离级别)