![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
————dp
mengbi_er
一个蒟蒻JLoier
展开
-
Codeforces Round #420 (Div. 2) E. Okabe and El Psy Kongroo
博主蒟蒻,并不会这道题。转一篇比较好的题解。 传送门转载 2017-06-26 14:32:14 · 275 阅读 · 0 评论 -
bzoj4247: 挂饰
将挂钩数从大到小排序,然后f[ i ] [ j ]表示前i个装饰剩余j个钩子的最大价值,转移十分简单#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>using namespace std;int read(){ char ch=getchar();int f=0,x=1; whil原创 2017-12-02 19:18:17 · 277 阅读 · 0 评论 -
bzoj2216: [Poi2011]Lightning Conductor
这题挺妙的,hzwer#include<iostream>#include<cstdio>#include<cstring>#include<cmath>#include<cstdlib>#include<algorithm>#include<queue>using namespace std;int read(){ int x=0,f=1;char ch=getchar(原创 2017-11-14 22:19:01 · 270 阅读 · 0 评论 -
bzoj1049: [HAOI2006]数字序列
我也贴一个233#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>#define ll long longusing namespace std;int read(){ char ch=getchar();int f=0,x=1; while(ch<'0'||ch>'9'){if(原创 2017-10-30 19:54:43 · 158 阅读 · 0 评论 -
bzoj1643: [Usaco2007 Oct]Bessie's Secret Pasture 贝茜的秘密草坪
随便dp。(我是不会告诉你只是为了500题纪念的)。#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>using namespace std;int read(){ char ch=getchar();int f=0; while(ch<'0'||ch>'9')ch=getchar(原创 2017-09-21 15:00:24 · 479 阅读 · 2 评论 -
1100: [POI2007]对称轴osi
将2相邻相同颜色的缩成1个,然后状压dp。#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>using namespace std;int n,a[505],num[505],f[505][505],x,y,cnt;int main(){ scanf("%d",&n); for(i原创 2017-08-24 16:51:45 · 318 阅读 · 0 评论 -
bzoj4720: [Noip2016]换教室
dp裸题,求一遍floyd,dp式 f[i][j][0]=min(f[i−1][j][0]+(double)dis[c[i−1]][c[i]],f[i−1][j][1]+(1.0−k[i−1])∗(double)dis[c[i−1]][c[i]]+k[i−1]∗(double)dis[d[i−1]][c[i]]);f[i][j][0]=min(f[i-1][j][0]+(double)dis[c[原创 2017-09-05 19:15:34 · 334 阅读 · 0 评论 -
bzoj1996: [Hnoi2010]chorus 合唱队
区间dp。 f[i][j][1/0]表示[i,j]区间上一个选左或右。 f[i][j][0]=f[i+1][j][0]*(a[i]#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>using namespace std;const int mod=19650827;int read(){原创 2017-09-05 09:10:08 · 281 阅读 · 0 评论 -
bzoj4517: [Sdoi2016]排列计数
f[n]=(f[n-1]*f[n-2])(i-1); ans=c(n,m)*f[n-m].#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>using namespace std;int read(){ char ch=getchar();int f=0; while(ch<'0'原创 2017-09-03 19:20:21 · 194 阅读 · 0 评论 -
bzoj2748: [HAOI2012]音量调节
dp,因为数据范围小,可以不优化。#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>using namespace std;int read(){ char ch=getchar();int f=0; while(ch<'0'||ch>'9') ch=getchar(); w原创 2017-07-08 21:07:33 · 169 阅读 · 0 评论 -
bzoj3384&&1750: [Usaco2004 Nov]Apple Catching 接苹果
比较水的dp。#include<iostream>#include<cstdio>#include<cstring>using namespace std;int maxx(int x,int y){ return x>y?x:y;}int f[1005][35][2],a[1005],ans;int main(){ int t,w; scanf("%d%d原创 2017-07-04 22:12:18 · 271 阅读 · 0 评论 -
bzoj2431: [HAOI2009]逆序对数列
一个题的弱化版,数据范围100000也是可做的。。#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>using namespace std;int f[2][100005],mod=10000;int main(){ int n,k; cin>>n>>k; for(int原创 2017-07-06 18:58:34 · 238 阅读 · 0 评论 -
bzoj1677:[Usaco2005 Jan]Sumsets 求和
简单的dp。#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>using namespace std;int f[1000005],mod=1000000000;int main(){ int n,i,j; scanf("%d",&n); f[1]=1; for(i原创 2017-07-06 18:55:54 · 261 阅读 · 0 评论 -
bzoj1237: [SCOI2008]配对
发现排序后匹配的两个点距离不超过2,所以就分情况讨论就行了。#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>#define ll long longusing namespace std;const ll inf=90000000000000000LL;int read(){ char原创 2018-01-04 16:38:40 · 293 阅读 · 0 评论