Skip to content

Commit

Permalink
Update 2024-06-11-youku-summer24-coding-test-09.md
Browse files Browse the repository at this point in the history
  • Loading branch information
xuyanshi committed Jun 11, 2024
1 parent 4bed2eb commit b3543bc
Showing 1 changed file with 31 additions and 31 deletions.
62 changes: 31 additions & 31 deletions _posts/2024/2024-06-11-youku-summer24-coding-test-09.md
Original file line number Diff line number Diff line change
Expand Up @@ -200,70 +200,70 @@ print(ans)



### Q3 小红的 red 重排 25 pts
### Q3 小红的树上染色 25 pts

小红有一棵树,节点编号从1到n。第i个节点的权值为ai。

小红需要将一个所有节点编号均小于等于 x 的连通块染红,使得连通块的节点权值和尽可能大,小红需要求出最大的权值和。

小红觉得这题太简单了,因此她会询问 n 次,将 x 按1到n的顺序各询问一次,请求出每次询问的答案。

小红拿到了一个长度为3*n的字符串,其中'red'三种字符都恰好有n个。

现在她每次操作可以交换任意两个字符,请你求出小红使得该字符串包含n个"red"连续子串的操作操作次数,并给出任意一个方案。

**输入描述**

第一行输入一个正整数n。
第一行输入一个正整数n,表示节点数量

第二行输入一个长度为3*n的,由n个'r'、n个'e'、n个'd'组成的字符串
第二行输入n个正整数a_i,代表每个节点的权值

1≤ n ≤ 50000
接下来的 n-1 行,每行输入两个正整数 u 和 v,代表节点u和节点v有一条无向边相连。

**输出描述**
1 ≤ n ≤ 10^5

1 ≤ a_i ≤ 10^9

第一行输入一个正整数 q ,代表操作次数。
**输出描述**

接下来的 q 行、毎行输入两个正整数u、v,代表交换第 u 个字符和第 v 个字符
输出n行,第 i 行代表 x=i 时的问题答案

**示例 1**

**输入**

```
1
edr
5
2 3 1 7 2
1 2
1 3
2 5
4 5
```

**输出**

```
2
1 3
2 3
5
6
7
15
```

**说明**

```
首先交换第一个字符和第三个字符,字符串变成"rde"。
然后交换第二个字符和第三个字符,字符串变成"red"。
```

**示例 2**

**输入**

```
3
redredred
```

**输出**

```
0
X=1时,只染红1号节点即可。
x=2时,染红1、2号节点。
X=3时,染红1、2、3号节点。
x=4时,只染红4号节点。
x=5时,可以全部染红。
```



#### My Solution

没做。
题目都没看懂,没做。

```python
# TODO
Expand Down

0 comments on commit b3543bc

Please sign in to comment.