Codeforces Gym 101158 C. Distribution Center
来源:互联网 发布:tensorflow 路径规划 编辑:程序博客网 时间:2024/06/05 10:39
题意
The factory of the Impractically Complicated Products Corporation has many manufacturing lines and the same number of corresponding storage rooms. The same number of conveyor lanes are laid out in parallel to transfer goods from manufacturing lines directly to the corresponding storage rooms. Now, they plan to install a number of robot arms here and there between pairs of adjacent conveyor lanes so that goods in one of the lanes can be picked up and released down on the other, and also in the opposite way. This should allow mixing up goods from different manufacturing lines to the storage rooms.
Depending on the positions of robot arms, the goods from each of the manufacturing lines can only be delivered to some of the storage rooms. Your task is to find the number of manufacturing lines from which goods can be transferred to each of the storage rooms, given the number of conveyor lanes and positions of robot arms.
解题思路
所有传送带为横向传输。将机器人按 x 坐标从小到大排序。线性处理,记录每条传送带在 x 位置前所能拿到货物的最左传送带编号和最右传送带编号,每次更新最小、最大值即可。
代码
#include<bits/stdc++.h>using namespace std;const int N = 200000 + 10;const int M = 100000 + 10;pair<int, int> p[M], l[N];bool cmp(pair<int, int> a, pair<int, int> b) { return a.first < b.first;}int main(){ int n, m; scanf("%d %d", &n, &m); for(int i=1;i<=n;i++) l[i].first = l[i].second = i; for(int i=1;i<=m;i++) scanf("%d %d", &p[i].first, &p[i].second); sort(p+1, p+m+1, cmp); for(int i=1, y;i<=m;i++) { y = p[i].second; l[y].first = l[y+1].first = min(l[y].first, l[y+1].first); l[y].second = l[y+1].second = max(l[y].second, l[y+1].second); } for(int i=1;i<=n;i++) printf("%d%c", l[i].second-l[i].first+1, i==n?'\n':' ');}
- Codeforces Gym 101158 C. Distribution Center
- Gym 101158C Distribution Center(思路题)
- CodeForces Gym 100114C
- CodeForces Gym 100735C
- codeforces Gym-101246C
- Codeforces gym 101243 C
- Kerberos Key Distribution Center
- Distribution Center Design
- CodeForces Gym 100646C LCR
- Codeforces gym 101353 C 数论
- Codeforces Gym 100202C Holidays
- Codeforces Gym 100623C Problem C. Class
- 配送中心(Distribution center)
- Codeforces Gym 100340C ePig 模拟
- Codeforces GYM 100738C Rating Shuffle
- Codeforces Gym 100792C Colder-Hotter
- Codeforces Gym 101142 C. CodeCoder vs TopForces
- Codeforces Gym 101164 C. Castle (KMP)
- Codeforces Gym 101158 B. Quality of Check Digits (模拟)
- python中的二维列表(实例)
- 【codeforces 749A】Bachgold Problem
- 单片机实验六
- C++动态规划之采药(openjudge)
- Codeforces Gym 101158 C. Distribution Center
- Java垃圾回收策略
- 优化Go的模式
- Java 异常中e的getMessage()和toString()方法的异同
- 面试OR笔试1——RNA嵌套
- docker配置远程连接
- maven构建第一个项目
- Codeforces Gym 101158 F. Three Kingdoms of Bourdelot
- (1) near "limit": syntax error (sqlite报错)