@洛谷有题
好吧我只是想水个博客,顺便noip2018rp++
noip2017

首先一眼望出第一空为4,然后暴力第二空,首先对每条边编号

枚举出可行的方案为
{2,3,4}{2,4,7,8}{8,9,10,11}{8,10,11,12}{4,5,8,11}{9,13,15}{12,13,15}{9,13,16}{12,13,16},共九种
noip2016

设f(n)为1∗n方格方案数
对当前第一格的颜色进行讨论
- 白色,第二格可以任意涂色,方案数为f(n−1)
- 黑色,第二个只能白色,第三个可以任意涂色,方案数为f(n−2)
所以,f(n)=f(n−1)+f(n−2)
边界,f(0)=1,f(1)=2
推得f(8)=55
noip2015

容斥
[42015]=503,[52015]=403,[62015]=335
[202015]=100,[122015]=167,[302015]=67
[602015]=33
答案为2015−(503+403+335−100−167−67+33)=1075

经典卡特兰数,10∗9∗8∗7∗6/5/4/3/2/1/(5+1)=42
noip2013

期望dp(貌似是这么叫的)
f(n)表示在n的时候平均一共跳f(n)次
当前跳一次,可能落到前面的任何一个地方
f(n)=n[1+f(1)]+[1+f(2)]+...+[1+f(n−1)]+[1+f(n)]
即f(n)=n−1n+f(1)+f(2)+...+f(n−1)
边界,f(1)=0,推得f(5)=1237
noip2012

什么都不管,想想一个逻辑表达式最终的值与那些量有关
可能与{}{p}{q}{r}{p,q}{p,r}{q,r}{p,q,r}有关
所以答案为28=256

树形dp
f[u][0]表示不选当前结点的方案数,f[u][1]表示选当前结点的方案数
v表示u的儿子
f[u][0]=∏(f[v][0]+f[v][1])
f[u][1]=∏f[v][0]
u结点总方案数为f[u][0]+f[u][1]
初始化,叶子节点的f都为1
答案为5536