【loli的胡策】NOIP训练8.12(二分?+dp?)
2017-08-12 16:24
337 查看
1.嗯30分是最长不下降子序列
2.题目:
题解:
30分是暴(D)力(P),我们可以发现有两个限制条件:需要恰好被装满&&体积>=L不超过c件,我们设计状态:f[k][i][j]表示前k个物品,大体积物品数目i件,总体积为j的方案是否存在 ,转移如下
其实也可以选择在最后多个c的循环,这样就可以压缩为二维,代码:
挖坑待填
2.题目:
题解:
30分是暴(D)力(P),我们可以发现有两个限制条件:需要恰好被装满&&体积>=L不超过c件,我们设计状态:f[k][i][j]表示前k个物品,大体积物品数目i件,总体积为j的方案是否存在 ,转移如下
其实也可以选择在最后多个c的循环,这样就可以压缩为二维,代码:
#include<cstdio> using namespace std; bool f[10005][35]; int v[10005],l,c; int n,m; int 4000 main() { freopen("bag.in","r",stdin); freopen("bag.out","w",stdout); int i,j,k; bool ans; f[0][0]=true; scanf("%d%d",&n,&m); for(i=1;i<=n;i++) scanf("%d",&v[i]); scanf("%d%d",&l,&c); for(j=1;j<=n;j++) for(k=0;k<=c;k++) for(i=v[j];i<=10000;i++) if(v[j]>=l){ if(k) f[i][k]|=f[i-v[j]][k-1]; } else f[i][k]|=f[i-v[j]][k]; for(i=1;i<=m;i++){ scanf("%d",&j);ans=false; for(k=0;k<=c;k++)//是这个啦 ans|=f[j][k]; if(ans)printf("Yes\n"); else printf("No\n"); } return 0; }
挖坑待填
相关文章推荐
- 【loli的胡策】NOIP训练8.10(数论+树形dp+贪心)
- 【loli的胡策】NOIP训练7.20(二分+主席树)
- 【loli的胡策】NOIP训练10.2(快速幂+树形期望dp)
- 【loli的胡策】NOIP训练8.15(找规律+暴力)
- 【loli的胡策】训练1.7(hash+记忆化搜索+AC自动机+矩阵优化dp)
- 【loli的胡策】NOIP训练7.15(签到+dp+线段树)
- hzwer2015.9.13 NOIP模拟题 explo seq earth[DP][数论][二分][SPFA]
- 【loli的胡策】训练1.14(组合数学+概率期望+乱搞)
- 【loli的胡策】联校11.2(dp+乱搞+期望dp)
- 【loli的胡策】联校10.26(抖动dp+树形dp*期望)
- NOIP模拟题 2016.10.5 [Trie] [数学] [二分答案] [杂题] [复杂状态DP]
- NOIP模拟赛 军训(二分答案+单调队列优化DP)
- 【NOIP 模拟题】[T2] 王者荣耀(二分答案+dp)
- 【学姐的胡策】训练8.18(KMP+dp)
- 【noip模拟题】[dp][二分][树链剖分][hdu5029][线段树]
- zzuli oj 多校训练(三)【树链剖分--树状数组---STL----二分图----二分----DP】
- NOIP模拟试题 软件开发(二分DP)
- NOIP2015 day2 [二分][DP][树剖]
- 【年后的胡策】训练2.22(dp+分块+数学相关)
- 【瞌睡的胡策】训练2.23(数学相关+矩阵快速幂+dp)