
DP
文章平均质量分 56
yfzcsc
我们仍未知道那天所看见的金光的名字
展开
-
bzoj2337
为什么一道SB题纠结了这么久。。。设f[i]为i到n的1的概率(或期望)由于正着推会出锅(f[n]=0)所以要倒着推则由i到它的son都是等概率的,即1/degree[i]列方程即可#include#include#include#include#define maxn 110#define maxm 21011using namespace std;struct原创 2017-01-13 21:15:42 · 454 阅读 · 0 评论 -
LOJ #6077. 「2017 山东一轮集训 Day7」逆序对
这题(BZOJ2431的加强版)厉害了。。。考虑从小到大加入数,则i就可以让逆序对数+[0,i-1]问题就变为了现在有一个不定方程:x1+..+xn=m,且0考虑用容斥,于是要计算F(i,j)表示[1,n]选i个数和为j的方案数则最终答案为sum{(F(0,j)-F(1,j)+F(2,j)-...)*(和为m-j有n个变量的不定方程解的个数)}(j=0..m)如何计算F原创 2017-07-17 20:48:07 · 1512 阅读 · 0 评论 -
关于联通块DP的一些问题(to be continued)
记一下这种奇妙的思路。。。Example I:HDU 6157题意就是给一些点(数轴上),然后你要选出其中的m个点,重新安排它们的顺序,假设为P1...Pm.若令P0=Pm,Pm+1=P1(其实就是在一个环上)那么这个排列的权值就是dist(P1,P2)+...+dist(Pm,P1)+(满足Pi-1Pi+1或Pi-1>Pi思路:dp[i][j][k]表示到第i原创 2017-08-27 21:32:19 · 596 阅读 · 0 评论 -
BZOJ4081 [WF2014]Skiing
显然可以发现一个dp(i,j)dp(i,j)表示现在在ii,速度是jj,然后答案是什么可以得到这个dpdp是单峰的所以每个答案最多只会有两个可行区间于是用dp(i,j)dp(i,j)表示现在在ii,答案是jj时的可行区间,对于每个点区间总数是O(n)O(n)的。所以现在考虑如何从[L,R]→[L′,R′][L,R]\to [L',R']如果要得到R′R',显然要先−a-a再aa设时间为tt,初始速度原创 2018-01-23 20:39:04 · 446 阅读 · 0 评论 -
SWERC 2017 H Kabobs
这题就是暴力暴力暴力。。。暴力记每个规则匹配到哪里可以脑补一下为什么正确:1.x60x+2\texttt{1.}x^{\frac{60}{x+2}}在x=4x=4时取到max=1048576max = 10485762.\texttt{2.}一旦失配立刻就跳回去,所以除了x=2x=2,其他时候根本卡不满直接预处理状态及转移然后暴力暴力暴力就过了#include<bits/stdc++.h>#def原创 2018-01-23 20:49:14 · 718 阅读 · 0 评论 -
WXHRound#13被虐记
T1:▸给定一个大小为 n 的有根树。有 Q个询问,每次给出一个 k,求至少用多少条长度不超过 k 的祖先-后代链可以覆盖树上的所有点?▸n, Q 算法一:不同答案只有sqrt(n)种,拿分治弄一下就是O(nsqrt(n)log(n))算法二:(本来已经想到这个东西了的。。。)答案一定小于t+(n-t)/k+1(t为叶子数),故可以O(答案-t)的去算每个k。具体算法如下:原创 2017-08-03 22:58:05 · 537 阅读 · 0 评论 -
UNR#2 梦中的题面 HDU6056
这题口胡起来真简单。。。先来考虑∑mi=1xi≤n,xi≥0\sum_{i=1}^{m} x_i\leq n,x_i\geq 0的整数{xi}\{x_i\}个数 这可以用插板法证明是(n+mm)n+m \choose m对于原问题,一个经典做法是容斥,每次枚举一些数一定超过上界,其他数任意。所以答案可以表示为:∑S∈U(−1)|S|(n+c∗|S|−|S|−∑x∈sbx+mm)\sum_{S \i原创 2018-01-25 21:27:13 · 767 阅读 · 0 评论