【DP+记忆化搜索】PKU-1191-棋盘分割

pku(poj)--2494--Acid Text--java代码 用Java代码实现POJ(PKU)上题2494! 立即下载

题目

sum[x0][y0][x1][y1]表示的是左上角为(x0,y0),右上角为(x1,y1)的矩形的每个点分数总和的平方;dp[n][x0][y0][x1][y1]表示的是左上角为(x0,y0),右上角为(x1,y1)的矩形再经n刀切到的方差的平方加上平均值的平方的和再乘以n……

状态转移方程为dp(n, x0, y0, x1, y1)=Min( Min( dp[n-1, x0, y0, a ,y1]+sum[a+1, y0, x1, y1], dp[n-1, a+1, y0, x1, y1]+sum[x0, y0, a, y1]), Min(dp[n-1, x0, y0, x1, b]+sum[x0, b+1, x1, y1], dp[n-1, x0, b+1, x1, y1]+sum[x0, y0, x1, b]))。其中x0<=a<x1, y0<=b<y1。

#include<iostream>
#include<cmath>
using namespace std;
template<class T> T Min(T x,T y){return x<y?x:y;}
int sum[10][10][10][10],dp[15][10][10][10][10];
int dfs(int n,int x0,int y0,int x1,int y1)
{
	int i,d,&ret=dp[n][x0][y0][x1][y1];
	if(ret!=-1)return ret;
	if(n==0)return ret=sum[x0][y0][x1][y1];
	d=999999999;
	for(i=x0;i<x1;i++)
	{
		d=Min(d,dfs(n-1,x0,y0,i,y1)+sum[i+1][y0][x1][y1]);                           
		d=Min(d,dfs(n-1,i+1,y0,x1,y1)+sum[x0][y0][i][y1]);
	}
	for(i=y0;i<y1;i++)
	{
		d=Min(d,dfs(n-1,x0,y0,x1,i)+sum[x0][i+1][x1][y1]);
		d=Min(d,dfs(n-1,x0,i+1,x1,y1)+sum[x0][y0][x1][i]);
	}
	return ret=d;
}
int main()
{
	//freopen("a.txt","r",stdin);
	int i,j,k,l,m,n,sum0,map[10][10];
	double d;
	while(scanf("%d",&n)!=EOF)
	{
		for(i=1;i<=8;i++)
			for(j=1;j<=8;j++)
				scanf("%d",&map[i][j]);
		memset(dp,-1,sizeof(dp));
		memset(sum,0,sizeof(sum));
		sum0=0;
		for(i=1;i<=8;i++)
			for(j=1;j<=8;j++)
			{
				sum0+=map[i][j];
				for(k=i;k<=8;k++)
					for(l=j;l<=8;l++)
					{
						for(m=i;m<k;m++)sum[i][j][k][l]+=map[m][l];
						for(m=j;m<l;m++)sum[i][j][k][l]+=map[k][m];
						sum[i][j][k][l]+=sum[i][j][k-1][l-1]+map[k][l];
					}
			}
		for(i=1;i<=8;i++)
			for(j=1;j<=8;j++)
				for(k=i;k<=8;k++)
					for(l=j;l<=8;l++)
						sum[i][j][k][l]*=sum[i][j][k][l];
		d=sum0*1.0/n;
		d*=d;
		printf("%.3f\n",sqrt(dfs(n-1,1,1,8,8)*1.0/n-d));
	}
	return 0;
}


Qwen3.5在昇腾910B上的vLLM Ascend高性能部署实战 大语言模型推理优化是AI工程落地的核心环节,其本质是计算、内存与通信三者的协同调度。vLLM作为主流推理框架,通过PagedAttention和Continuous Batching显著提升GPU利用率;而昇腾NPU凭借高带宽HBM与专用AI算子,在国产化算力平台中展现出独特优势。当vLLM深度适配昇腾(即vLLM Ascend),不仅保留动态批处理、流式输出等关键能力,更实现KV Cache的HBM感知管理与HCCL直通优化,使中小尺寸模型(如Qwen3.5-35B)在单台Atlas A3服务器上达成百并 阅读详情

