[BZOJ3696][FJSC2014]化合物(异或规则下的母函数)

题目:http://hzwer.com/3708.html

分析:

类似树分治思想,设f[x][i]表示以x为根的子树的所有点中,与x的距离为i的点有多少个,这个可以预处理出来

然后我们考虑每颗子树对ans的贡献

1、以x为起点的某条链i,ans+=f[x][i]

2、以x为起点的两颗不同的子树i,j:

    如果把“异或”看作“和”,那么就是两个子树对应的f[]相乘(其实就是母函数啦)

    但是这里是“异或”啊!!其实只要把作乘法时候的系数不要变,指数xor一下就行

    比如说正常的乘法:{1,3}*{1}==(x+3x^2)*(x)==x^2+3x^3

    这里就是{1,3}^{1}==(x+3x^2)^(x)==x^(1^1)+3x^(1^2)==x^0+3x^3

时间: 2024-09-29 09:27:45

[BZOJ3696][FJSC2014]化合物(异或规则下的母函数)的相关文章

【BZOJ3696】化合物 树形DP+暴力

[BZOJ3696]化合物 Description 首长NOI惨跪,于是去念文化课了.现在,他面对一道化学题.    这题的来源是因为在一个奇怪的学校两个化竞党在玩一个奇怪的博弈论游戏.这个游戏很蛋疼,我相信你们也没有兴趣听.    由于这个游戏涉及博弈论,因此化竞的同学就要求首长求一个类似SG函数的值.    他们手中有一种非常神奇的化合物,它的分子由N个原子组成(不要在意一个原子可能和及其多个原子成键这个细节).这个分子构成一个树结构,1号分子为根.    若两个原子i.j到它们的最近公共祖

[FJSC2014]化合物

[题目描述] 首长NOI惨跪,于是去念文化课了.现在,他面对一道化学题. 这题的来源是因为在一个奇怪的学校两个化竞党在玩一个奇怪的博弈论游戏,这个游戏很蛋疼,我相信你们也没有兴趣听. 由于这个游戏涉及博弈论,因此化竞的同学就要求首长求一个类似SG函数的值. 他们手中有一种非常神奇的化合物,它的分子由N个原子组成(不要在意一个原子可能和及其多个原子成键这个细节).这个分子构成了一个树结构,1号分子为根. 若两个原子i.j到它们的最近公共祖先的距离分别是li和lj,定义它们的Aij值为: Aij =

新规则下业务招待费的税前扣除与会计处理

业务招待费是指企业为经营业务的需要而支付的应酬费用?其超标扣除是许多企业面临的问题,也是所得税汇算清缴时涉及调整最多的成本费用项目.企业如果不能对业务招待费进行正确的税前扣除,不仅可能增加企业的纳税负担,还可能增加企业汇算清缴时的工作量.因此,对于业务招待费的正确列支,应引起企业财务人员的高度重视.对此,本文将详述业务招待费的税前扣除政策及会计处理方法. 业务招待费税前扣除比例 2008 年 1 月 1 日起施行的<企业所得税法实施条例>(以下简称<实施条例>)第四十三条规定:企业

注意Vietnamese_CI_AS排序规则下的特殊字符大小敏感问题

注意Vietnamese_CI_AS排序规则下的特殊字符大小敏感问题   最近,在SQL Server中遇到了Vietnamese_CI_AS排序规则的特殊字符的大小写敏感问题,是的,你没有看错,这句话并没有语病(DBA老司机懂的).遇到这个特殊情况的时候,我也大跌眼镜,颠覆我的一些常识,OK,闲话少说,我们来演示一下这个特殊场景下出现的特殊情况. 准备测试环境: 服务器排序规则(Server Collation)         :  Latin1_General_CI_AS 数据库排序规则(

vue-router规则下 history模式在iis服务器上配置

vue默认模式是hash模式    url地址栏会带有"#"这个字符. 例如:http://www.xxx.com/#/index 感觉和正常的url相比有点丑. 如何让此地址如正常的url一样  官网告诉我用hostory模式... 但是当我布置完后 刷新就是404...感觉还不如url丑点那. 但是事情的结果大多都会很美好.然后查了一些资料.... 因为vue属于单页面应用   所以iis识别不了vue路由规则. 问题找到了---方法就好找了.... 第一个比较笨的方法是:iis站

乒乓球与羽毛球不同发球规则下选手的胜率——概率论+程序分析

1.当第一个选手具有发球权,如果第一个选手赢了,第一个选手得一分,如果第一个选手输了,第二个选手具有发球权,而不会得分 2.赢的人发球 3.每两球换一个人发球 每种情况分是否有两分拉锯战,共六种情况,其中第一种情况对发发球者有较大的优势:第二种情况有优势,但优势不大:第三种情况(赢t球胜),当t为奇数,且有拉锯战时,两选手胜率相同. 1 #include <stdio.h> 2 #include <stdlib.h> 3 4 int main() 5 { 6 double f[10

【bzoj3696】化合物 树形dp

题目描述 首长NOI惨跪,于是去念文化课了.现在,他面对一道化学题.这题的来源是因为在一个奇怪的学校两个化竞党在玩一个奇怪的博弈论游戏.这个游戏很蛋疼,我相信你们也没有兴趣听.由于这个游戏涉及博弈论,因此化竞的同学就要求首长求一个类似SG函数的值.他们手中有一种非常神奇的化合物,它的分子由N个原子组成(不要在意一个原子可能和及其多个原子成键这个细节).这个分子构成一个树结构,1号分子为根.    若两个原子i.j到它们的最近公共祖先的距离分别是Li和Lj,定义它们的Aij值为:Aij=Li  x

[bzoj3696]化合物_树形dp

化合物 bzoj-3696 题目大意:给你一棵树,定义两个点i , j之间的A值是(dis[i]-dis[lca(i,j)])xor(dis[j]-dis[lca(i,j)]).对所有的k$\in$[1,n],A值等于k的点对数量. 注释:$1\le n\le 10^5$,$1\le maxdis \le 500$. 想法:说什么异或意义下的母函数,完全不会(具体数学没看完的垃圾蒟蒻).其实就是个暴力... 我们设dp[pos][i]表示以pos为根,长度为i的链的个数,然后直接转移.每次$H^

RMAN异机恢复到不同的路劲下

1.全库备份,scp到异机目录下  查询源库的DBID:   SQL> select dbid,name from v$database; DBID NAME ---------- ---------  439840715 YIJI SQL>    异机建立dump目录.oradata下建立SID名对应目录  2.恢复spfile,启动到nomount:       export ORACLE_SID=yiji    rman target /    set dbid=439840715