题目链接

大体思路看,黑书。。。其他就是注意搞一个in数组,这样记忆化搜索,貌似比较快。

 #include <cstdio>
#include <cstring>
#include <iostream>
#include <cmath>
using namespace std;
#define INF 0x7fffffff
int p[][],sum[][];
double dp[][][][][];
int in[][][][][];
double s[][][][];
int dfs(int x1,int y1,int x2,int y2,int k)
{
int i;
if(in[x1][y1][x2][y2][k])
return dp[x1][y1][x2][y2][k];
if(k == )
{
in[x1][y1][x2][y2][k] = ;
return dp[x1][y1][x2][y2][k] = s[x1][y1][x2][y2];
}
else
{
double minz = INF;
for(i = x1;i < x2;i ++)
{
minz = min(dfs(x1,y1,i,y2,k-)+s[i+][y1][x2][y2],minz);
minz = min(dfs(i+,y1,x2,y2,k-)+s[x1][y1][i][y2],minz);
}
for(i = y1;i < y2;i ++)
{
minz = min(dfs(x1,y1,x2,i,k-)+s[x1][i+][x2][y2],minz);
minz = min(dfs(x1,i+,x2,y2,k-)+s[x1][y1][x2][i],minz);
}
in[x1][y1][x2][y2][k] = ;
return dp[x1][y1][x2][y2][k] = minz;
}
}
int main()
{
int i,j,k,u,v,n,temp;
scanf("%d",&n);
temp = ;
for(i = ;i <= ;i ++)
{
for(j = ;j <= ;j ++)
{
scanf("%d",&p[i][j]);
temp += p[i][j];
}
}
for(i = ;i <= ;i ++)
{
for(j = ;j <= ;j ++)
{
for(k = ;k <= ;k ++)
{
for(u = ;u <= ;u ++)
{
for(v = ;v <= n;v ++)
dp[i][j][k][u][v] = INF;
}
}
}
}
for(i = ;i <= ;i ++)
{
for(j = ;j <= ;j ++)
sum[i][j] = sum[i-][j] + sum[i][j-] - sum[i-][j-] + p[i][j];
}
for(i = ;i <= ;i ++)
{
for(j = ;j <= ;j ++)
{
for(k = ;k <= ;k ++)
{
for(u = ;u <= ;u ++)
{
s[i][j][k][u] = sum[k][u]+sum[i-][j-]-sum[i-][u]-sum[k][j-];
s[i][j][k][u] *= s[i][j][k][u];
}
}
}
}
printf("%.3f\n",sqrt(dfs(,,,,n)*1.0/n-(temp*1.0/n)*(temp*1.0/n)));
return ;
}

