有顺序的树链剖分模板题,注意Node中ans初始值为0(否则相当于空序列中有一种颜色)并且Lval和Rval的值不能存在于序列之中
独木桥
你在桥上看风景,看风景的人在轰炸机上看着你。
一句话:两个人相遇后可以看做互换身份然后走和没相遇直接穿过去是一样的
[FJOI2007] 轮状病毒
由于内容过长、公式较多,暂时将内容隐藏,请公式恐惧症们做好心理准备。
[BZOJ3771]Triple
不同情况的生成函数
我们先设
对于样例来说:
再设
对于样例来说:
解释一下
由于数据范围较大,需要用FFT或NTT优化
[BZOJ3759] Hungergame
转载自joyouth
首先我们不难看出如果存在一个异或和为0的子集,那么先手必胜,否则先手必败
证明如下:
1、首先如果至少存在一个异或和为0的子集,那么一定存在一个异或和为0的子集使得选取之后剩下的数的任意子集异或和不为0
2、假设我们已经选取了一个异或和为0的子集,无论后手怎么做,我们总是有办法使得当前选取的子集异或和为0,因为后手无论是拿石子还是取石子之后,当前子集异或和不等于0,根据Nim游戏可知,此时先手一定有方案使得异或和为0
至此,我们证明了如果至少存在一个异或和为0的子集,先手必胜
那么题目就转化为求是否存在一个子集异或和为0,用线性基即可
solution-code2593
每种水的生成函数
第1种:
第2种:
第3种:
第4种:
第5种:
乘在一起得到:
带入广义二项式定理得:
当
所以答案就为
solution-code4763
每种食物的生成函数
汉堡:
可乐:
鸡腿:
蜜桃多:
鸡块:
包子:
土豆片炒肉:
面包:
乘在一起得到:
带入广义二项式定理得
当
所以答案就为
solution-code4837
模板题,多注意细节即可
[NOI2008]志愿者招募
转载自byvoid
这道题正确的解法是构造网络,求网络最小费用最大流,但是模型隐藏得较深,不易想到。构造网络是该题的关键,以下面一个例子说明构图的方法和解释。
[luogu4834]萨塔尼亚的期末考试
这里有oeis的解释,但是我看不懂
题目大意:快速地求
写一个矩阵快速幂就可以解决问题,时间复杂度
观察一下结果,可以发现我们分别对ans中两个相邻的fib值进行计算,这并没有利用好矩阵乘法的性质
回想一下最初学习矩阵快速幂的时候,老师演算fib的时候是一个
我们用老师最初讲的方法来计算fib的值,可以节省一半的时间,在加上
UPD: 老师最后写的方法并不是错的,在只求一次或者不相邻的项中会显得更快一些,但这并不代表我们可以忘掉原来讲的那种方法(这真的是一道好题)
最终的矩阵为: