【BZOJ】3437: 小P的牧场】的更多相关文章

3437: 小P的牧场 Description 背景 小P是个特么喜欢玩MC的孩纸... 描述 小P在MC里有n个牧场,自西向东呈一字形排列(自西向东用1…n编号),于是他就烦恼了:为了控制这n个牧场,他需要在某些牧场上面建立控制站,每个牧场上只能建立一个控制站,每个控制站控制的牧场是它所在的牧场一直到它西边第一个控制站的所有牧场(它西边第一个控制站所在的牧场不被控制)(如果它西边不存在控制站,那么它控制西边所有的牧场),每个牧场被控制都需要一定的花费(毕竟在控制站到牧场间修建道路是需要资源的嘛…
3437: 小P的牧场 Time Limit: 10 Sec  Memory Limit: 128 MB Description 小P在MC里有n个牧场,自西向东呈一字形排列(自西向东用1…n编号),于是他就烦恼了:为了控制这n个牧场,他需要在某些牧场上面建立控制站,每个牧场上只能建立一个控制站,每个控制站控制的牧场是它所在的牧场一直到它西边第一个控制站的所有牧场(它西边第一个控制站所在的牧场不被控制)(如果它西边不存在控制站,那么它控制西边所有的牧场),每个牧场被控制都需要一定的花费(毕竟在控…
[题目链接] http://www.lydsy.com/JudgeOnline/problem.php?id=3437 [题目大意] n个牧场排成一行,需要在某些牧场上面建立控制站, 每个牧场上只能建立一个控制站,每个控制站控制的牧场 是它所在的牧场一直到它西边第一个控制站的所有牧场 它西边第一个控制站所在的牧场不被控制,如果它西边不存在控制站, 那么它控制西边所有的牧场,每个牧场被控制都需要一定的花费, 而且该花费等于它到控制它的控制站之间的牧场数目乘上该牧场的放养量, 在第i个牧场建立控制站…
传送门 显然考虑 $dp$,设 $f[i]$ 表示前 $i$ 个牧场都被控制的最小代价 那么枚举所有 $j<i$ ,$f[i]=f[j]+val[i][j]+A[i]$ $val[i][j]$ 表示控制站从 $i$ 一直控制到 $j+1$ 需要的代价 考虑怎么算这个东西,设 $S[i]=\sum _{j=1}^{i}B[j]$,$T[i]=\sum _{j=1}^{i}(B[j]*j)$ 那么 $val[i][j]=(S[i]-S[j])*i-(T[i]-T[j])$ 然后直接展开斜率优化就好了…
emmm妹想到要倒着推 先假设只在n建一个控制站,这样的费用是\( \sum_{i=1}^{n} b[i]*(n-i) \)的 然后设f[i]为在i到n键控制站,并且i一定建一个,能最多节省下的费用,那么显然转移是\( f[i]=max(f[j]+s[i]*(j-i)-a[i]) \),s是b的前缀和 然后显然要斜率优化,随便推一推就行了 \[ f[i]=f[j]+s[i]*j-s[i]*i-a[i] \] \[ -s[i]*j+f[i]=f[j]-s[i]*i-a[i](k=-s[i],x=j…
bzoj 3437 小p的农场 思路 \(f[i]=min(f[j]+\sum\limits_{k=j+1}^{i}{b[k]*(i-k)}+a[i])\) \(f[i]=min(f[j]+\sum\limits_{k=j+1}^{i}{(b[k]*i-b[k]*k)}+a[i])\) 再来前缀和处理一下就可以做到\(O(n^2)\) \(f[i]=min(f[j]+(sum[i]-sum[j])*i-(sum\_k[i]-sum\_k[j])+a[i])\) 然后斜率优化加速 ps:斜率优化好…
3437: 小P的牧场 思路 斜率优化. dp[i]表示到第i个点(第i个点按控制台)的最小代价. 代码 #include<cstdio> #include<iostream> using namespace std; typedef long long LL; ; LL f[N],s[N],a[N],b[N]; int q[N],L,R; inline int read() { ,f = ;char ch = getchar(); ; +ch-'; return x * f; }…
题意 n个点,需要再一些点建立控制站,如果在第\(i\)个建站,贡献为\(a[i]\).假设前一个站为\(j<i\),则\([j+1, i]\)的点的贡献是\(\sum_{k=j+1}^{i} (i-k) b[k]\).同时要求第\(n\)个点建站.求最小贡献.(\(n \le 10^6\)) 题解 设\(d(i)\)表示前\(i\)个且在第\(i\)个牧场建控制站的最小贡献 则 \[ d(i) = min( d(j) + cost(j+1, i) ) + a[i] \] 则\(ans = d(…
DP/斜率优化 斜率优化基本题……等等,好像就没啥变化啊= = 嗯目测这题跟仓库建设差不多?写题的时候倒是没想这么多……直接推了公式. $$f[i]=min\{f[j]+cal(j,i)+a[i]\}$$ 哦麻烦的还是这个$cal(j,i)$ 我们令$s[i]=\sum_{k=1}^{i}b[k], c[i]=\sum_{k=1}^{i}(b[k]*k)$ 则有$cal(j,i)=(s[i]-s[j])*i-(c[i]-c[j])$(问我怎么想到的?这个嘛……像这题这种要求“阶梯形求和”的,基本…
3437: 小P的牧场 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 705  Solved: 404[Submit][Status][Discuss] Description 背景 小P是个特么喜欢玩MC的孩纸... 描述 小P在MC里有n个牧场,自西向东呈一字形排列(自西向东用1…n编号),于是他就烦恼了:为了控制这n个牧场,他需要在某些牧场上面建立控制站,每个牧场上只能建立一个控制站,每个控制站控制的牧场是它所在的牧场一直到它西边第一个控制…