CF1540B Tree Array(期望,dp)

解析

关于合理的实现

这题卡在最后的小破dp是我没想到的

一开始看到200的数据范围就不禁笑出了声
lca直接On求!
然后就开始大力分类讨论
然后就卡在了一个问题上
两个栈AB,分别有a和b个元素,随机从两个栈中弹出一个元素,求最后A栈先空的概率

我天真的认为,上面那个东西就等于ba+b\frac{b}{a+b}a+bb
然后样例3就卡住了。。。

事实是一个简单的dp即可
所以思路还是要灵通

代码

#include<bits/stdc++.h>const int N=205;
const int mod=1e9+7;
#define ll long long
using namespace std;
inline ll read() {ll x(0),f(1);char c=getchar();while(!isdigit(c)) {if(c=='-')f=-1;c=getchar();}while(isdigit(c)) {x=(x<<1)+(x<<3)+c-'0';c=getchar();}return x*f;
}int n,m;struct node{int to,nxt;
}p[N<<1];
int fi[N],cnt;
inline void addline(int x,int y){p[++cnt]=(node){y,fi[x]};fi[x]=cnt;return;
}int dep[N],fa[N],lca[N][N],dis[N][N];
void dfs(int x,int f){fa[x]=f;dep[x]=dep[f]+1;for(int i=fi[x];~i;i=p[i].nxt){int to=p[i].to;if(to==f) continue;dfs(to,x);}return;
}
inline int Lca(int x,int y){if(dep[x]<dep[y]) swap(x,y);while(dep[x]>dep[y]) x=fa[x];while(x!=y){x=fa[x];y=fa[y];}return x;
}
ll ni[N];
inline ll ksm(ll x,ll k){ll res(1);while(k){if(k&1) res=res*x%mod;x=x*x%mod;k>>=1;}return res;
}
ll f[N][N];
int main(){
#ifndef ONLINE_JUDGEfreopen("a.in","r",stdin);freopen("a.out","w",stdout);
#endifmemset(fi,-1,sizeof(fi));cnt=-1;n=read();for(int i=1;i<=n;i++) ni[i]=ksm(i,mod-2);for(int i=0;i<=n;i++){for(int j=1;j<=n;j++) f[i][j]=i==0?1:(f[i-1][j]+f[i][j-1])*ni[2]%mod;}for(int i=1;i<n;i++){int x=read(),y=read();addline(x,y);addline(y,x);}//fprintf(stderr,"OK\n");dfs(1,0);for(int i=1;i<=n;i++){for(int j=i;j<=n;j++){lca[i][j]=lca[j][i]=Lca(i,j);dis[j][i]=dis[i][j]=dep[i]+dep[j]-2*dep[lca[i][j]];}}ll ans(0);for(int i=1;i<=n;i++){for(int j=1;j<i;j++){int o=lca[i][j];for(int k=1;k<=n;k++){if(k==i){(ans+=ni[n])%=mod;continue;}if(k==j) continue;int pl(0);if(dep[lca[i][k]]>dep[lca[j][k]]) pl=lca[i][k];else pl=lca[j][k];if(o==i){if(lca[i][pl]==pl) (ans+=ni[n])%=mod;else if(pl==j) continue;else{(ans+=f[dis[pl][i]][dis[pl][j]]*ni[n])%=mod;}}else if(o==j){if(lca[j][pl]==pl) continue;else if(pl==i) (ans+=ni[n])%=mod;else{//if(i==5&&j==1&&k==2) printf("%")(ans+=f[dis[pl][i]][dis[pl][j]]*ni[n])%=mod;}}else{if(dep[pl]<dep[o]) pl=o;if(pl==i) (ans+=ni[n])%=mod;else if(pl==j) continue;else{(ans+=f[dis[pl][i]][dis[pl][j]]*ni[n])%=mod;}}}}}printf("%lld\n",ans);return 0;
}
/*5 37 1 4 1 9 1 3 5 31 1 4 22 3 5
*/

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

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

相关文章

pjudge#21614-[PR #1]守卫【Kruskal生成树,费用流】

