递推
lleozhang
这个作者很懒,什么都没留下…
展开
-
noip 模拟赛 正睿oi(一) 给
给 (ca.pas/c/cpp) 【背景描述】 对于任意1 ≤ k ≤ N, 求有多少个左右区分的恰有k个叶子节点的二叉树, 满足对于每个节点要么没有叶子节点要么有两个节点, 同时不存在一个叶子节点, 使得根到它的路径上有不少于M条向左的边。 你只需要求出答案对998244353取模的结果。 【输入格式】 输入共一行,两个正整数M, N。 ...原创 2018-07-24 16:52:13 · 2290 阅读 · 0 评论 -
NOI 2012 随机数生成器
看到全是矩阵的题解,我来一发递推+分治 其实这题一半和poj1845很像(或是1875?一个叫Sumdiv的题) 言归正传,我们看看怎么由f(0)推出f(n) 我们发现,题目中给出了f(n)=af(n-1)+c(取模略过) 那么顺着递推,可得:f(n-1)=af(n-2)+c 代入,得: f(n)=a^2 f(n-2)+(a+1)c 继续递推,得: f(n)=a^n f( 0 )+...原创 2018-09-17 20:24:46 · 211 阅读 · 0 评论 -
2018.10.14 noip模拟赛 超级树
题意:给定一个深度为k的满二叉树,将他的所有节点向这个点的所有祖宗连边,求新生成的这样一棵树中经过一个点最多的路径数目 怎么搞? 显然是个递推嘛... 记状态f[i][j]代表二叉树的深度为i,从中选出j条互不相交的路径的方案数(即这些路径不会经过同一个点超过一次) 然后呢? 我们会发现,由i变成i+1时,超级树的变化就相当于将两棵深度为i的超级树连到一个根上,然后将所有点与根连边即可 ...原创 2018-10-15 19:12:03 · 317 阅读 · 0 评论 -
bzoj 1002
表示我这种蒟蒻面对这种递推第一思想显然是打表啊 先贴个用来打表的暴力: #include <cstdio> struct node { int l,r; }p[100005]; bool used[100005]; int f[100005]; int n,cnt,cct; int findf(int x) { if(x==f[x]) { ...原创 2018-10-16 16:00:09 · 102 阅读 · 0 评论 -
noip 模拟赛2018.10.28 T2 color
好玄学的组合数递推啊... 设状态dp[i][j]表示以当前更新到了第i列,第i列使用了j种颜色的合法的方案数 那么,由于题目要求考虑相邻两列的问题,所以我们还需枚举上一列的颜色种类以及两列颜色种类总数,那么可以进行转移: 其中g[n][k]表示一列中用k中颜色来涂的不同的方案数,有递推: 稍微证明一下组合数递推式: 首先,我们枚举的x是相邻这两列的颜色种类之和,也就是种类之...原创 2018-10-29 16:32:08 · 194 阅读 · 0 评论