上一页 1 ··· 7 8 9 10 11
摘要: 树形dp 概念类 树形dp是一种很优美的动态规划,真的很优美真的,前提是在你学会它之后。 实现形式 树形dp的主要实现形式是dfs,在dfs中dp,主要的实现形式是dp[ i ][ j ][ 0/1 ],i是以i为根的子树,j是表示在以i为根的子树中选择j个子节点,0表示这个节点不选,1表示选择这个 阅读全文
posted @ 2021-08-12 16:26 ¶凉笙 阅读(330) 评论(0) 推荐(0) 编辑
摘要: 一道非常好的 dp 和理解滚动数组的题 题目传送门 理解题意(做题即翻译) 有 n 个人摆成环形在玩传球游戏,每个人可以传给任意编号的人,但是某个 zz 觉得太简单了,于是加了 k 条限制:其格式为 u 不可传球到 v 这个人,问 m 次传球后回到 1 的方案数是多少。 数据范围很重要 n ⇐ 1e 阅读全文
posted @ 2021-08-12 16:25 ¶凉笙 阅读(233) 评论(0) 推荐(0) 编辑
摘要: 树的直径 方法一 : 两次dfs 方法二 : 利用动规求解,以每个结点向下延伸的最长长度为状态,顺便记录下向下延伸的次长长度,则数的直径便为 d1 + d2。 void dfs(int x,int fa){ f[x] = 1; int mx = 0; for(int i=head[x];i;i=nx 阅读全文
posted @ 2021-08-12 16:23 ¶凉笙 阅读(30) 评论(0) 推荐(0) 编辑
摘要: 扩展Lucas定理 为什么需要扩展Lucas定理 我们都知道,Lucas定理是用来求组合数取模一类问题的定理,但是当模数 p 为合数时,我们就无法使用定理来递归求解。 扩展Lucas定理的核心思想 唯一分解定理 + CRT(中国剩余定理) 说人话便是求出每个C(n,m)%p^k,在根据中国剩余定理求 阅读全文
posted @ 2021-08-12 16:22 ¶凉笙 阅读(18) 评论(0) 推荐(0) 编辑
摘要: 随机数 example: #include <iostream> #include <cstdlib> #include <ctime> using namespace std; int main() { srand((int)time(0)); // 产生随机种子 把0换成NULL也行 for ( 阅读全文
posted @ 2021-08-12 16:19 ¶凉笙 阅读(37) 评论(0) 推荐(0) 编辑
摘要: 绿豆蛙的归宿 一个我不知道的神奇blog宠物,去他喵的 解法:拓扑排序 + 数学期望 对于数学期望,紫书给出的定义如下: 随机变量 X 的数学期望 EX 就是所有可能值按照概率加权的和 所以只要建好图就行了不知道它是怎么变蓝的,之后我们对其进行两种类型的选择性操作: 1.逆推: 设对于结点 i,f[ 阅读全文
posted @ 2021-08-12 16:19 ¶凉笙 阅读(10) 评论(0) 推荐(0) 编辑
摘要: https://www.luogu.com.cn/problem/SP1043 #include <iostream> #include <cstdio> #include <algorithm> #include <cctype> #define re register #define ll lo 阅读全文
posted @ 2021-08-12 16:18 ¶凉笙 阅读(29) 评论(0) 推荐(0) 编辑
上一页 1 ··· 7 8 9 10 11