正题 题目链接:http://pjudge.ac/problem/21614 题目大意 给出一张nnn个点mmm条边的一张图&#xff0c;有kkk个守卫&#xff0c;每个守卫都有一个点集SSS表示这个守卫可以被派遣到这个点集中的某个点&#xff0c;然后你可以选择一些边删除&#xff0c;要求使得每个点都恰好和…

I - The Mad Mathematician FZU - 2042(未解决)

I - The Mad Mathematician FZU - 2042 题意&#xff1a; 给你一段伪代码&#xff1a;如图 现在给你A&#xff0c;B&#xff0c;C&#xff0c;D&#xff0c;E&#xff0c;的具体值&#xff0c;问你sum是多少 0<A,B,C,D,E<263-1 题解&#xff1a; 数位dp&#xff1f;…

程序员修仙之路--高性能排序多个文件

点击上方蓝色字体&#xff0c;关注我们菜菜呀&#xff0c;昨天晚上班级空间崩溃了程序员主力 Y总what&#xff1f;菜菜我看服务器上写了很多个日志文件&#xff0c;我看着太费劲了&#xff0c;能不能按照日期排序整合成一个文件呀&#xff1f;程序员主力 Y总Y总要查日志呀&…

CF718E Matvey‘s Birthday(状压、bfs、暴力、分类讨论)

解析 比较复杂的一道题 看数据范围&#xff0c;我们肯定要从种类很少的颜色入手 因为第二种加边方式和颜色密切相关 所以设计disi,kdis_{i,k}disi,k​表示 i 号节点到颜色为 k 的节点的最小步数 通过对每个k bfs一遍就能得出答案 然后两个点之间的距离就可以写出转移式&#…

P5366-[SNOI2017]遗失的答案【状压dp,FWT】

正题 题目链接:https://www.luogu.com.cn/problem/P5366 题目大意 给出一个n,G,Ln,G,Ln,G,L。 qqq次询问在1∼n1\sim n1∼n中选择若干个数字并且数字xxx必选&#xff0c;要求这些数的gcdgcdgcd为GGG且lcmlcmlcm为LLL的方案数。 1≤n,G,L,x≤108,1≤q≤1051\leq n,G,L,x\leq 1…

2017ACM/ICPC广西邀请赛

2017ACM/ICPC广西邀请赛&#xff08;感谢广西大学&#xff09; 题号题目考点难度AA Math Problem数论签到题BColor itCCounting StarsDCoveringECS Course思维 &#xff0c;二进制思维题FDestroy Walls最大生成树GDuizi and Shunzi思维题HLaw of CommutationIMatching in a Tr…

【.NET Core项目实战-统一认证平台】第十四章 授权篇-自定义授权方式

上篇文章我介绍了如何强制令牌过期的实现&#xff0c;相信大家对IdentityServer4的验证流程有了更深的了解&#xff0c;本篇我将介绍如何使用自定义的授权方式集成老的业务系统验证&#xff0c;然后根据不同的客户端使用不同的认证方式来集成到统一认证平台。.netcore项目实战交…

CF1500C Matrix Sorting(拓扑排序)

解析 神仙题 我想到了一部分&#xff0c;但是由于没想到倒着做&#xff0c;后面越想越复杂… 本题的关键是要倒着想 考虑最后一次排序的列x 必须是单调不增的 否则直接错 然后倒数第二列y 必须在x列相等的段内单调不增&#xff0c;因为这些地方x无法起到排序的作用 同理再到倒…

P8292-[省选联考 2022]卡牌【状压,容斥】

正题 题目链接:https://www.luogu.com.cn/problem/P8292 题目大意 有nnn张卡牌&#xff0c;第iii张上的数字是sis_isi​。mmm次询问给出cic_ici​个质数&#xff0c;要求选择一些卡使得这些卡的乘积是这些质数的倍数&#xff0c;求方案数。 1≤n≤106,1≤si≤2000,1≤m≤1500…

D - Covering HDU - 6185(未解决完)

D - Covering HDU - 6185 题意&#xff1a; 4 * n的地板&#xff0c;有无数个1 * 2 和2 * 1 的砖块&#xff0c;问有多少方式填满&#xff1f; 1≤n≤10^18 题解&#xff1a; 矩阵快速幂 代码&#xff1a;

