博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
bzoj千题计划186:bzoj1048: [HAOI2007]分割矩阵
阅读量:6759 次
发布时间:2019-06-26

本文共 1182 字,大约阅读时间需要 3 分钟。

 

#include
#include
#include
using namespace std;int sum[11][11];int n,m,k;double ans=1e9;double average;bool vis[11][11][11][11][11];double dp[11][11][11][11][11];double dfs(int xl,int yl,int xr,int yr,int tot){ if(vis[xl][yl][xr][yr][tot]) return dp[xl][yl][xr][yr][tot]; double &now=dp[xl][yl][xr][yr][tot]; vis[xl][yl][xr][yr][tot]=true; if(tot==1) { int tmp=sum[xr][yr]-sum[xl-1][yr]-sum[xr][yl-1]+sum[xl-1][yl-1]; now=(tmp-average)*(tmp-average); return now; } now=2e9; for(int i=xl;i

 

1048: [HAOI2007]分割矩阵

Time Limit: 10 Sec  Memory Limit: 162 MB
Submit: 1118  Solved: 808
[][][]

Description

  将一个a*b的数字矩阵进行如下分割:将原矩阵沿某一条直线分割成两个矩阵,再将生成的两个矩阵继续如此

分割(当然也可以只分割其中的一个),这样分割了(n-1)次后,原矩阵被分割成了n个矩阵。(每次分割都只能
沿着数字间的缝隙进行)原矩阵中每一位置上有一个分值,一个矩阵的总分为其所含各位置上分值之和。现在需要
把矩阵按上述规则分割成n个矩阵,并使各矩阵总分的均方差最小。请编程对给出的矩阵及n,求出均方差的最小值

Input

第一行为3个整数,表示a,b,n(1<a,b<=10,1<n<=10)的值。

第二行至第n+1行每行为b个小于100的非负整数,表示矩阵中相应位置上的分值。每行相邻两数之间用一个空
格分开。

Output

仅一个数,为均方差的最小值(四舍五入精确到小数点后2位)

Sample Input

5 4 4
2 3 4 6
5 7 5 1
10 4 0 5
2 0 2 3
4 1 1 1

Sample Output

0.50

转载于:https://www.cnblogs.com/TheRoadToTheGold/p/8182452.html

你可能感兴趣的文章
Jquery 中a||""的含义
查看>>
我的友情链接
查看>>
而且如果他们在两年之内重返公司的话
查看>>
为什么要使用slf4j而不是log4j
查看>>
如何制作一个塔防游戏 Cocos2d-x 2.0.4
查看>>
Zabbix服务器监控基本应用详解(一)
查看>>
我的友情链接
查看>>
Android开发如何让activity不出现在最近列表中
查看>>
hadoop+zookeeper+hbase 开机自启动
查看>>
关于如何利用Struts2,Hibernate,Spring开发电子商业汇票系统
查看>>
Java基础学习总结(22)——异常处理
查看>>
如何查询mysql数据库中哪些表的数据量最大
查看>>
Java项目命名规范
查看>>
tomcat的基本配置示例
查看>>
Java实现敏感词过滤
查看>>
MyBatis学习总结(1)——MyBatis快速入门
查看>>
人工智能、深度学习、神经元网络常识
查看>>
Java基础学习总结(9)——this关键字
查看>>
我的友情链接
查看>>
Java基础学习总结(20)——基础语法
查看>>