1905_算法设计例题:电路分布(DP)

2022-5-16 18:17| 发布者: Hocassian| 查看: 48| 评论: 0|原作者: 肇庆学院ACM合集

摘要:
C:\Users\Administrator\Downloads\2019-10-12-10-14-3-89504132377100-Problem List-采集的数据-后羿采集器.html

Pro.ID

1905

Title

算法设计例题:电路分布(DP)

Title链接

http://10.20.2.8/oj/exercise/problem?problem_id=1905

AC

154

Submit

425

Ratio

36.24%

时间&空间限制

  • Time Limit: 1000/500 MS (Java/Others)     Memory Limit: 32768/32768 K (Java/Others)
  • 描述

    在一块电路板的上、下两端分别有n个接线柱。根据电路设计,要求用导线(iπ(i))将上端接线柱i与下端接线柱π(i)相连,如图所示。

    其中,π(i),1 ≤ in是 {1, 2, …, n} 的一个排列。导线(i, π(i))称为该电路板上的第i条连线。对于任何1 ≤ i < jn,第i条连线和第j条连线相交的充分且必要条件是 π(i) > π(j)。

    在制作电路板时,要求将这n条连线分布到若干绝缘层上,在同一层上的连线不相交。你的任务是要确定将哪些连线安排在第一层上,使得该层上有尽可能多的连线。换句话说,就是确定导线集Nets={ i, π(i),  1 ≤ in }的最大不相交子集。

    输入

    输入的第一行为整数n ( 1 ≤ n ≤ 500 );接下来n行,每行两个整数表示导线(i, π(i))

    输出

    Description

    在一块电路板的上、下两端分别有n个接线柱。根据电路设计,要求用导线(iπ(i))将上端接线柱i与下端接线柱π(i)相连,如图所示。

    其中,π(i),1 ≤ in是 {1, 2, …, n} 的一个排列。导线(i, π(i))称为该电路板上的第i条连线。对于任何1 ≤ i < jn,第i条连线和第j条连线相交的充分且必要条件是 π(i) > π(j)。

    在制作电路板时,要求将这n条连线分布到若干绝缘层上,在同一层上的连线不相交。你的任务是要确定将哪些连线安排在第一层上,使得该层上有尽可能多的连线。换句话说,就是确定导线集Nets={ i, π(i),  1 ≤ in }的最大不相交子集。

    Input

    输入的第一行为整数n ( 1 ≤ n ≤ 500 );接下来n行,每行两个整数表示导线(i, π(i))

    Output

    输出只有一个整数,表示导线集最大不相交子集。

    Sample Input

    10
    1 8
    2 7
    3 4
    4 2
    5 5
    6 1
    7 9
    8 3
    9 10
    10 6

    Sample Output

    4

    Author

    样例输入

    10
    1 8
    2 7
    3 4
    4 2
    5 5
    6 1
    7 9
    8 3
    9 10
    10 6

    样例输出

    4

    作者


    路过

    雷人

    握手

    鲜花

    鸡蛋

    最新评论

    返回顶部