Bridging signals
Time Limit: 1000MS | Memory Limit: 10000K | |
Total Submissions: 10196 | Accepted: 5577 |
Description
'Oh no, they've done it again', cries the chief designer at the Waferland chip factory. Once more the routing designers have screwed up completely, making the signals on the chip connecting the ports of two functional blocks cross each other all over the place. At this late stage of the process, it is too expensive to redo the routing. Instead, the engineers have to bridge the signals, using the third dimension, so that no two signals cross. However, bridging is a complicated operation, and thus it is desirable to bridge as few signals as possible. The call for a computer program that finds the maximum number of signals which may be connected on the silicon surface without crossing each other, is imminent. Bearing in mind that there may be thousands of signal ports at the boundary of a functional block, the problem asks quite a lot of the programmer. Are you up to the task?
A typical situation is schematically depicted in figure 1. The ports of the two functional blocks are numbered from 1 to p, from top to bottom. The signal mapping is described by a permutation of the numbers 1 to p in the form of a list of p unique numbers in the range 1 to p, in which the i:th number specifies which port on the right side should be connected to the i:th port on the left side.Two signals cross if and only if the straight lines connecting the two ports of each pair do.

A typical situation is schematically depicted in figure 1. The ports of the two functional blocks are numbered from 1 to p, from top to bottom. The signal mapping is described by a permutation of the numbers 1 to p in the form of a list of p unique numbers in the range 1 to p, in which the i:th number specifies which port on the right side should be connected to the i:th port on the left side.Two signals cross if and only if the straight lines connecting the two ports of each pair do.
Input
On the first line of the input, there is a single positive integer n, telling the number of test scenarios to follow. Each test scenario begins with a line containing a single positive integer p < 40000, the number of ports on the two functional blocks. Then follow p lines, describing the signal mapping:On the i:th line is the port number of the block on the right side which should be connected to the i:th port of the block on the left side.
Output
For each test scenario, output one line containing the maximum number of signals which may be routed on the silicon surface without crossing each other.
Sample Input
4 6 4 2 6 3 1 5 10 2 3 4 5 6 7 8 9 10 1 8 8 7 6 5 4 3 2 1 9 5 8 9 2 3 1 7 4 6
Sample Output
3 9 1 4
题意:
给出 T,代表有 T 个 case。后每个 case 首先给出 N(1 ~ 40000),代表有 2 * N 个针头,分成左右两边,后顺序给出 N 个数,代表左边针头编号依次 1 ~ N 连着的就是这个序列右边的针头编号。问最多能找出多少对相互之间不相交的线。
思路:
最长上升子序列。DP 的写法是 O (n ^ 2)的,TLE 无疑。所以要用 O (n log n)的写法,num 维护每个子序列长度对应的最小值。
http://blog.csdn.net/dangwenliang/article/details/5728363
AC:
#include <cstdio> #include <cstring> #include <algorithm> using namespace std; int num[40005]; int main() { int t; scanf("%d", &t); while (t--) { int n, len = 0; scanf("%d", &n); num[len] = -1; while (n--) { int ans; scanf("%d", &ans); if (ans > num[len]) num[++len] = ans; else *lower_bound(num, num + len, ans) = ans; } printf("%d\n", len); } return 0; }
相关推荐
Pku acm 第1631题 Bridging signals 代码,有详细的注释,动态规划
在本文中,我们将深入探讨如何使用C++编程语言和动态规划算法来解决三个特定的问题:Bridging signals、Human Gene Function以及Washing Clothes。动态规划是一种优化技术,它通过将复杂问题分解为更小的子问题来...
### 分布式一致性:理论与实践的桥梁——Raft算法详解 #### 摘要 分布式一致性是构建容错系统的基础。它使一系列机器能够作为一个整体协同工作,并能够在某些成员出现故障的情况下继续运行。不幸的是,最常用的...
然而,随着Diego Ongaro在2014年提交的博士论文《Consensus: Bridging Theory and Practice》中提出的Raft算法,分布式一致性问题有了更加直观和易于理解的解决方案。本文将详细介绍Raft算法的核心概念及其背后的...
详细介绍了比防火墙更安全的网络隔离技术的基本概念,主要的技术分类及各个分类的代表产品,对隔离技术的认识和研究具有极大帮助。
《无线收发器架构:RF与数字通信的桥梁》一书由Pierre Baudin撰写,首次出版于2015年,由John Wiley & Sons出版。这本书专注于无线通信领域中的一个重要组件——无线收发器(Transceiver)的架构设计。...
在“bridging-demo.zip”这个压缩包中,我们很可能会找到一个示例,演示如何在实际编程中应用桥接模式。 桥接模式的核心思想是通过将抽象类和实现类解耦,使得两者可以通过多态性进行组合,形成不同的抽象类和实现...
Pku acm 1179 Polygon Pku acm 1125 Stockbroker Grapevine Pku acm ...Bridging signals Pku acm 1887 Testing the CATCHER Pku acm 3356 AGTC Pku acm 2192 Zipper Pku acm 1080 Humman Gene ...
### 混合工作负载下的行存储与列存储桥接技术 #### 论文概览 本文档讨论的是一篇关于“在混合工作负载的行存储和列存储之间桥接群岛”的论文中文翻译。该研究旨在解决数据密集型应用程序面临的挑战——即如何实现在...
Model reference adaptive control- bridging the gap between theory and practice 理論與實務並重,很實用的書
ARUBA桥接配置是企业级无线网络部署中的一种重要技术,它允许多个接入点(Access Points, APs)通过无线链路互相连接,形成一个自愈合、自优化的网络,提供更广泛的覆盖和更高的网络容量。在ARUBA的网络环境中,桥接...
Bridging Vision and Language from the Video-to-Text Perspective A Comprehensive Review.pdf
9.公共子序列(hoj 1227 Common Subsequence) 10.桥接的信号(hoj 1288 Bridging Signals) 算法题 leetcode mysql 1. MySQL 索引使用有哪些注意事项呢? 2. MySQL 遇到过死锁问题吗,你是如何解决的? 3. 日常工作...
### 桥接 XPCOM 与 Bonobo:实现篇 #### 教程介绍 本教程旨在通过实际操作,向读者展示如何根据前一章节《桥接 XPCOM/Bonobo —— 技术》中介绍的技术来实现组件桥接。它将引导读者完成从 XPCOM 组件系统到 Bonobo...
「安全威胁」Bridging Emulation and the Real World with the Nintendo Game Boy - 工控安全 数据安全 攻防靶场 网络安全 勒索软件 数据库审计
Bridging_the_Gap_Between_Anchor-based_and_Anchor-f_ATSS
《应对城市轨道交通网络中断的公交接驳服务优化》 随着城市对公共交通的依赖度日益增强,城市轨道交通网络的任何小范围中断都可能导致大规模混乱和显著的生产力损失。因此,需要系统的方法来制定有效的应对策略,以...
本文研究的主要问题是大数据工作负载的I/O性能差距问题,并提出了一种基于新型NVDIMM(非易失性双列直插内存模块)的方法来桥接这一差距。文章的作者来自香港理工大学嵌入式系统与CPS实验室以及佛罗里达大学电气与...