专栏文章

MX Day2

生活·游记参与者 1已保存评论 0

文章操作

快速查看文章及其快照的属性,并进行相关操作。

当前评论
0 条
当前快照
1 份
快照标识符
@minpjokn
此快照首次捕获于
2025/12/02 06:15
3 个月前
此快照最后确认于
2025/12/02 06:15
3 个月前
查看原文

T1:

7sVb4m.png
做法:
1、统计自由数,也就是 aia_i == bib_i 的那些数,这些数可以随便交换;
2、找出第一个不在自由数中的数字,这个就是答案,之于为什么只能从自由数之前找,因为我们要保证这些数一定不能被交换出来,而自由数无论怎么交换永远存在数组里面
3、找出那些位子不能交换,也就是包含答案数的位子;
4、之后排列组合

T2:

7sVW2L.png
1、我们可以确定当前节点选还是不选;
2、定义dp[u][0/1][0/1]表示当前点u选还是不选,它的父亲选还是不选,如果当前点不选,则我们可以直接将他的儿子节点的答案相乘,毕竟没有限制,这几个儿子不相连。 7sVdEt.png
你问我为啥不考虑他的爹,因为u不选他的爹也不会影响答案,应该乘进去,因为dp状态表示的是当前子树中的答案
3、否则,我们就要考虑选择u的情况,先考虑要选这个叶子的父亲,也就是u自己,第三维度一定是1。之后我们可以考虑是否选择v,如果我们此时还有空间,就选dp[v][1][1]。

code:

1759546453488.png

T3:

评论

0 条评论,欢迎与作者交流。

正在加载评论...