#P14839. [立陶宛2019]mokesciai-vyr逃税

    ID: 14055 传统题 1000ms 256MiB 尝试: 1 已通过: 1 难度: 7 上传者: 标签>CF2300图论二分贪心倍增数据结构LCA树形DP

[立陶宛2019]mokesciai-vyr逃税

题目描述

Just, Inc. 是一家大型国际公司,在不同国家拥有 NN 个银行账户。这些账户由 N1N-1 条直接通道连接,使得任意一个账户都可以直接或通过中间账户向任意其他账户转账。

如果两个账户之间有直接通道,那么一次转账需要一个晚上才能完成。如果没有直接通道,转账就要经过中间账户,因此资金需要多天才能到达目的地。

外部税务局(External Revenue Service,简称 ERS)怀疑 Just 正在逃税,因此计划调查该公司名下的所有账户。调查过程如下:

  1. 第一天早晨,ERS 会调查 11 号账户:

    • 如果该账户中有 11 吉美元(gigadollar),Just 必须立即缴税;
    • 如果该账户中有 22 吉美元或更多,公司的 CEO 将被控伪造并被监禁。Just 无论如何都不会允许这种事发生;
    • 如果该账户为空,那么在调查完该账户之后,Just 暂时还不需要缴税。
  2. 第一天晚上,Just 会沿每条通道向任意方向转移非负整数数量的吉美元。不过,Just 不能向当天早些时候刚被调查的账户转入或从该账户转出资金,即不能使用 11 号账户。

  3. 第二天早晨,ERS 会调查一个与上一天调查的账户 11 号通过直接通道相连的账户。该账户按照上面的规则处理。Just 不知道 ERS 会选择哪个账户。

  4. 第二天晚上,Just 会进行新的转账。与之前一样,当天刚被调查的账户不能被使用。

  5. 第三天及之后继续调查,直到 ERS 决定已经进行了足够多的调查。

Just 非常清楚调查流程。它计划每天在账户之间转账,使得资金尽可能晚地被发现,并且公司永远不会被控伪造。然而,Just 不知道 ERS 会选择哪些账户,也不知道调查会持续多少天,因此它必须为最坏情况做准备。

换句话说,Just 会安排转账,使得无论 ERS 如何行动,公司都不会被控伪造,并且第一次缴税的时间尽可能晚。

任务

第一天早晨,有 MM 个不同账户中各有 11 吉美元,其余账户为空。

请编写程序,假设 Just 采用最优转账策略,求 Just 最早会在第几天第一次缴税。

输入格式

第一行包含两个整数 NNMM,分别表示账户数量和初始时含有 11 吉美元的账户数量。

接下来 N1N-1 行,每行包含一个整数 sis_i。对于 1sii1\le s_i\le isis_i 表示账户 i+1i+1 与账户 sis_i 之间存在一条直接通道。

最后一行包含 MM 个互不相同的整数,表示初始时含有 11 吉美元的账户编号。

输出格式

输出一个整数,表示 Just 第一次必须缴税的日期编号。

样例 1

输入

7 2
1
2
3
3
5
6
3 4

输出

5

样例解释

展示样例 1 中从第一天早晨到第五天早晨,ERS 依次检查账户以及 Just 如何转移资金的过程。

如果在第四天晚上 Just 把 22 吉美元转到 77 号账户,那么第五天早晨 ERS 会发现 66 号账户为空,但第六天会发现某个账户中有 22 吉美元,于是 Just 将被控伪造。

样例 2

输入

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

输出

5

样例解释

如果 Just 将 11 吉美元从 55 号账户转到 33 号账户,钱只会在第二天晚上到达目的账户。然而,第三天早晨 ERS 就会检查 33 号账户并发现这笔钱。因此 Just 会把 11 吉美元留在 55 号账户,ERS 将在第五天早晨发现它。

样例 3

输入

4 3
1
2
3
2 3 4

输出

2

样例解释

如果 Just 试图在第二天早晨推迟缴税,它之后将会被控伪造。

展示样例 3 中一种错误策略,说明该策略虽然试图推迟缴税,但最终会导致账户中出现 22 吉美元而被控伪造。后期可在此处补入原题图。

数据范围与子任务

对所有测试数据均满足:

1N200000,1\le N\le 200000, 1MN.1\le M\le N.
子任务 分值 额外限制
1 10 si=is_i=i
2 22 M=1M=1
3 39 N5000N\le 5000
4 29 无额外限制