HDU 1565 方格取数(1)
来源:互联网 发布:燃烧热数据 编辑:程序博客网 时间:2024/06/08 19:03
数组不可以直接开,剪枝之后求算一下所有满足题目条件的状态数目,然后再开数组,30000足够。
代码如下:
#pragma comment(linker, "/STACK:1024000000,1024000000")#include <algorithm>#include <bitset>#include <cmath>#include <cstdio>#include <cstdlib>#include <cstring>#include <iostream>#include <map>#include <queue>#include <set>#include <stack>#include <string>#include <cctype>#include <fstream>#define INF 0x3f3f3f3f#define EPS 1e-6#define TEST cout<<"stop here"<<endlusing namespace std;typedef long long ll;const ll mod = 1e9 + 7;const int N = 25;const int MAXN = 30000;int maze[N][N],st[MAXN],dp[N][MAXN];int n,tot = 0;void init(int m){ tot = 0; for(int i=0;i< (1<<m);i++){ if( !(i&(i<<1)) ){ st[tot++] = i; } } //cout<<tot<<endl; //计算大概需要开的数组大小,1<<21肯定不行的}void Fun(int i,int j){ for(int k=1;k<=n;k++){ if(st[j] & (1<<(k-1)) ) dp[i][j] += maze[i][k]; }}int main(){ std::ios::sync_with_stdio(false); std::cin.tie(0); while(cin>>n){ memset(maze,0,sizeof(maze)); memset(dp,0,sizeof(dp)); init(n); for(int i=1;i<=n;i++){ for(int j=1;j<=n;j++){ cin>> maze[i][j]; } } for(int i=1;i<=n;i++){ for(int j=0;j<tot;j++){ Fun(i,j); int maxx = 0; for(int k=0;k<tot;k++){ if( !(st[j]&st[k]) ){ maxx = max(maxx,dp[i-1][k]);//cout<<dp[i][j]<<endl; } } dp[i][j] += maxx; } } int ans = 0; for(int j=0;j<tot;j++){ ans = max(ans,dp[n][j]); } cout<< ans <<endl; } return 0;}
阅读全文
0 0
- HDU 1565 方格取数(1)
- hdu 1565 方格取数(1)
- HDU-1565-方格取数(1)
- hdu 1565 方格取数(1)
- HDU 1565 方格取数(1)
- hdu(1565)方格取数(1)
- hdu 1565 方格取数(1)
- hdu 1565 方格取数(1)
- hdu 1565 方格取数(1)
- HDU - 1565 方格取数(1) (DP)
- hdu 1565 方格取数(1)
- HDU 1565 方格取数(1)
- HDU 1565 方格取数(1)
- hdu acm 1565 方格取数(1)
- HDU 1565 方格取数(1)
- HDU - 1565 方格取数(1)
- HDU 1565 方格取数(1)
- HDU 1565 方格取数(1)
- Js日期时间相关操作。
- QT状态栏(statusbar)用法
- 应届生面试注意问题
- MySQL查询优化之explain的深入解析
- spring解析element
- HDU 1565 方格取数(1)
- 从零单排SpringMVC——SpringMVC项目搭建
- IOC基本原理(控制反转 )
- 数据结构——第一讲、基本概念(1)
- PHP实现在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
- Maven编译报:编码GBK的不可映射字符与程序包org.junit.runner不存在
- MFC入门经典
- 群赛14----2017.9.24
- 计数系统,架构与优化细节