相关推荐

【AI 编程工具进阶用法】如何在Cursor、Trae等工具中使用Skills

OpenSkills是一个开源项目,用于在Cursor、Trae等AI编程工具中添加可复用、可组合的"能力模块"。安装流程包括:1)全局安装OpenSkills CLI工具;2)选择安装Anthropic官方Skills到项目或全局;3)创建AGENTS.md文件同步Skills;4)在AI工具中调用Skills。此外还介绍了UI/UX Pro Max Skill项目,通过npm安装后可为AI添加设计能力。这些Skills相当于为AI工具安装"高级技能包"

肌肉金轮的博客 3542

PKU-1002使用java编写用快速排序为何一直Runtime Error 无解 留下问题 以后再看

题目参照PKU1002下面是代码:java版 各类数据皆有解 就是一直Runtime Error  无解。。。。。。。。import java.util.Arrays;import java.util.Scanner;public class Main {    void qsString(int[][] a,int p,int r){        int q,i=p,j=r;        int[] x=new int[100001];        int[] temp=new int[100001

liuhy2的专栏 733

WorkBuddy结合DeepSeek与Skill:文献检索自动化与Token成本控制实战

Agent工具与大模型API的结合正重塑知识工作者的日常流程。在实际工程中,调用大模型处理批量任务常面临Token消耗过快、成本不可控的痛点,而国产大模型DeepSeek以极低的API定价和兼容OpenAI接口的特性,为规模化文本处理提供了“Token自由”的可能。同时,可复用的Skill机制能够将特定领域的工作流固化为标准化步骤,让Agent自动执行检索式生成、文献筛选与摘要归纳等复杂操作。本文从这一技术背景出发,以科研文献检索为应用场景,演示如何利用WorkBuddy、DeepSeek API与自建文献

weixin_29061509的博客 490

pku 1191 棋盘分割 DP / 记忆化搜索

http://poj.org/problem?id=1191题意:中文省略.思路:黑说p116有讲解,主要的状态转移方程为横着切:dp[k][x1][y1][x2][y2] = min(dp[k - 1][x1][y1][mid][y2] + dp[1][mid][y1][x2][y2],dp[k - 1][mid][y1][x2][y2] + dp[1][x1][y1][mid][y2]...

weixin_30851867的博客 60

ZYQN7000系列VxWorks驱动开发:VxWorks系统移植

文章目录ZYQN7000驱动开发:VxWorks系统移植1.硬件环境2.编译vsb和vip工程2.1修改设备树文件2.2添加调试打印组件3.选择uboot来启动VxWorks内核4.尝试在开发板上启动内核4.1 拷贝镜像和设备树至SD卡4.2开发板上电4.2.1 uboot成功启动4.2.2 启动VxWorks5.添加shell和cmd组件 ZYQN7000驱动开发:VxWorks系统移植 1.硬件环境 正点原子领航者开发板 2.编译vsb和vip工程 vsb和vip工程的编译过程可以参考之前的文章,htt

明故宫的记忆 5505

VT System故障排查指南:从License验证到硬件连接全解析

本文详细解析VT System故障排查全流程,从License验证、Real Bus模式设置到硬件连接与VT6000组网配置。针对VT7900板卡等特殊设备提供专业解决方案,并分享系统级故障的二分法排查技巧,帮助工程师快速定位和解决CANoe环境下的各类硬件识别问题。

weixin_29269441的博客 255

pku1191 棋盘分割 DP

简单的枚举切法然后记忆化更新 时间复杂度嗯……n^m?其实要小的多,然而好像只能这样写 Problem: 1191 User: BPM136 Memory: 1500K Time: 16MS Language: G++ Result: Accepted #include #include #include #include #include #include #define LL lo

BPM136 518

Clipper库中文帮助文档

引言: 第一次接触Clipper,主要是想用来处理DXF中的图形,网上也有博友翻译过,但是可惜打不开,好像那个网站https://love2.io凉凉了,但是优快云上也有博友分享了CHM,看着只剩3个下载币的我好无奈,一怒之下花费两天的时间将英文CHM也翻译了一遍,主要还是想在翻译的同时好好的理解Clipper,为使用打下坚实的基础。当然我也会无私的奉献出来。 简单的认识一下Clipper:...

zefllj的博客 3422

LRJ《算法艺术与信息学竞赛》刷题总结 #by nobody

一、动态规划: http://acm.pku.edu.cn/JudgeOnline/problem?id=1141  黑书P113“括号序列”  记忆化搜索。(AC) http://poj.org/problem?id=1191 黑书P116“棋盘分割”。公式化简一下就成简单的DP了。(AC) http://www.spoj.pl/problems/MUSKET

XDU_Truth的专栏 1399

[Linux外设驱动详解]RK3588 U-Boot网络功能深度分析

本文深入分析了RK3588平台上U-Boot的网络功能实现,主要内容包括: 网络架构:详细剖析了从硬件层到协议层的完整网络栈架构,包括GMAC驱动、TFTP/NFS启动、网络命令等关键组件。 驱动实现:重点介绍了RK3588 GMAC驱动结构,包含关键数据结构、专用操作函数集、设备树兼容性配置和GRF寄存器设置。 功能实现:详细说明了驱动初始化流程、RGMII速度适配机制以及PHY接口配置过程。 高级特性:涵盖了网络启动功能、镜像更新和MAC地址传递到Linux内核的机制。 文档通过代码片段和流程图清晰展示

Just Linux! 1113

基于STM32F103的智能门禁门锁门卫系统设计

本文设计了一种基于STM32F103单片机的智能门禁系统,集成了密码、射频IC卡和指纹识别三种验证方式。系统采用模块化设计,包含MFRC522射频模块、AS608指纹模块、矩阵键盘、OLED显示和舵机控制等硬件,实现了身份验证、密码修改、IC卡/指纹管理以及安全防护功能。测试结果表明系统响应迅速(密码验证250ms、指纹验证600ms)、功耗低(待机50mA),且具备掉电密码保存功能。该系统操作简便、功能完善,适用于家庭和办公场所,具有较高实用价值。未来可扩展远程控制、人脸识别等功能以进一步提升智能化水平。

3254968421的博客 318

黑书上的DP例题

page section no title submit 113 1.5.1 例题1 括号序列 POJ1141 116 1.5.1 例题2 棋盘分割 POJ1191 117 1.5.1 例题3 决斗 Sicily1822 117 1.5.1 例题4 “舞蹈家”怀特先生 ACM-ICPC Live Archi...

weixin_30563319的博客 112

[Godot][入门] 安装与版本选择:3.x 还是 4.x?(按项目类型一键决策)

摘要: Godot引擎版本选择需根据项目需求权衡3.x与4.x。Godot4.x(如4.2)适合3D开发和新项目,支持Vulkan和GDScript2.0,但生态尚不成熟;Godot3.x(如3.5.3)则更适合稳定2D开发、Web导出及依赖现有插件/教程的场景。安装方式极简,官网下载解压即可运行。新手建议:短期高效选3.x,长期探索选4.x,旧项目勿盲目迁移。附版本对比表及决策树,助开发者快速匹配需求。

技术小甜甜:传播可落地技术,帮助个人和企业降低解决真实场景问题的成本 910

【树形dp】PKU-3345-Bribing FIPA

dp[i][j]表示在以i为根的树选j个国家的最少费用,具体思维看代码…… 题目 #include #include #include #include #include #include #include #include using namespace std; #define FRE freopen("a.txt","r",stdin); #define inf 999999999

AndRing的专栏 863

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

【DP,状态压缩】PKU-1038-Bugs Integrated, Inc.

黑书上的一道较难的DP,用到了三进制状态压缩……虽然开始时有点思路,但是很多细节都不会处理,只能模仿人家的代码了……菜…… 有三个状态,0表示前两行为空,1表示只有前一行为空,2表示前一行不空……dp[i][j],i表示第几行,j表示某一种状态…… #include using namespace std; int m,a[10],b[10],c[11]; short dp[151

AndRing的专栏 834

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

【最小点覆盖(树形dp)】PKU-3659-Cell Phone Network

题意:一棵树,,删掉一个节点,,可以消灭自己和与其相邻的节点,,,问最少删掉几个节点可以消灭所有的节点? 思路:树形dp,分三个状态,首先dp[i][j]表示以这点为跟的子树的后代都被消灭了,而dp[i][0]不删除且不被其相邻的点消灭,dp[i][1]表示这点不删除但被其相邻的点消灭,dp[i][2]表示这点删除,然后就是不同状态之间的转移了,具体看代码。 题目 #include #i

AndRing的专栏 759

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

【dp+dfs】VK Cup 2012 Round 1-D. Distance in Tree

dp+dfs好题,状态转移写得很赞……dp[i][j中的i表示以第几个点为中心,j长度,综合起来表示以i为中心长度为j的边的总数…… 题目 #include #include using namespace std; int k; __int64 ans,dp[50005][505]; vector v[50005]; void dfs(int x,int y) { int i,j,z;

AndRing的专栏 715

【dp】HUST-1351-Group

很好的一道dp,它的状态转移真的是太巧秒了! 题意:给出一段数列,要求你将这段数列分割成最多k段且每段的个数不能少于l的数列,然后求一个和,它是由一段中所有数字的总和乘以这一段的段数,即这一段是第几段,然后把所有这样的和加起来得到的,问这个和最小是多少! 思路:先用sum[i]数组表示1到i这段数列的总和,数组dp[i][j],表示的是将1到j这段数组分割成i段的最小值。所以状态转移为: t

AndRing的专栏 653

【树形dp】PKU-2486-Apple Tree

在原来很裸的树形dp上加了些限制条件,不过知道状态转移还是很好做的,但状态转移不好想啊,都是看了人家的结题报告后才知道的! 题目 #include #include #include #include #include #include #include #include using namespace std; #define FRE freopen("a.txt","r",stdin)

AndRing的专栏 648

【树形dp】ZOJ-3326-Tree of Tree

这道题和昨晚在CF上做的一道题很像,都是树形dp。刚开始时,我写了个很烂的代码水过了,时间复杂度为O(n^3).不过一看觉得不对了,人家的都是0ms的,于是去网上找题解优化,时间就降为O(n^2)了,终究还是自己太水了…… 题目 优化前,300ms: #include #include #include #include using namespace std; template T M

AndRing的专栏 645

【DP】-Codeforces Round #110 (Div. 1)-C. Cipher

个人觉得很神奇的一道DP…… 题目要求求出给出字符串经过题目要求的变换可以得到多少各不同的字符串。可以证明的是,这些字符串加起来的和都一样,所以dp[i][j]的i表示的是字符串的长度,j表示的是字符串所有字母加起来的和,状态转移方程为dp[i+1][j+k]+=dp[i][j](1 题目 #include #include using namespace std; #define mo

AndRing的专栏 590

【树状数组】PKU-2057-The Lost House

这里有挺完整的题解:http://blog.youkuaiyun.com/find_my_dream/article/details/4864657 题目 #include #include #include #include #include #include #include #include using namespace std; #define FRE freopen("in.txt","r

AndRing的专栏 572

【树状数组】PKU-2152-Fire

一道处理的很巧妙的树状数组……都是参考大牛的代码的…… 题目 大牛题解 #include #include using namespace std; template T Max(T x,T y){return x>y?x:y;} template T Min(T x,T y){return x<y?x:y;} #define N 1005 #define inf 999999999

AndRing的专栏 556
上一篇: 【DP+记忆化搜索】PKU-1390-Blocks
下一篇: 【归并排序】ZOJ-3574-Under Attack II
AndRing
博客等级 码龄15年 5粉丝 44原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值