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,但是也不能说就是 我们只要想好了一个怎么变成两个,剩下的就好了,但是怎么变,就是变化 ...
随机推荐
- Name That Number 命名那个数字
1.2.3 Name That Number 命名那个数字 Time Limit: 1 Sec Memory Limit: 64 MBSubmit: 183 Solved: 33[Submit][ ...
- 解决爬虫时网站采用gb2312编码所遇到的乱码问题!
import requests from bs4 import BeautifulSoupall_url = 'http://www.7160.com/qingchunmeinv/' # 请求头 he ...
- Wireshark抓包保存文件(图片,视频,音频等)
1.首先选择一个图片的分组 如图的9801 就是JPG 2.对下面的窗口里面选中JPEG File Interchange Format 右键选择 导出分组字节流 3.文件输入XXX.jpg,注意保存 ...
- sqlalchemy更新和插入操作
def save_app_info(self): try: # update app_info print(self.dicts) data = db_session.query(App_Info). ...
- Freemaker 自定义指令和函数
自定义函数和指令都可以在前台或者后台进行指定. 个人理解:指令的作用,主要是进行页面调整之后进行输出:函数的作用,主要是为了进行运算,返回运算结果供前台展示. (一) 自定义指令 使用以下格式调用自定 ...
- socket.io插件调用的demo
1.利用socket.io插件制作一个聊天框,原理是输入对话,发送到服务,服务器在返回相应的对话,最后插入页面中,时间对话的功能,这里我是使用的node.js搭建的服务器. 附上源码 <!DOC ...
- awk中NF,NR的含义
awk中NF和NR的意义,其实你已经知道NF和NR的意义了,NF代表的是一个文本文件中一行(一条记录)中的字段个数,NR代表的是这个文本文件的行数(记录数).在编程时特别是在数据处理时经常用到.建议你 ...
- 网络管理 SNMP基础知识
SNMP Agent快速开发 网友:SmileWolf 发布于: 2007.08.02 16:06 (共有条评论) 查看评论 | 我要评论 摘自 http:/ ...
- 基于Token的授权(with srping mvc)
@Override public void doFilter(ServletRequest sr, ServletResponse sr1, FilterChain fc) throws IOExce ...
- javascript copy text to clipboard
本段代码摘自微软docs网站上,目前需要解决在IE浏览器中触发copy事件的方法,也可以直接调用jquery. <!DOCTYPE html> <html> <head& ...