P4492-[HAOI2018]苹果树【dp】

正题

题目链接:https://www.luogu.com.cn/problem/P4492


题目大意

开始有一个节点,第iii次在一个儿子不超过222的节点下面长出一个新儿子编号为iii。求所有方案下树的路径长度和。


解题思路

考虑计算每条边的贡献,设gig_igi表示大小为iii的树的形态个数,fif_ifi表示所有大小为iii的树的路径长度和。然后题目给出的要求就是子节点编号比父节点大。

那么ggg有转移gi+1=∑j=0igjgi−jCijg_{i+1}=\sum_{j=0}^ig_jg_{i-j}C_{i}^jgi+1=j=0igjgijCij
fff的转移复杂一点,枚举子树大小jjji−ji-jij,那么子树jjj自己的贡献就是gj∗j∗(n−j)g_j*j*(n-j)gjj(nj),然后要乘上gi−jg_{i-j}gij表示每种左子树形态对应的树的形态个数。右边i−ji-jij同理,就有转移方程fi+1=∑j=0i(gigj(j∗(n−j)+(i−j)∗(n−i+j))+fj∗gi−j+fi−j∗gj)∗Cijf_{i+1}=\sum_{j=0}^i(\ g_ig_j(j*(n-j)+(i-j)*(n-i+j))+f_j*g_{i-j}+f_{i-j}*g_j\ )*C_{i}^jfi+1=j=0i( gigj(j(nj)+(ij)(ni+j))+fjgij+fijgj )Cij

时间复杂度O(n2)O(n^2)O(n2)


codecodecode

