[CF553E]Kyoya and Train 题意:有一张$n$个点到$m$条边的有向图,经过第i条边要花$c_i$元钱,经过第i条边有$p_{i,k}$的概率要耗时k分钟.你想从1走到n,但是如果整个过程耗时超过了$t$,则需要额外花费$f$元.求从1走到n的期望最小花费. $n\le 50,m\le 100,t\le 20000,k\le 1$ 题解:我们先用最短路预处理出如果已经超时了,从1走到n的最小花费.剩下的考虑DP. 用f[i][j]表示在i时刻到达了j,想走到n的最小花费.则对…
[Codeforces 553E]Kyoya and Train(期望DP+Floyd+分治FFT) 题面 给出一个\(n\)个点\(m\)条边的有向图(可能有环),走每条边需要支付一个价格\(c_i\),需要的时间为\([1,T]\)中随机的整数,时间为\(j\)的概率为\(p_{i,j}\).从\(1\)出发走到\(n\),如果到\(n\)的时间超过\(T\),就需要再支付\(X\).找出一条路径,使得支付钱数的期望值最小.输出最小期望. \(n \leq 50,m \leq 100,T \…
题解 分治FFT 设\(f_i\)为\(i\)个点组成的无向图个数,\(g_i\)为\(i\)个点组成的无向连通图个数 经过简单的推导(枚举\(1\)所在的连通块大小),有: \[ f_i=2^{\frac{i(i-1)}{2}} \] \[ \begin{align} g_i&=f_i-\sum_{j=1}^{i-1}\binom{n-1}{j-1}g_jf_{i-j}\\ &=f_i-(i-1)!\sum_{j=1}^{i-1}\frac{g_j}{(j-1)!}\frac{f_{i-…
Perhaps the sea‘s definition of a shell is the pearl. However, in my view, a shell necklace with n beautiful shells contains the most sincere feeling for my best lover Arrietty, but even that is not enough. Suppose the shell necklace is a sequence of…
[BZOJ 3456]城市规划(cdq分治+FFT) 题面 求有标号n个点无向连通图数目. 分析 设\(f(i)\)表示\(i\)个点组成的无向连通图数量,\(g(i)\)表示\(i\)个点的图的数量. 显然\(g(i)=2^{C_i^2}\)种,但是我们要把不联通的去掉. 枚举1号点所在联通块大小\(j\).从剩下\(i-1\)个点里选\(j-1\)个点和1号点构成联通块,有\(C_{i-1}^{j-1}\)种选法.1号点所在联通块的连边方案有\(f(i)\)种,剩下\(i-j\)个点随便连边…
题目描述 给出 $(2n+1)\times (2n+1)$ 个点,点 $(i,j)$ 的权值为 $a[max(|i-n-1|,|j-n-1|)]$ ,找一条从 $(1,1)$ 走到 $(2n+1,2n+1)$ 的路径,使得经过的点(包括起点和终点)权值和最小.求这个权值和. 输入 第一行一个正整数 $n$ . 第二行 $n+1$ 个正整数 $a[0],a[1],…,a[n]$ ,表示从内到外每层的中继器的延时值. 输出 输出一行一个数表示改造后的最短引爆时间. 样例输入 99 5 3 7 6 9…
Kyoya and Train 一个有\(n\)个节点\(m\)条边的有向图,每条边连接了\(a_i\)和\(b_i\),花费为\(c_i\). 每次经过某一条边就要花费该边的\(c_i\). 第\(i\)条边耗时为\(j\)的概率为\(p_{i,j}\). 现在你从\(1\)开始走到\(n\),如果你在\(t\)单位时间内(包括\(t\))到了\(n\),不需要任何额外花费,否则你要额外花费\(x\). 问你在最优策略下的期望花费最小为多少.(注意你每走一步都会根据当前情况制定最好的下一步)…
传送门 大意:ACM校队一共有n名队员,从1到n标号,现在n名队员要组成若干支队伍,每支队伍至多有m名队员,求一共有多少种不同的组队方案.两个组队方案被视为不同的,当且仅当存在至少一名队员在两种方案中有不同的队友. 这年头真是--分治FFT都开始烂大街了-- 我们来推一推吧 这显然是一个1d1d的DP,用f[i]表示i名队员的方案数 f[i]=∑j=0i−1f[i−j−1]∗Cji−1 即i−1个人里面选j个和i组队(似乎类似strling数) 然后化一下简,便可得到 f[i]=(i−1)!∑j…
题意:一段长为 i 的项链有 a[i] 种装饰方式,问长度为n的相连共有多少种装饰方式 分析:采用dp做法,dp[i]=∑dp[j]*a[i-j]+a[i],(1<=j<=i-1) 然后对于这种递推式,也就是dp[i]等于前j个dp数组和a数组的卷积,然后可看所有的 一看n是1e5,所以暴力超时,然后采用cdq分治加速,这种卷积递推通常采用cdq分治加速 cdq的话很简单了,就是先递归左边,算左对右的贡献,递归右边就行,一半一半更新 #include <cstdio> #inclu…
[题目链接] http://acm.hdu.edu.cn/showproblem.php?pid=5730 [题目大意] 给出一个数组w,表示不同长度的字段的权值,比如w[3]=5表示如果字段长度为3,则其权值为5,现在有长度为n的字段,求通过不同拆分得到的字段权值乘积和. [题解] 记DP[i]表示长度为i时候的答案,DP[i]=sum_{j=0}^{i-1}DP[j]w[i-j],发现是一个卷积的式子,因此运算过程可以用FFT优化,但是由于在计算过程中DP[j]是未知值,顺次计算复杂度是O(…