Gym - 101158C Distribution Center

题意:n个传送带,传送带i运送编号为i的物品,机器人可以负责把传送带i上的物品放到传送带i + 1上,也可以把传送带i + 1上的物品放到传送带i上,机器人分布在传送带上x轴的不同位置,问每个传送带最多能传送多少物品。

分析:

1、将机器人按x轴排序。

2、对于每个传送带,记录它能传送的最小的传送带编号和能传送的最大的传送带编号即可。

#include<cstdio>
#include<cstring>
#include<cstdlib>
#include<cctype>
#include<cmath>
#include<iostream>
#include<sstream>
#include<iterator>
#include<algorithm>
#include<string>
#include<vector>
#include<set>
#include<map>
#include<stack>
#include<deque>
#include<queue>
#include<list>
#define Min(a, b) ((a < b) ? a : b)
#define Max(a, b) ((a < b) ? b : a)
const double eps = 1e-12;
inline int dcmp(double a, double b)
{
    if(fabs(a - b) < eps) return 0;
    return a > b ? 1 : -1;
}
typedef long long LL;
typedef unsigned long long ULL;
const int INT_INF = 0x3f3f3f3f;
const int INT_M_INF = 0x7f7f7f7f;
const LL LL_INF = 0x3f3f3f3f3f3f3f3f;
const LL LL_M_INF = 0x7f7f7f7f7f7f7f7f;
const int dr[] = {0, 0, -1, 1, -1, -1, 1, 1};
const int dc[] = {-1, 1, 0, 0, -1, 1, -1, 1};
const int MOD = 1e9 + 7;
const double pi = acos(-1.0);
const int MAXN = 200000 + 10;
const int MAXT = 3025 + 10;
using namespace std;
struct Node{
    int x, id;
    void read(){
        scanf("%d%d", &x, &id);
    }
    bool operator < (const Node&rhs)const{
        return x < rhs.x;
    }
}num[MAXN];
int l[MAXN], r[MAXN];
int main(){
    int n, m;
    scanf("%d%d", &n, &m);
    for(int i = 0; i < m; ++i){
        num[i].read();
    }
    for(int i = 1; i <= n; ++i){
        l[i] = i;
        r[i] = i;
    }
    sort(num, num + m);
    for(int i = 0; i < m; ++i){
        int y = num[i].id;
        l[y] = l[y + 1] = min(l[y], l[y + 1]);
        r[y] = r[y + 1] = max(r[y], r[y + 1]);
    }
    for(int i = 1; i <= n; ++i){
        if(i != 1) printf(" ");
        printf("%d", r[i] - l[i] + 1);
    }
    printf("\n");
    return 0;
}

  

时间: 2024-10-07 10:55:56

Gym - 101158C Distribution Center的相关文章

poj 3863&amp;&amp;Gym - 101308B Business Center (水题/推公式)

题意:给你 m 个电梯,每个电梯有两个按钮, u 和 d ,分别代表上 u 层,和下 d 层,每一次你都从第0层开始做电梯,你可以按这个电梯按钮 m 次,假设楼层无限高,问你可以到达的最低楼层是多少,0层除外? 思路: 我们假设按 上走 x 次, 那么下走为 (n-x) 次 那么可以到达的楼层为 k = a*x - b*(n-x) 另上式等于0,我们可以得到当 x'= b*n/(a+b) 时为第0层 由于 x 必须为正整数,我们对 x' 向上取整,就得到可以到达的最低楼层 但是现在有一个漏洞,如

CAS单点登录

1.      CAS 简介 1.1.  What is CAS ? CAS ( Central Authentication Service ) 是 Yale 大学发起的一个企业级的.开源的项目,旨在为 Web 应用系统提供一种可靠的单点登录解决方法(属于 Web SSO ). CAS 开始于 2001 年, 并在 2004 年 12 月正式成为 JA-SIG 的一个项目. 1.2.  主要特性 1.   开源的.多协议的 SSO 解决方案: Protocols : Custom Protoc

Kerberos认证原理简介

1.1 What is Kerberos 1.1.1 简单介绍 Kerberos是一个用于鉴定身份(authentication)的协议, 它采取对称密钥加密(symmetric-key cryptography),这意味着密钥不会在网络上传输.在Kerberos中,未加密的密码(unencrypted password)不会在网络上传输,因此攻击者无法通过嗅探网络来偷取用户的密码. Kerberos利用对称加密和受信任的第三方(即KDC, key distribution center)来鉴别

Linux与云计算——第二阶段Linux服务器架设 第六章:目录Directory服务器架设—FreeIPA

Linux与云计算--第二阶段Linux服务器架设 第六章:目录Directory服务器架设-FreeIPA 1 FreeIPA 配置FreeIPA服务器 Configure IPA Server to share users' account in your local network. [1] Install FreeIPA. [[email protected] ~]# yum -y install ipa-server ipa-server-dns bind bind-dyndb-lda

Hadoop的集群管理与安全机制

HDFS数据管理 1.设置元数据与数据的存储路径,通过 dfs.name.dir,dfs.data.dir,fs.checkpoint.dir(hadoop1.x). hadoop.tmp.dir,dfs.namenode.name.dir,dfs.namenode.edits.dir,dfs.datanode.data.dir(hadoop2.x)等属性来设置: 2.经常执行HDFS文件系统检查工具FSCK,eg:hdfs fsck /liguodong -files -blocks: [[e

Kerberos-KDC

Kerberos提供一种较好的解决方案,它是由MIT发明的,Kerberos建立了一个安全的.可信任的密钥分发中心(KDC, Key Distribution Center).Kerberos是一种认证标准,通过使用一台中央服务器来提供“票据”,供其他在网络上提供资源的服务器进行识别.密码学中的密钥分发中心(KDC)是密钥体系的一部分,旨在减少密钥体制所固有的交换密钥时所面临的风险.KDC应用在这样的系统中:系统内一些用户能够使用某些服务,而其他人不能使用那些服务.(linux)定义: key

[转]统一身份认证(CAS)简单说明与设计方案

统一身份认证(CAS)简单说明与设计方案(转) 1. 单点登录概述 所谓单点登录(SSO),只当企业用户同时访问多个不同(类型的)应用时,他们只需要提供自身的用户凭证信息(比如用户名/密码)一次,仅仅一次.SSO解决方案(比如,CAS)负责统一认证用户,如果需要,SSO也可以完成用户的授权处理.可以看出,当企业用户在不同的应用间切换时,他们不用再重复地输入自身的用户凭证了.在实施SSO后,所用的认证操作都将交给SSO认证中心.现有的SSO解决方案非常多,比如微软的MSN Passport便是典型

无线端安全登录与鉴权一之Kerberos

无线端登录与鉴权是安全登录以及保证用户数据安全的第一步,也是最重要的一步.之前做过一个安全登录与鉴权的方案,借这个机会,系统的思考一下,与大家交流交流 先介绍一下TX系统使用的Kerberos方案,参考了 http://blog.csdn.net/wulantian/article/details/42418231 的文章 一.概念介绍 Kerberos:起源于希腊神话,是一支守护着冥界长着3个头颅的神犬,在keberos Authentication中,Kerberos的3个头颅代表中认证过程

Java Secure Socket Extension (JSSE) Reference Guide

Skip to Content Oracle Technology Network Software Downloads Documentation Search Java Secure Socket Extension (JSSE) Reference Guide This guide covers the following topics: Skip Navigation Links Introduction Features and Benefits JSSE Standard API S