#include<cstdio>
#include<cstring>
#include<algorithm>
#define ll long long
using namespace std;
const ll N=2100;
ll n,p,f[N],g[N],c[N][N];
int main()
{scanf("%lld%lld",&n,&p);g[0]=c[0][0]=1;for(ll i=1;i<=n;i++)for(ll j=0;j<=i;j++)c[i][j]=((j?c[i-1][j-1]:0)+c[i-1][j])%p;for(ll i=0;i<n;i++){for(ll j=0;j<=i;j++){(g[i+1]+=g[j]*g[i-j]%p*c[i][j])%=p;(f[i+1]+=(((i-j)*(n-i+j)%p+j*(n-j)%p)*g[j]%p*g[i-j]%p+f[j]*g[i-j]%p+f[i-j]*g[j]%p)%p*c[i][j]%p)%=p;}}printf("%lld\n",f[n]);return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/320142.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

字符串hash(二)

从上一届已经讲了字符串hash的方法&#xff0c;hash后怎么用也很重要 文章目录一.查询子串的hash值查询子串减去期中一个字符后的hash值查询两个子串拼接的hash值**hash的模板&#xff08;自然溢出&#xff09;**char s[10010]; ull hashs(char s[]) {int lenstrlen(s);ull bas…

记一次.net core 集成vue 实践

简介以前我们总是喜欢用服务端渲染前端&#xff08;虽然也有htmlajax这种做法&#xff09;&#xff0c;后来node诞生了&#xff0c;前端工具链&#xff08;不如说生态&#xff09;诞生了&#xff0c;大家都开始了前端的重构之路&#xff0c;本文将以一简单案例介绍下我们是如何…

【矩阵乘法】幼儿园数学题II(ssl 2514)

幼儿园数学题II ssl 2514 题目大意 给出式子 f(1)1,f(2)1f(1)1,f(2)1f(1)1,f(2)1 f(n)−f(3)−f(4)−f(5)−...−f(n−3)−f(n−2)(n4)(n−1)/2f(n)-f(3)-f(4)-f(5)-...-f(n-3)-f(n-2)(n4)(n-1)/2f(n)−f(3)−f(4)−f(5)−...−f(n−3)−f(n−2)(n4)(n−1)/2 让你求前n项的和…

P3705-[SDOI2017]新生舞会【0/1分数规划,费用流】

正题 题目链接:https://www.luogu.com.cn/problem/P3705 题目大意 nnn对人&#xff0c;给出两个n∗nn*nn∗n的矩形a,ba,ba,b。求一个nnn配对满足∑i1naxi,yi∑i1nbxi,yi\frac{\sum_{i1}^na_{x_i,y_i}}{\sum_{i1}^nb_{x_i,y_i}}∑i1n​bxi​,yi​​∑i1n​axi​,yi​​​最大。…

最短路径

SPFA (Bellman-Ford 的队列优化版本)&#xff1a; 1、求单源最短路径&#xff0c;即每个点到源点的最短距离 2、可以处理负权边的情况 3、可以判断是否出现负权回路 #include<iostream> #include<vector> #include<cstring> #include<queue> using…

牛客网 【每日一题】5月11日题目精讲 Moovie Mooving

题目链接 时间限制&#xff1a;C/C 1秒&#xff0c;其他语言2秒 空间限制&#xff1a;C/C 32768K&#xff0c;其他语言65536K 64bit IO Format: %lld题目描述 Bessie is out at the movies. Being mischievous as always, she has decided to hide from Farmer John for L (1 …

AspNetCore中使用Ocelot之 IdentityServer4

前言&#xff1a;Ocelot网关是基于AspNetCore开发的可扩展的高性能的企业级Api网关&#xff0c;目前已经基于2.0 升级版本升级&#xff0c;在使用AspNetCore 开发的时候可以使用2.0版本了&#xff0c;开源项目Ocelot 张大队长是主力的参与人员&#xff0c;以前提起张大队前面都…

P3177-[HAOI2015]树上染色【树形dp】

正题 题目链接:https://www.luogu.com.cn/problem/P3177 题目大意 nnn个点的一棵树&#xff0c;将kkk个点染成黑色&#xff0c;其他是白色&#xff0c;使得黑点之间和白点之间两两距离和最大。 解题思路 也是统计每条边的贡献&#xff0c;设fx,if_{x,i}fx,i​表示节点xxx的子…

Nginx主配置文件详解【笔记】

1 Nginx配置文件目录结构 最近使用Nginx做负载均衡&#xff0c;顺便整理Nginx配置文件笔记如下所述&#xff0c;本文主要梳理主配置文件各属性的作用。使用yum安装好Nginx后&#xff0c;可以在默认路径&#xff08;/etc/nginx&#xff09;看到如下配置文件。 /etc/nginx/ ├─…

【矩阵乘法】Quad Tiling(poj 3420)

Quad Tiling poj 3420 题目大意 在一个4n的棋盘上&#xff0c;用12的多米诺骨牌把他填满&#xff0c;问有多少种方法 输入样例 1 10000 3 10000 5 10000 0 0 输出样例 1 11 95数据范围 1⩽N⩽1091 \leqslant N \leqslant 10^91⩽N⩽109 0<M⩽1050 < M \leqslant 10…

牛客网 【每日一题】5月12日题目精讲 模拟战役

链接&#xff1a; 文章目录题目描述题解&#xff1a;时间限制&#xff1a;C/C 1秒&#xff0c;其他语言2秒 空间限制&#xff1a;C/C 32768K&#xff0c;其他语言65536K 64bit IO Format: %lld题目描述 齐齐和司机在玩单机游戏《红色警戒IV》&#xff0c;现在他们的游戏地图被划…

微服务介绍及Asp.net Core实战项目系列之微服务介绍

0、目录整体架构目录&#xff1a;ASP.NET Core分布式项目实战-目录一、微服务选型在做微服务架构的技术选型的时候&#xff0c;以“无侵入”和“社区活跃”为主要的考量点&#xff0c;将来升级为原子服务架构、量子服务架构的时候、甚至恢复成单体架构的时候&#xff0c;代价最…

P3349-[ZJOI2016]小星星【树形dp,容斥】

正题 题目链接:https://www.luogu.com.cn/problem/P3349 题目大意 nnn个点的一棵树&#xff0c;再给出一张图&#xff0c;树上每个点对应图上每个点后要求树上的边图上都有&#xff0c;求有多少种对应方式。 解题思路 由于题目要求每个点只出现一次就加大了难度&#xff0c;可…

【矩阵乘法】生成树计数(luogu 2109/NOI 2007)

生成树计数 luogu 2109 题目大意 有n个排成一列的点&#xff0c;把距离不超过k的点之间连边&#xff0c;问这个图的生成树个数 输入样例 3 5输出样例 75样例说明 样例对应的图如下&#xff1a; 数据范围 解题思路 因为n十分大&#xff0c;不能直接2^m暴力枚举&#x…

[XSY] PQ树(区间DP)

PQ树 对于非叶子节点&#xff0c;它只能调换它的儿子的顺序&#xff0c;却不能调换整颗子树的顺序合法的PQ树都能表示出1,2,3,…,n 这个排列由以上两点可以得出&#xff1a;PQ树的每棵子树对应的一定都是一段连续的数字区间考虑区间DP&#xff0c;设f(l,r)f(l,r)f(l,r)表示数字…

牛客网 【每日一题】5月14日题目 maze

链接&#xff1a; 时间限制&#xff1a;C/C 1秒&#xff0c;其他语言2秒 空间限制&#xff1a;C/C 32768K&#xff0c;其他语言65536K 64bit IO Format: %lld题目描述 小明来到一个由n x m个格子组成的迷宫&#xff0c;有些格子是陷阱&#xff0c;用’#‘表示&#xff0c;小明…

你需要知道的这几种 asp.net core 修改默认端口的方式

一般情况下&#xff0c;aspnetcore发布后的默认端口是5000&#xff0c;这个大家都知道&#xff0c;而且默认骨架代码中没有看到任何让你输入的ip地址和端口号&#xff0c;但作为程序员的我们&#xff0c;不希望被框架所管制&#xff0c;那如何实现默认端口的修改呢&#xff1f;…

CF1139D-Steps to One【期望dp,莫比乌斯反演】

正题 题目链接:https://www.luogu.com.cn/problem/CF1139D 题目大意 不停的在表格中填下1∼m1\sim m1∼m中随机一个数&#xff0c;直到所有数的gcd1gcd1gcd1为止&#xff0c;求期望数的个数。 解题思路 设fnf_nfn​表示现在gcdgcdgcd为nnn时的期望个数。那么有转移方程fn∑i…

【DP】错排问题(ybtoj DP-1-1)

错排问题 ybtoj DP-1-1 题目大意 求n个数的错排种数 输入样例 2输出样例 1数据范围 1⩽n⩽201\leqslant n \leqslant 201⩽n⩽20 解题思路 设fif_ifi​为i个数的错排种数 考虑第i个数能放在前面i-1个位置的其中一个&#xff08;i-1种选法&#xff0c;要乘i-1&#xff0…

牛客网【每日一题】5月15日题目 储物点的距离

链接&#xff1a; 文章目录题目描述题解&#xff1a;代码&#xff1a;时间限制&#xff1a;C/C 1秒&#xff0c;其他语言2秒 空间限制&#xff1a;C/C 131072K&#xff0c;其他语言262144K 64bit IO Format: %lld题目描述 一个数轴&#xff0c;每一个储物点会有一些东西&#x…