HBC236627[ZJOI2008]骑士,动态规划,树,树形dp,动态规划生日题解

上官魅 算法基础篇 98 0
想要检验自己的编程水平?来试试全网最全C++题库,让您在挑战中不断进步。
⊕ 是位运算中的异或运算符,同理,若三个人或更多人在同一天过生日,则这些人产生的快乐值是所有在这一天过生日的人的异或值,若某一个人单独过生日,则不产生任何快乐值,为了使得公历生日不同的鸡尾酒和玥玥也可以在同一天过生日,鸡尾酒规定每个人有两个生日,一个公历生日,一个农历生日,且可以在这两天中任选一天进行“过生日”活动,现在我们假设第。+7 取模后的结果。

共有 n n 个人,分别编号为 1 sim n 1∼n,每一个人都有一个属性值,其中第 i i 个人的属性值为 a_i a i ​ 。如果有两个编号为  i,j i,j 的人在同一天过生日,则他们两个人会产生 a_i oplus a_j a i ​ ⊕a j ​ 的快乐值,其中 oplus ⊕ 是位运算中的异或运算符。同理,若三个人或更多人在同一天过生日,则这些人产生的快乐值是所有在这一天过生日的人的异或值。若某一个人单独过生日,则不产生任何快乐值。 为了使得公历生日不同的鸡尾酒和玥玥也可以在同一天过生日,鸡尾酒规定每个人有两个生日,一个公历生日,一个农历生日,且可以在这两天中任选一天进行“过生日”活动。现在我们假设第 i i 个人的公历生日为第 i i 天,农历生日为第 lfloor frac{i}{2} rfloor ⌊ 2 i ​ ⌋ 天(其中 lfloor x rfloor ⌊x⌋ 表示对 x x 向下取整)。那么这 n n 个人会有很多种不同的过生日方案,现在鸡尾酒想问你所有过生日方案的所有快乐值之和是多少? 两种过生日方案不同当且仅当存在某一个人 i i 在两种方案中选择了不同的一天进行过生日。 由于答案可能很大,请输出答案对 10^9+7 10 9 +7 取模后的结果。

HBC236627[ZJOI2008]骑士,动态规划,树,树形dp,动态规划生日题解
-第1张图片-东莞河马信息技术
(图片来源网络,侵删)
不断挑战自我,才能突破极限!全网最全C++题库,让您在编程道路上越走越远。

标签: HBC236627[ZJOI2008]骑士 动态规划 树形dp 动态规划生日题解