.NET-记一次架构优化实战与方案-前端优化

前言上一篇《.NET-记一次架构优化实战与方案-梳理篇》整理了基本的业务知识&#xff0c;同时也罗列了存在的问题&#xff0c;本篇主要是针对任务列表的页面进行性能优化。该篇主要涉及的是代码实现上的优化&#xff0c;实现上的问题是战术债务&#xff0c;也就是我们平常出现的…

11.17 模拟:总结

解析 50pts 50000 最后一次模拟 …说不出太多好话来 口罩、核酸、没样例、最困的点、T4诡异的题面和莫名其妙的链接…可以说是天时地利人和全都没的一干二净了 但有一说一今天的题&#xff08;除了T4&#xff09;都还是不错的&#xff0c;虽然难的要死&#xff0c;但是大部分…

GDOI2022游记

文章目录Day -1Day 0Day 1Day 2Day 3()Day ?~?Day ?Day -1 考前好像写题状态不太好&#xff08;可能是纯粹的懒&#xff09;。 开始写板子&#xff0c;很多算法都很久没碰了&#xff0c;有的调了很久才过。树剖都调了一个多小时&#xff0c;身败名裂。不过想想省选应该不怎…

第十一届山东省大学生程序设计竞赛

第十一届山东省大学生程序设计竞赛 题号题目知识点难度ABeta GoBBuild Roads最小生成树&#xff0c;思维题一般CCat Virus构造题有点难想DDyson Box模拟签到题EEvaluate ExpressionFBirthday CakeGGrade Point Average模拟签到题HAdventurer’s Guild背包问题签到题IChemical …

[CF/AT/Luogu]各大网站网赛 爆肝部部长工作报告文件Ⅱ

文章目录CodeForcesLATOKEN-Round-1(Div.1Div.2)A. Colour the FlagB. Histogram UglinessC. Little Alawns PuzzleD. Lost TreeE. Lost ArrayF1. Falling Sand (Easy Version)#726-Div.2A. Arithmetic ArrayB. Bad BoyC. Challenging CliffsD. Deleting DivisorsE. Erase and …

.NET-记一次架构优化实战与方案-梳理篇

前言程序员输出是他敲写的代码&#xff0c;那么输入就是他思考好的设计。因此不做设计是不存在&#xff0c;设计只分优秀的设计和糟糕的设计。为了避免过度设计浪费成本&#xff0c;需要针对现有业务与问题进行展开。业务梳理是不可避免的。优化是无止尽&#xff0c;为了更有成…

P3605 [USACO17JAN]Promotion Counting P(树状数组)

解析 做法很多的一道题 sol1 先求出dfs序&#xff0c;离线下来&#xff0c;然后按权值大小的顺序统计答案并插到对应的dfs序中 sol2 离散化后&#xff0c;dfs过程中动态维护树状数组&#xff0c;利用前后差值求出答案 sol3 树上dsu 就比较无脑了&#xff0c;暴力维护即可…

Build Roads

Build Roads 题意: n个点&#xff0c;每个点的值为a[i],求最小生成树 a[i]是通过题目中给出的程序得到&#xff08;即a[i]如何得到的我们并不需要很了解&#xff09; 题解&#xff1a; 肯定不能直接跑最小生成树&#xff0c;因为数据太大了 银川也有个类似的题&#xff0c;…

CF1672E-notepad.exe【交互,二分】

正题 题目链接:https://www.luogu.com.cn/problem/CF1672E 题目大意 有一个你不知道的长度为nnn的序列lll&#xff0c;你每次可以询问一个长度www。交互库会返回一个hhh表示最少能将lll分成多少连续段使得每一段[l,r][l,r][l,r]都满足∑ilrlir−l≤w\sum_{il}^rl_ir-l\leq w∑…

P3243 [HNOI2015]菜肴制作(拓扑排序、贪心)

解析 很好的题 也就是我没做出来的意思 反向思维似乎是我欠缺的 这道题也是 也许做题时应该多特意往这边想想 当正向看并没有太好的性质时&#xff0c;也许反过来能使题目豁然开朗 容易想到暴力n方如何做 &#xff08;以下均指反图&#xff09; 找到1所在的点&#xff0c;染色…