P1436 棋盘分割
来源:互联网 发布:淘宝客的推广链接 编辑:程序博客网 时间:2024/06/06 01:22
记忆化搜索。一眼题不解释。
感觉这道题不值得我写博客。
#include<cstdio>#include<iostream>#include<cstring>#include<algorithm>#include<vector>#include<queue>using namespace std;#define rep(i,j,k) for(i=j;i<=k;++i)#define per(i,j,k) for(i=j;i>=k;--i)#define sqr(x) ((x)*(x))#define G getchar()#define LL long long#define pii pair<int,int>#define mkp make_pair#define X first#define Y second#define N 501#define NN 1005#define inf 1061109567int a[9][9],f[15][9][9][9][9]; int read(){int x=0;char ch=G;while(ch<48||ch>57)ch=G;for(;ch>47&&ch<58;ch=G)x=x*10+ch-48;return x;}void solve(int k,int U,int D,int L,int R){int i,j,&x=f[k][U][D][L][R];if(x<inf||D-U+R-L<k)return;if(!k){int sum=0;rep(i,U,D)rep(j,L,R)sum+=a[i][j];x=sqr(sum);return;}rep(i,U,D-1){solve(k-1,U,i,L,R);solve(0,i+1,D,L,R);solve(0,U,i,L,R);solve(k-1,i+1,D,L,R);x=min(x,min(f[k-1][U][i][L][R]+f[0][i+1][D][L][R],f[0][U][i][L][R]+f[k-1][i+1][D][L][R]));}rep(i,L,R-1){solve(k-1,U,D,L,i);solve(0,U,D,i+1,R);solve(0,U,D,L,i);solve(k-1,U,D,i+1,R);x=min(x,min(f[k-1][U][D][L][i]+f[0][U][D][i+1][R],f[0][U][D][L][i]+f[k-1][U][D][i+1][R]));}}int main(){int n=read()-1,i,j;rep(i,1,8)rep(j,1,8)a[i][j]=read();memset(f,63,sizeof f);solve(n,1,8,1,8);printf("%d\n",f[n][1][8][1][8]);return 0;}
阅读全文
0 0
- 洛谷P1436 棋盘分割
- P1436 棋盘分割
- codevs1711/洛谷P1436棋盘分割(noi1999)
- 洛谷 P1436 POJ 1191 [NOI1999 D1T2] 棋盘分割
- 棋盘分割
- 棋盘分割
- 棋盘分割
- 棋盘分割
- 棋盘分割
- POJ 1191棋盘分割
- 1191 棋盘分割
- POJ1191棋盘分割 NYOJ87
- 1191 棋盘分割
- poj 1191 棋盘分割
- Poj 1191 棋盘分割
- poj 1191 棋盘分割
- POJ 1191 棋盘分割
- poj 1191棋盘分割
- Qt常用类QPixmap
- 文件系统的简单操作
- 树莓派变身Aria2下载服务器
- Java——创建线程的两种方式
- 《着色器和屏幕特效》读书笔记第三章-光照模型
- P1436 棋盘分割
- EasyPlayerPro(Windows)开发系列之解决分片录像时间戳不正常的问题
- poj 3417 Network LCA+树形dp
- 《着色器和屏幕特效》读书笔记第四章-PBR
- 织梦cms/dedecms清理冗余废弃未引用图片方法
- java--1.非空判断
- Qt常用类QIcon
- bzoj3924幻想乡战略游戏
- unknown