[HDU 1565]方格取数(1):状压DP
来源:互联网 发布:淘宝内衣代理 编辑:程序博客网 时间:2024/05/19 19:14
点击这里查看原题
格点转移
/*User:SmallLanguage:C++Problem No.:1565*/#include<bits/stdc++.h>#define ll long long#define inf 999999999using namespace std;int n,p,q,a[20][20];ll f[2][1<<20],ans;void solve(){ p=0,q=1; ans=0; int t=1<<n; memset(f,0,sizeof(f)); for(int i=0;i<n;i++) for(int j=0;j<n;j++) cin>>a[i][j]; for(int i=0;i<n;i++){ for(int j=0;j<n;j++){ swap(p,q); memset(f[q],0,sizeof(f[q])); for(int s=0;s<t;s++){ //不取 f[q][(s|(1<<j))^(1<<j)]=max(f[q][(s|(1<<j))^(1<<j)],f[p][s]); //取需要两个条件:上一个位置没取(即上一位置的下一行可以取),这个位置可以取 if((j==0||(j&&(s>>(j-1)&1)==0))&&(s>>j&1)==0) f[q][s|(1<<j)]=max(f[q][s|(1<<j)],f[p][s]+a[i][j]); } } } for(int s=0;s<t;s++) ans=max(ans,f[q][s]); cout<<ans<<endl;}int main(){ freopen("data.in","r",stdin);// ios::sync_with_stdio(false); while(cin>>n) solve(); return 0;}
0 0
- HDU - 1565 方格取数(1) (DP)
- HDU 1565 方格取数(1)(状压dp)
- HDU 1565 方格取数(1)(状压DP)
- hdu 1565 方格取数(1) 状压DP
- hdu 1565 方格取数(1)【状压dp】
- HDU - 1565 方格取数(1) 状压DP
- HDU 1565 方格取数(1) (状压dp)
- HDU 1565 方格取数(1) (状压DP)
- [HDU 1565]方格取数(1):状压DP
- HDU 1565 方格取数(1) (状压DP)
- hdu 1565 方格取数(1)(DP 状态压缩)
- hdu 1565 方格取数(1)(状态压缩DP)
- hdu 1565 方格取数(1)(状态压缩dp)
- HDU-1565 方格取数(1) 状态压缩DP
- HDU 1565 方格取数(1) (状态dp)
- HDU 1565 方格取数(1)(状态压缩DP)
- hdu 1565 方格取数(1) (状态压缩dp)
- hdu 1565 方格取数(1) 状态压缩+dp
- Spring Boot集成Swagger2并替换默认的UI
- Linux运维笔记-文档总结-永久更改文件SELINUX安全上下文和管理SELINUX布尔值
- json解析
- 微信小程序『侧边栏滑动』特效
- 微指创始人任春雷携好机友踏入微商领域
- [HDU 1565]方格取数(1):状压DP
- 数据结构与算法(十)
- 推荐算法概览
- maven搭建私服
- facebook的Android调试工具Stetho的简单使用
- ORACLE11G建临时表空间>建表空间>建用户>给用户授权
- 欢迎使用CSDN-markdown编辑器
- 机器学习之神经网络
- android百度地图,路线规划增加没有路的虚线。