NOI1999 JZYZOJ1289 棋盘分割 dp 方差的数学结论
http://172.20.6.3/Problem_Show.asp?id=1289
#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
#include<cmath>
#include<queue>
using namespace std;
int n;
int a[][]={};
double f[][][][][]={};
bool vis[][][][][]={};
int main(){
scanf("%d",&n);
for(int i=;i<=;i++){
for(int j=;j<=;j++){
scanf("%d",&a[i][j]);
a[i][j]+=a[i][j-];
a[i][j]+=a[i-][j];
a[i][j]-=a[i-][j-];
}
}
for(int i=;i<=;i++){
for(int j=;j<=;j++){
for(int w=i;w<=;w++){
for(int q=j;q<=;q++){
f[][i][j][w][q]=1.0*(a[w][q]-a[i-][q]-a[w][j-]+a[i-][j-]);
f[][i][j][w][q]*=f[][i][j][w][q];vis[][i][j][w][q]=;
}
}
}
}
double ro=1.0*a[][]/(1.0*n);
ro=ro*ro;
for(int k=;k<=n;k++){
for(int i=;i<=;i++){
for(int j=;j<=;j++){
for(int w=i;w<=;w++){
for(int q=j;q<=;q++){
for(int z=i;z<w;z++){
if((vis[k-][i][j][z][q]&&vis[][z+][j][w][q])&&(vis[k][i][j][w][q]==||f[k][i][j][w][q]-(f[k-][i][j][z][q]+f[][z+][j][w][q])>)){
f[k][i][j][w][q]=f[k-][i][j][z][q]+f[][z+][j][w][q];vis[k][i][j][w][q]=;
}
if((vis[][i][j][z][q]&&vis[k-][z+][j][w][q])&&(vis[k][i][j][w][q]==||f[k][i][j][w][q]-(f[][i][j][z][q]+f[k-][z+][j][w][q])>)){
f[k][i][j][w][q]=f[][i][j][z][q]+f[k-][z+][j][w][q];vis[k][i][j][w][q]=;
}
}
for(int z=j;z<q;z++){
if((vis[k-][i][j][w][z]&&vis[][i][z+][w][q])&&(vis[k][i][j][w][q]==||f[k][i][j][w][q]-(f[k-][i][j][w][z]+f[][i][z+][w][q])>)){
f[k][i][j][w][q]=f[k-][i][j][w][z]+f[][i][z+][w][q];vis[k][i][j][w][q]=;
}
if((vis[][i][j][w][z]&&vis[k-][i][z+][w][q])&&(vis[k][i][j][w][q]==||f[k][i][j][w][q]-(f[][i][j][w][z]+f[k-][i][z+][w][q])>)){
f[k][i][j][w][q]=f[][i][j][w][z]+f[k-][i][z+][w][q];vis[k][i][j][w][q]=;
}
}
}
}
}
}
}
double z=f[n][][][][]/n-ro;
z=sqrt(z);
printf("%.3f\n",z);
return ;
}
NOI1999 JZYZOJ1289 棋盘分割 dp 方差的数学结论的更多相关文章
- P1436 棋盘分割[dp]
题目描述 将一个8*8的棋盘进行如下分割:将原棋盘割下一块矩形棋盘并使剩下部分也是矩形,再将剩下的两部分中的任意一块继续如此分割,这样割了(n-1)次后,连同最后剩下的矩形棋盘共有n块矩形棋盘.(每次 ...
- POJ 1191 棋盘分割(DP)
题目链接 大体思路看,黑书...其他就是注意搞一个in数组,这样记忆化搜索,貌似比较快. #include <cstdio> #include <cstring> #inclu ...
- poj 1191 棋盘分割(dp + 记忆化搜索)
题目:http://poj.org/problem?id=1191 黑书116页的例题 将方差公式化简之后就是 每一块和的平方 相加/n , 减去平均值的平方. 可以看出来 方差只与 每一块的和的平方 ...
- [NOI1999] 棋盘分割(推式子+dp)
http://poj.org/problem?id=1191 棋盘分割 Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 156 ...
- [NOI1999] 棋盘分割
COGS 100. [NOI1999] 棋盘分割 http://www.cogs.pro/cogs/problem/problem.php?pid=100 ★★ 输入文件:division.in ...
- POJ1991 NOI1999棋盘分割
棋盘分割 Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 15581 Accepted: 5534 Description ...
- HDU 2517 / POJ 1191 棋盘分割 区间DP / 记忆化搜索
题目链接: 黑书 P116 HDU 2157 棋盘分割 POJ 1191 棋盘分割 分析: 枚举所有可能的切割方法. 但如果用递归的方法要加上记忆搜索, 不能会超时... 代码: #include& ...
- poj1191 棋盘分割【区间DP】【记忆化搜索】
棋盘分割 Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 16263 Accepted: 5812 Description ...
- POJ 1191棋盘分割问题
棋盘分割问题 题目大意,将一个棋盘分割成k-1个矩形,每个矩形都对应一个权值,让所有的权值最小求分法 很像区间DP,但是也不能说就是 我们只要想好了一个怎么变成两个,剩下的就好了,但是怎么变,就是变化 ...
随机推荐
- 信息收集之zoomeye
一.浏览器上使用api接口 1.https://api.zoomeye.org/user/login post传参:{"username" : "username&quo ...
- JS window.name跨域封装
JS window.name 跨域封装 function CrossDomainName(target, agent, callback, security) { if (typeof target ...
- static作用(修饰函数、局部变量、全局变量)转自http://www.cnblogs.com/stoneJin/archive/2011/09/21/2183313.html
static作用(修饰函数.局部变量.全局变量) 在C语言中,static的字面意思很容易把我们导入歧途,其实它的作用有三条. (1)先来介绍它的第一条也是最重要的一条:隐藏. 当我们同时编译多个文件 ...
- 64_t5
texlive-mkpattern-svn15878.1.2-33.fc26.2.noarch..> 24-May-2017 15:54 38178 texlive-mkpic-bin-svn3 ...
- 64_p5
php-nette-bootstrap-2.4.3-1.fc26.noarch.rpm 20-Feb-2017 07:19 16290 php-nette-caching-2.5.3-1.fc26.n ...
- 【转载】WebDriver(C#)之十点使用心得
使用Selenium WebDriver驱动浏览器测试的过程中多多少少会遇到一些折腾人的问题,总结了一部分,做下分享. 一.隐藏元素处理(element not visible) 使用WebDrive ...
- mysql一个字符问题
顺便记录一下在使用mysql过程中碰到的一些问题: 有时候使用脚本迁移数据时会碰到乱码的问题,即使将表字符集设置成utf8也无济于事,这个时候在执行sql之前加一句set names utf8即可.
- 渗透常用SQL注入语句合集
1.判断有无注入点; and 1=1 and 1=2 2.猜表一般的表的名称无非是admin adminuser user pass password 等..and 0<>(select ...
- 设置或者获取CheckboxList控件的选中值
1.设置CheckBoxList选中的值 /// <summary> /// 设置CheckBoxList中哪些是选中了的 /// </summary> /// <par ...
- Python2中input()、raw_input()和Python3中input()
听了ALEX的某节课,说input()和raw_input()函数在Python2中没有区别,现在来探讨一下Python2中的input().raw_input()函数和Pyhont3中的input( ...