POJ 1191 棋盘分割(DP)的更多相关文章

  1. poj 1191 棋盘分割(dp + 记忆化搜索)

    题目:http://poj.org/problem?id=1191 黑书116页的例题 将方差公式化简之后就是 每一块和的平方 相加/n , 减去平均值的平方. 可以看出来 方差只与 每一块的和的平方 ...

  2. HDU 2517 / POJ 1191 棋盘分割 区间DP / 记忆化搜索

    题目链接: 黑书 P116 HDU 2157 棋盘分割 POJ 1191 棋盘分割 分析:  枚举所有可能的切割方法. 但如果用递归的方法要加上记忆搜索, 不能会超时... 代码: #include& ...

  3. POJ 1191 棋盘分割 【DFS记忆化搜索经典】

    题目传送门:http://poj.org/problem?id=1191 棋盘分割 Time Limit: 1000MS   Memory Limit: 10000K Total Submission ...

  4. poj 1191 棋盘分割 动态规划

    棋盘分割 Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 11457   Accepted: 4032 Description ...

  5. POJ 1191 棋盘分割

    棋盘分割 Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 11213 Accepted: 3951 Description 将一个 ...

  6. POJ 1191棋盘分割问题

    棋盘分割问题 题目大意,将一个棋盘分割成k-1个矩形,每个矩形都对应一个权值,让所有的权值最小求分法 很像区间DP,但是也不能说就是 我们只要想好了一个怎么变成两个,剩下的就好了,但是怎么变,就是变化 ...

  7. (中等) POJ 1191 棋盘分割,DP。

    Description 将一个8*8的棋盘进行如下分割:将原棋盘割下一块矩形棋盘并使剩下部分也是矩形,再将剩下的部分继续如此分割,这样割了(n-1)次后,连同最后剩下的矩形棋盘共有n块矩形棋盘.(每次 ...

  8. POJ - 1191 棋盘分割 记忆递归 搜索dp+数学

    http://poj.org/problem?id=1191 题意:中文题. 题解: 1.关于切割的模拟,用递归 有这样的递归方程(dp方程):f(n,棋盘)=f(n-1,待割的棋盘)+f(1,割下的 ...

  9. POJ 1191 棋盘分割(DP)

    题目链接 题意 : 中文题不详述. 思路 : 黑书上116页讲的很详细.不过你需要在之前预处理一下面积,那样的话之后列式子比较方便一些. 先把均方差那个公式变形, 另X表示x的平均值,两边平方得 平均 ...

随机推荐

  1. 在Shell里面判断字符串是否为空

     在Shell里面判断字符串是否为空 分类: Linux shell2011-12-28 23:18 15371人阅读 评论(0) 收藏 举报 shell 主要有以下几种方法: echo “$str” ...

  2. 原创:分享asp.net伪静态成目录形式iis如何设置

    服务器租用详解asp.net伪静态成目录形式iis如何设置: 一.首先介绍一下asp.net伪静态成html后缀iis如何设置的 iis6 伪静态 iis配置方法 图解 1.右键点击 要设置网站的网站 ...

  3. Eclipse在已创建的project中导入其他文件

    Eclipse在已创建的project中导入其他文件 前两天被同事问到,如何通过不拷贝源文件的方式,在之前已经创建好的project中直接导入其他目录下的文件, 整理了一下,将目前所知道的eclips ...

  4. 【VirtualBox】端口转发,ssh

    端口转发 VirualBox的设置 - 网络 - 端口转发 里面有主机IP.主机端口.子系统IP.子系统端口 设置后的含义是:当外部访问主机IP:主机端口后,将会把访问映射到虚拟机的子系统IP和子系统 ...

  5. HDU 5754 Life Winner Bo (各种博弈) 2016杭电多校联合第三场

    题目:传送门 题意:一个国际象棋棋盘,有四种棋子,从(n,m)走到(1,1),走到(1,1)的人赢,先手赢输出B,后手赢输出G,平局输出D. 题解:先把从(n,m)走到(1,1)看做是从(1,1)走到 ...

  6. HDU2050离散数学折线分割平面

    折线分割平面 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Subm ...

  7. [SVN(ubuntu)] ubuntu使用svn

    转载自:http://lee2013.iteye.com/blog/1058047 SVN作为日常开发中不可缺少的工具,Ubuntu下的SVN安装十分简单,sudo apt-get install s ...

  8. /bin/dd if=/path/to/source-file of=/path/to/backup-file

    [root@ok virhost]# qemu-img info 05t.img image: 05t.img file format: raw virtual size: 10G (10737418 ...

  9. SELECT的解析顺序及慢查询优化

    标准的 SQL 的解析顺序为:(1)FROM 子句, 组装来自不同数据源的数据(2)WHERE 子句, 基于指定的条件对记录进行筛选(3)GROUP BY 子句, 将数据划分为多个分组(4)使用聚合函 ...

  10. Android Bander设计与实现 - 设计篇

    转自:http://blog.csdn.net/universus/article/details/6211589#t7 Binder Android IPC Linux 内核 驱动 摘要 Binde ...