hash——vijos1426 兴奋剂检查
来源:互联网 发布:加工中心简单编程实例 编辑:程序博客网 时间:2024/06/05 19:56
https://vijos.org/p/1426
这个就是一个背包;
但是如果开5维背包的话;
呵呵呵呵呵呵;
那我们就直接把5维hush成一维;
怎么搞?
int hush(int a,int b,int c,int d,int e){ return e+(v[5]+1)*(d+(v[4]+1)*(c+(v[3]+1)*(b+(v[2]+1)*a))); return a+(v[1]+1)*(b+(v[2]+1)*(c+(v[3]+1)*(d+(v[4]+1)*e)));}
这两种都是可以的;
我们看第一种,展开;
return a*(v[2]+1)*(v[3]+1)*(v[4]+1)*(v[5]+1)+b*(v[3]+1)*(v[4]+1)*(v[5]+1)+c*(v[4]+1)*(v[5]+1)+d*(v[5]+1)+e;
这里怎么理解?
其实很简单的;
我们不能让abcde重复;
我们先放一个e
现在放d*(v[5]+1)
因为v[5]是e的所以的可能性;
所以d*(v[5]+1)就不可能与e重复
同理c*(v[4]+1)(v[5]+1)不会与d(v[5]+1)重复;
因为(v[4]+1)已经包含了d的所有可能;
这是什么?
这个其实就是进制啊;
只不过每一位的进制是不同的而已;
但是他们一定不会重复;
#include<bits/stdc++.h>using namespace std;int f[5000002],v[6],a[205][6];int n,m,ans;int hush(int a,int b,int c,int d,int e){ return e+(v[5]+1)*(d+(v[4]+1)*(c+(v[3]+1)*(b+(v[2]+1)*a))); return a+(v[1]+1)*(b+(v[2]+1)*(c+(v[3]+1)*(d+(v[4]+1)*e)));}int main(){ scanf("%d%d",&n,&m); for(int i=1;i<=m;i++)scanf("%d",&v[i]); for(int i=1;i<=n;i++) for(int j=0;j<=m;j++)scanf("%d",&a[i][j]); for(int i=1;i<=n;i++) for(int j1=v[1];j1>=a[i][1];j1--) for(int j2=v[2];j2>=a[i][2];j2--) for(int j3=v[3];j3>=a[i][3];j3--) for(int j4=v[4];j4>=a[i][4];j4--) for(int j5=v[5];j5>=a[i][5];j5--){ int x=hush(j1,j2,j3,j4,j5); int y=hush(j1-a[i][1],j2-a[i][2],j3-a[i][3],j4-a[i][4],j5-a[i][5]); f[x]=max(f[x],f[y]+a[i][0]); ans=max(ans,f[x]); } printf("%d",ans);}
阅读全文
1 0
- hash——vijos1426 兴奋剂检查
- [vijos1426] 兴奋剂检查
- vijos1426 兴奋剂检查
- vijos1426兴奋剂检查(多维费用的背包问题+状态压缩+hash)
- [vijos1426]兴奋剂检查(多维背包)
- 兴奋剂检查(Vijos-1426)
- Hash表——The Hash table
- hdu1280——hash
- 兴奋剂pvp怕飞洒
- Hash更进一步(Hash字符串——BDKRHash)
- Redis常用命令——hash
- hash——BZOJ4236 JOIOJI
- bzoj3555——玄学hash
- 搞懂Nosql—Hash
- gcc 使用hash—map
- Facebook增速犹如注入兴奋剂
- 公司管理:兴奋剂还是抗生素?
- Vijos 1426 兴奋剂的检验
- 一般的加密技,数字证书,https以及其他
- scheduler_init?????
- 用户管理
- 【R语言可视化ggplot2入门教程1】一个完整的绘图流程
- 亿级Web系统搭建——单机到分布式集群
- hash——vijos1426 兴奋剂检查
- Postgre日志相关(从开放日志到配置日志)
- Struts2入门配置
- 用python分析‘数据分析师’相关数据
- 距离变换
- flask实践02-创建模板
- C#学习笔记(七)—–集合--ICollection和Ilist接口
- 使android的dialog全局显示
- 事务的概念及数据库数据的输入与输出