[国家集训队] Crash 的文明世界】的更多相关文章

题目 [国家集训队] Crash 的文明世界 前置 斯特林数\(\Longrightarrow\)斯特林数及反演总结 做法 \[\begin{aligned} ans_x&=\sum\limits_{i=1}^ndis(i,x)^k\\ &=\sum\limits_{i=1}^n\sum\limits_{j=0}^k\begin{Bmatrix}k\\j\end{Bmatrix}C_{dis(i,x)}^jj!\\ &=\sum\limits_{j=0}^k\begin{Bmatr…
Description 给定一棵 \(n\) 个点的树,对于每个点 \(i\) 求 \(S(i)=\sum\limits_{j=1}^n \operatorname{dist(i,j)}^k\) .\(n\leq 50000,k\leq 150\). Sol 根据斯特林展开,原式化为 \[ \begin{align}S(i)= & \sum\limits_{j=1}^n \sum\limits_{p=0}^k S(k,p)\cdot \dbinom{\operatorname{dist(i,j)…
不错的树形$ DP$的题 可为什么我自带大常数啊$ cry$ 链接:here 题意:给定一棵$ n$个节点的树,边权为$ 1$,对于每个点$ x$求$ \sum\limits_{i=1}^n dist(x,i)^k$ 数据范围:$ n<=50000,k<=150$ $ Solution$ 直接推式子 上下$ DP$先考虑子树内的贡献 有$ in(x)^k=\sum\limits (in(son[x])+1)^k$ 这是因为自己子树内的每个点到自己的距离都$ ++$ 再考虑子树外的贡献 有$ o…
传送门 思路 又见到这个\(k\)次方啦!按照套路,我们将它搞成斯特林数: \[ ans_x=\sum_{i=0}^k i!S(k,i)\sum_y {dis(x,y) \choose i} \] 前面可以枚举,考虑后面那东西怎么求. 我们不知道为什么但就是考虑DP:设: \[ dn_{x,t}=\sum_{y\in x} {dis(x,y) \choose t}\\ up_{x,t}=\sum_{y\notin x} {dis(x,y) \choose t} \] 其中\(y\in x\)表示…
传送门:洛谷 题目大意:设$$S(i)=\sum_{j=1}^ndis(i,j)^k$$,求$S(1),S(2),\ldots,S(n)$. 数据范围:$n\leq 50000,k\leq 150$ 这道题,看见$k$次方和就直接上斯特林数. $$S(x)=\sum_{i=0}^ki!S(k,i)\sum_{y=1}^nC_{dis(x,y)}^i$$ 然后我们考虑求最后一项. 设$$up_{x,t}=\sum_{y\notin x}C_{dis(x,y)}^t,dn_{x,t}=\sum_{y…
题面 这种套着高次幂的统计问题一般都要用到第二类斯特林数和自然数幂的关系:$a^k=\sum\limits_{i=0}^{k}S_k^iC_a^i*i!$ 那么对于每个点$x$有: $ans_x=\sum\limits_{i=0}^k S_{k}^i C_{\sum dis(x,j)}^i i!$ 问题变成求$C_{\sum dis(x,j)}^i$,神仙告诉我们,这个东西要DP求 为什么要DP求?先往下看 那么就设$dp[i][k]$表示以i为根的子树里$C_{\sum dis(i,j)}^k…
先写一个五十分的思路吧 首先这道题有一个弱化版 [POI2008]STA-Station 相当于\(k=1\),于是就是一个非常简单的树形\(dp\)的\(up\ \ and\ \ down\)思想 但是我们现在要求的是这个柿子了 \[\sum_{j=1}^ndis(i,j)^k\] 感觉这个东西很组合数学啊,感觉这个柿子像是天生为二项式定理准备的 我们还是考虑树形\(dp\) 在第一遍\(up\)的时候,我们设\(dp[i][k]\)表示 \[\sum_{j\in{i}}dis(i,j)^k\…
传送门 对于点\(u\),所求为\[\sum_{i=1}^ndis(i,u)^k\] 把后面那堆东西化成第二类斯特林数,有\[\sum_{i=1}^n\sum_{j=0}^kS(k,j)\times j!\times{dis(i,u)\choose j}\] \[\sum_{j=1}^nS(k,j)\times j!\sum_{i=0}^k{dis(i,u)\choose j}\] 于是对于每个点只要维护好\(\sum_{i=0}^k{dis(i,u)\choose j}\)就好了 因为\({n…
题意 ​ 题目链接:https://www.luogu.org/problem/P4827 ​ 给定一棵 \(n\) 个节点的树和一个常数 \(k\) ,对于树上的每一个节点 \(i\) ,求出 \(\displaystyle \sum_{i=1}^n{\rm dist}^k(i,j)\),其中 \(\rm{dist}\) 函数表示树上两点距离. ​ \(1 \leq n \leq 50000\) ​ \(1\leq k \leq 150\) 思路 ​ 看到求答案 \(k\) 次方的问题,应该联…
题目描述 ​ 给你一棵 n 个点的树,对于树上的每个节点 i,求 \(\sum_{j=1}^ndis(i,j)^k\).其中 \(dis(i,j)\) 为两点在树上的距离. 输入格式 ​ 第一行两个整数 n,k. ​ 接下来 n-1 行,每行两个整数 (x,y),表示一条树边. 输出格式 ​ 一行一个整数,表示答案对 10007 取模的值. 样例输入 5 2 1 2 1 3 2 4 2 5 样例输出 10 7 23 18 18 数据范围 ​ 对于 \(30\%\) 的数据,\(n\le5000,…
传送门 这个题......我谔谔 首先可以考虑换根\(dp\),但到后来发现二项式定理展开过后需要维护\(k\)个值,同时每个值也要\(O(k)\)的时间按二项式定理算 当然fft优化过后就是k log k了... 这样复杂度是\(O(nk^2)\)的 当然\(FFT\)优化过后就变成\(O(nk \log k)\)了 这复杂度感觉是对的?但FFT的大常数好像被卡成\(50\)了 跟没优化一样,没试过qwq 然后发现又可以点分治,复杂度\(O(nk \log n)\),跑的好像比\(O(nk \…
「国家集训队」 Crash 的文明世界 提供一种不需要脑子的方法. 其实是看洛谷讨论版看出来的( (但是全网也就这一篇这个方法的题解了) 首先这是一个关于树上路径的问题,我们可以无脑上点分治. 考虑当以 \(root\) 为根时,如何计算经过 \(root\) 的路径对某一个点的贡献. 若现在我们要找经过 \(root\) 的路径中长度为 \(d\) 且路径的一端为 \(u\). 则这一部分的贡献为 \(v_{d}cnt_{d-h_u}\),其中 \(v_d=d^k\),\(h_u\) 表示点…
[2011集训贾志鹏]Crash的文明世界 Description Crash小朋友最近迷上了一款游戏--文明5(Civilization V).在这个游戏中,玩家可以建立和发展自己的国家,通过外交和别的国家交流,或是通过战争征服别的国家. 现在Crash已经拥有了一个N个城市的国家,这些城市之间通过道路相连.由于建设道路是有花费的,因此Crash只修建了N-1条道路连接这些城市,不过可以保证任意两个城市都有路径相通. 在游戏中,Crash需要选择一个城市作为他的国家的首都,选择首都需要考虑很多…
[BZOJ2117] [2010国家集训队]Crash的旅游计划 Description 眼看着假期就要到了,Crash由于长期切题而感到无聊了,因此他决定利用这个假期和好友陶陶一起出去旅游. Crash和陶陶所要去的城市里有$N (N > 1) $个景点,Crash用正整数\(1\)到\(N\)给景点标号.这些景点之间通过\(N − 1\)条无向道路相连,每条道路有一个长度,并且保证任意两个景点之间都有且仅有一条路径相连.现在对于一个景点\(s\),Crash和陶陶从\(s\)出发,然后访问一…
[BZOJ2159]Crash的文明世界(第二类斯特林数,动态规划) 题面 BZOJ 洛谷 题解 看到\(k\)次方的式子就可以往二项式的展开上面考,但是显然这样子的复杂度会有一个\(O(k^2)\),因此需要换别的方法. 注意到自然指数幂和第二林斯特林数之间的关系: \[n^k=\sum_{i=0}^k \begin{Bmatrix}k\\i\end{Bmatrix}{n\choose i}i!\] 那么将答案式化简 \[\begin{aligned} Ans_x&=\sum_{i=1}^N…
[国家集训队]Crash的数字表格 / JZPTAB 题意 求\(\sum\limits_{i=1}^n\sum\limits_{j=1}^mlcm(i,j)\),\(n,m\le 10^7\) 鉴于我式子没推出来,所以再推一遍. \[\sum\limits_{i=1}^n\sum\limits_{j=1}^mlcm(i,j)\] \[=\sum\limits_{i=1}^n\sum\limits_{j=1}^m\frac{ij}{gcd(i,j)}\] \[=\sum\limits_{i=1}…
题面 传送门:洛咕 Solution 调到自闭,我好菜啊 为了方便讨论,以下式子\(m>=n\) 为了方便书写,以下式子中的除号均为向下取整 我们来颓柿子吧qwq 显然,题目让我们求: \(\large \sum_{i=1}^n\sum_{j=1}^m lcm(i,j)\) \(lcm\)没法玩,我们转到\(gcd\)形式: \(\large \sum_{i=1}^n\sum_{j=1}^m \frac{i*j}{gcd(i,j)}\) 根据套路,我们去枚举\(gcd\) \(\large \s…
题解-[国家集训队]Crash的数字表格 / JZPTAB 前置知识: 莫比乌斯反演 </> [国家集训队]Crash的数字表格 / JZPTAB 单组测试数据,给定 \(n,m\) ,求 \[\sum\limits_{i=1}^n\sum\limits_{j=1}^m\operatorname{lcm}(i,j)\bmod 20101009 \] 数据范围:\(1\le n,m\le 10^7\). 作为写出了最暴力的做法的蒟蒻,来推个式子. \(n\le m\),一气呵成: \[\begi…
P1829 [国家集训队]Crash的数字表格 原题传送门 前置芝士 莫比乌斯反演 乘法逆元 数论分块 正文 //补充:以下式子中的除法均为整除 由题目可以得知,这道题让我们所求的数,用一个式子来表达即为:\(\boxed{ANS=\sum_{i=1}^n \sum_{j=1}^m LCM(i,j)}\) 而根据莫比乌斯反演的内容,我们可以对右边的式子进行进一步的推导: \[\begin{align} \sum_{i=1}^n \sum_{j=1}^m LCM(i,j)&=\sum_{i=1}^…
Description Crash小朋友最近迷上了一款游戏——文明5(Civilization V).在这个游戏中,玩家可以建立和发展自己的国家,通过外交和别的国家交流,或是通过战争征服别的国家.现在Crash已经拥有了一个N个城市的国家,这些城市之间通过道路相连.由于建设道路是有花费的,因此Crash只修建了N-1条道路连接这些城市,不过可以保证任意两个城市都有路径相通.在游戏中,Crash需要选择一个城市作为他的国家的首都,选择首都需要考虑很多指标,有一个指标是这样的:$S(i)=\sum…
Time Limit: 10 Sec  Memory Limit: 259 MB Submit: 480  Solved: 234[Submit][Status][Discuss] Description Crash 小朋友最近迷上了一款游戏——文明5(Civilization V).在这个游戏中,玩家可以建立和发展自己的国家,通过外交和别的国家交流,或是通过战争征服别的国家.现在Crash 已经拥有了一个N 个城市的国家,这些城市之间通过道路相连.由于建设道路是有花费的,因此Crash 只修建…
Description Crash 小朋友最近迷上了一款游戏--文明5(Civilization V).在这个游戏中,玩家可以建立和发展自己的国家,通过外交和别的国家交流,或是通过战争征服别的国家.现在Crash 已经拥有了一个N 个城市的国家,这些城市之间通过道路相连.由于建设道路是有花费的,因此Crash 只修建了N-1 条道路连接这些城市,不过可以保证任意两个城市都有路径相通.在游戏中,Crash 需要选择一个城市作为他的国家的首都,选择首都需要考虑很多指标,有一个指标是这样的: 其中S(…
题目描述 今天的数学课上,Crash小朋友学习了最小公倍数(Least Common Multiple).对于两个正整数a和b,LCM(a, b)表示能同时整除a和b的最小正整数.例如,LCM(6, 8) = 24. 回到家后,Crash还在想着课上学的东西,为了研究最小公倍数,他画了一张NM的表格.每个格子里写了一个数字,其中第i行第j列的那个格子里写着数为LCM(i, j).一个45的表格如下: 1 2 3 4 5 2 2 6 4 10 3 6 3 12 15 4 4 12 4 20 看着这…
传送门:洛谷,bzoj 题目描述 今天的数学课上,Crash小朋友学习了最小公倍数(Least Common Multiple).对于两个正整数a和b,LCM(a, b)表示能同时整除a和b的最小正整数.例如,LCM(6, 8) = 24. 回到家后,Crash还在想着课上学的东西,为了研究最小公倍数,他画了一张NM的表格.每个格子里写了一个数字,其中第i行第j列的那个格子里写着数为LCM(i, j).一个45的表格如下: 1 2 3 4 5 2 2 6 4 10 3 6 3 12 15 4 4…
题目背景 提示:原 P1829 半数集问题 已经迁移至 P1028 数的计算 题目描述 今天的数学课上,Crash小朋友学习了最小公倍数(Least Common Multiple).对于两个正整数a和b,LCM(a, b)表示能同时整除a和b的最小正整数.例如,LCM(6, 8) = 24. 回到家后,Crash还在想着课上学的东西,为了研究最小公倍数,他画了一张N*M的表格.每个格子里写了一个数字,其中第i行第j列的那个格子里写着数为LCM(i, j).一个4*5的表格如下: 1 2 3 4…
Description 眼看着假期就要到了,Crash由于长期切题而感到无聊了,因此他决定利用这个假期和好友陶陶一起出去旅游. Crash和陶陶所要去的城市里有N (N > 1) 个景点,Crash用正整数1到N给景点标号. 这些景点之间通过N - 1条无向道路相连,每条道路有一个长度,并且保证任意两个景点之间都有且仅有一条路径相连. 现在对于一个景点s,Crash和陶陶从s出发,然后访问一个景点序列{v0, v1, v2, - , vk}, 其中v0就是s,且vi-1和vi(0 < i ≤…
裸点分,点分树每层维护有序表,查询二分,复杂度$O(nlog^3n)$. #include<bits/stdc++.h> #define M (u+v>>1) #define pb push_back #define FOR(i,v)\ for(int i=0;i!=v.size();++i) using namespace std; void eq2(int&x,int y){x=x<y?y:x;} const int N=1e5+5; typedef int ar…
$x^k=\sum_{i=1}^k Stirling2(k,i)\times i!\times C(x,i)$ 设$f[i][j]=\sum_{k=1}^n C(dist(i,k),j)$. 则可以利用$C(i,j)=C(i-1,j-1)+C(i-1,j)$,通过树形DP求出$f$. 时间复杂度$O((n+k)k)$. #include<cstdio> const int N=50010,M=155,P=10007; int n,k,i,j,x,y,S[M][M],fac[M],g[N],v[…
今天看到一个鬼题 心情好的时候写 [题意]求树上所有点对距离的k次方和,所有边权为1 大爷方的题解:http://tonyfang.is-programmer.com/posts/204972.html#comment917606 [题解] 要求的是所有的 首先我们解决一个问题,就是这个k次方 我们设斯特林数 根据斯特林数的定义可以发现 为了方便计算,我们把这个变形一下 那么 然后我们可以在树形dp中求出后面这个 一坨,然后再O(n,k)的时间计算答案即可…
题目描述 Atm有一段时间在虐qtree的题目,于是,他满脑子都是tree,tree,tree…… 于是,一天晚上他梦到自己被关在了一个有根树中,每条路径都有边权,一个神秘的声音告诉他,每个点到其他的点有一个距离(什么是距离不用说吧),他需要对于每个点回答:从这个点出发的第k小距离是多少: 如果atm不能回答出来,那么明天4019的闹钟将不会响,4019全寝可能就迟到了,所以atm希望你帮帮他. 输入 第一行,两个正整数n,k,表示树的点数,询问的是第几小距离: 第二~n行,每行三个正整数x,y…