hdu5492Find a path dp

SAR成像概述 1. 发展概述 雷达是英文Radar(Radio detection and ranging)的音译,原意为“无线电探测与测距”。雷达的发明是无线电发展史上的里程碑,二战时,英国急需通过雷达探测空中金属物体来帮助搜寻德国飞机,这期间,雷达技术飞速发展,发展出了地对空、空对地轰炸、空对空火控、敌我识别等功能。雷达在第二次世界大战中发挥了重大作用,至今仍是军用和许多民用领域的重要传感器。 早期雷达系统通过时间延迟来测距,通过天线指向来测角,通过多普勒频移测速。1951年,Carl Wiley发现,通.. 阅读详情

http://acm.split.hdu.edu.cn/showproblem.php?pid=5492

题意:一个n*m方格,每个格子上有自己的权值,从1,1出发每次只能 从(x, y) 走向(x + 1, y) 或 (x, y +1),终点n,m,路径长度必然就是n+m-1,求(N+M−1)∑N+M−1i=1(Ai−Aavg)2的的的

的最小值,其中Ai是路径上的第i个权值,Aavg是路径上权值平均值

把上诉公式完全平方展开,会等于(n+m-1)*(A1^2+A2^2+...)-(A1+A2+A3+...)^2

看到这个公式,很明显就是dp了,却误以为二维dp就够了,每个点选从左边走来更优还是上边走来更优,然而。。。很容易举反例

3 4 

5 5 9 9

2 5 2 2

9 9 2 2  

当前最优不代表全局最优!

就像到(2,2)这个点时,当前最优应该是(1,1)->(1,2) ->(2,2)这条路劲

但参考全局前几步应该选择(1,1)->(2,1)->(2,2)]

看了别人的题解发现并不难,加个维度就好了

因为每个权值都不大,所以可以加一个(A1+A2+A3+。。。)的维度,因为要上式结果最小,对于相同的sum(A),必然(n+m-1)*(A1^2+A2^2+...)越小越好

而(n+m-1)是常数,只需要记录相同sum的最小(A1^2+A2^2+...)即可


avgAavgAavg

#include<bits/stdc++.h>
#define ll long long
using namespace std;
long long dp[35][35][2006];
int a[50][50];
long long int inf=0x3f3f3f3f3f3f3f3f;
int main()
{
    int tca=1,T,n,m,i,j,k;
    cin>>T;
    while(T--)
    {
        cin>>n>>m;
        for(i=1;i<=n;i++)
        {
            for(j=1;j<=m;j++)
            {
                scanf("%d",&a[i][j]);
            }
        }
        memset(dp,inf,sizeof(dp));
        dp[1][1][a[1][1]]=a[1][1]*a[1][1];
        for(i=1;i<=n;i++)
        {
            for(j=1;j<=m;j++)
            {
                for(k=0;k<=2000;k++)
                {
                    if(dp[i][j][k]!=inf)
                    {
                        dp[i+1][j][k+a[i+1][j]]=min(dp[i+1][j][k+a[i+1][j]],dp[i][j][k]+a[i+1][j]*a[i+1][j]);
                        dp[i][j+1][k+a[i][j+1]]=min(dp[i][j+1][k+a[i][j+1]],dp[i][j][k]+a[i][j+1]*a[i][j+1]);
                    }
                }
            }
        }
        long long ans=inf;
        for(i=0;i<=2000;i++)
        {
            if(dp[n][m][i]!=inf)
            ans=min(ans,dp[n][m][i]*(n+m-1)-i*i);
        }
        printf("Case #%d: %lld\n",tca++,ans);
    }
    return 0;
}



【UML】第12篇 序列图(1/2)——基本概念和构成 序列图(Sequence Diagram)是一种用于显示对象之间交互的图形化表示。它描述了在特定场景下,对象之间按照时间顺序进行的消息传递和协作过程。在序列图中,对象被表示为带有垂直虚线的矩形,虚线表示对象的生命周期。对象之间的交互通过箭头表示的消息来表示,箭头从一个对象的生命线指向另一个对象的生命线,表示消息的发送和接收。 阅读详情

相关推荐

【Rcode】生存分析: KM & COX回归& 随机森林& nomogram

本文使用了R——survival包下的lung数据进行方法测试: 1)KM 2) Cox回归:多因素 3)随机森林因子(根据cox回归结果) 4)nomogram ( 根据cox回归结果,建立了中位生存时间,1年5年生存率的概率计算) -------------------????????‍♀️本文只有干货,非常干!????----------------------------- 一、数据加载 #生存分析 library("survival") library("survminer") data("

weixin_43172152的博客 9273

HDU5492 Find a path DP

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5492 题目大意:一个n*m的图,每个节点有一个不大于30的权值A,要从(1,1)点走到(n,m)点,每次只能向下或向右走,问表达式(n+m-1)*∑(Ai-Aave)^2最小是多少。 分析:将表达式展开可以化简可得:(n+m-1)*∑Ai^2-(∑Ai)^2,我们用dp(i,j,k

AC_Gibson的专栏 551

Gröbner基方法入门第I部分:项序和约化

Gröbner基方法入门第I部分:项序和约化 理想的准素分解与矩阵分解是计算代数的核心问题,它们在计算机代数、计算代数几何、代数编码和密码学、多维系统理论等学科都有非常重要的理论意义与应用价值.Gröbner基理论是研究理想的准素分解与矩阵素分解的重要工具之一.更简单地概括:Gröbner基方法是从任意一个多项式理想的一组给定生成元,计算另一组性质良好的生成元,并称为该理想的Gröbner基.它能用来判定任意多项式是否属于该理想. Gröbner基的代数算法是Buchberger在1960年代开发的,并

MinCong Luo的博客 4261

HDU5492 Find a path【DP】

题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5492 参考博文:http://blog.youkuaiyun.com/Baileys0530/article/details/48768123 AC代码: #include #include #include #include #define LL __int64 using nam

程序员充电站(itcharge) 885

【嵌入式原理系列-第七篇】ld脚本实战:从零构建MCU内存布局

本文是一篇针对嵌入式开发者的实战指南,详细讲解了如何从零开始为MCU编写ld链接器脚本以构建自定义内存布局。文章以STM32F103C8T6为例,深入剖析了MEMORY和SECTIONS指令的用法,并提供了OTA分区、非易失数据存储等高级定制案例,帮助开发者解决实际工程中的Flash与RAM管理难题,实现对程序运行的深度掌控。

weixin_29271263的博客 249

从零开始:用AutoLisp为AutoCAD定制专属工具栏(2023最新版)

本文详细介绍了如何利用AutoLisp语言为AutoCAD定制专属工具栏,以提升绘图效率。内容涵盖从环境配置、AutoLisp基础语法到实战开发的全过程,指导用户编写自动化脚本、封装功能函数,并最终通过CUI编辑器创建和部署个性化工具栏按钮,是2023年CAD用户实现工作流自动化与个性化的实用指南。

4k5l6j7h8的博客 299

[dp] hdu 5492 Find a path

题意: 从左上角走到右下角,路径的最小方差是多少,要求输出方差*(N+M-1) 思路: 首先我们化简一下方差公式 发现答案为(n+m-1)*Σai^2-sum^2  sum为路径取的数的和 因为a[i] 我们设dp[i][j][k]代表走到(i,j)位置和为k的最小平方和是多少 然后转移就好了。 代码: #include"cstdlib" #include"cstdio" #in

Enmity_Dark 604

Claude Code 分布式并行开发最佳实践:1中枢+10Worker跨多Git仓库全流程落地

本文介绍了一套基于Claude Code和Git Worktree的分布式并行开发方案,解决多仓库、微服务开发中的核心痛点。方案采用"1个决策中枢+10个并行Worker"架构,中枢负责任务拆解和调度,每个Worker绑定独立仓库实现完全隔离开发。关键优势包括:任务并行效率提升10倍、跨仓库依赖自动编排、版本统一管理、零第三方依赖。文章详细提供了环境准备、架构设计、中枢搭建和初始化脚本等全流程落地指南,特别适合多仓库协同的全栈开发场景。

AI天才研究院 243

HDU 5492 Find a path(DP)

思路:将式子化开其实就是求(n+m-1)*s1-s2的最小值,s1表示各个格子的平方和,s2表示和的平方,留意到数据范围较小,令dp[i][j][k]为走到第i行第j列当前和为k的平方和的最小值,最后答案就是(n+m-1)*dp[i][j][k]-k*k #include using namespace std; #define inf 1e9 int a[33][33]; int dp

围巾的ACM博客 636

Linux Kernel入门到精通系列讲解(RV-Kernel 篇) 5.6 在kernel 中实现系统复位和系统关机驱动

上一章节`Qemu`篇我们已经实现了我们`SOC`的`power reset`和 `power down` 寄存器,本章节我们就在`Linux driver`中去实现它

DSMGUOGUO的博客 542

从 ST22 到根因定位:ABAP Dumps 全景排查指南(含典型 Dump 案例、修复套路与云时代实践)

本文系统介绍了SAP系统中ABAP短转储(Dump)的分析方法。首先指出短转储是程序运行时无法处理的错误导致系统强制终止执行。文章详细解析了短转储报告各区块的作用:从概述性的Short Text和What happened,到核心的Error Analysis和Source Code Extract,再到关键的系统字段Contents of system fields和调用栈Active Calls/Events。针对不同场景提供了排查建议:客户代码应建立可控边界,标准对象优先查阅SAP Notes。最后推

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 485

hdu 5492 Find a path (DP)

题目大意:给N*M(1(N+M−1)∑N+M−1i=1(Ai−Aavg)2 最小值。 将式子展开后,化简整理可得:(N+M-1)*s1-s2。其中s1是序列A的平方和,s2是序列A的和的平方。 设dp[i][j][k]表示到达(i,j),序列和为k时,序列的平方和的最小值。 那么很容易得到状态转移方程,对于向右走,有:dp[i][j+1][k+V[i][j+1]]=mi

白学病患者的专栏 2048

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

hdu5492 Find a path(DP)

题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5492 思路: 可以将所求的式子展开,展开后变为(n+m-1)*x1-x2。 x1是序列A的平方和,x2是序列A的和的平方。 所以我只要找到x2相同时,x1最小的那个就行了。 所以可以考虑dp[i][j][k],表示在第i行第j列的时候,序列和为k时候的x1的最小值。 k的值最大为5

hahahaha 482

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

HDU - 5492 Find a path(dp)

题目链接 题意:其实就是求路径上方差的最小值 开始的时候想到dp了,但是没想到要怎么保存状态,,,(太菜了还是),后来又觉得是贪心,wa到自闭,,,太难了 思路:将原公式变形,(推几步就能推出来),最后原公式变为 ans=(n+m-1) * sum2 - sum*sum (其中sum2为路径平方和,sum为路径和) 那么只要让平方和尽量小就可以了,dp[i][j][k]表示i,j这个点,路径和为k...

smilng的博客 230

【HDU - 5492】Find a path(dp,tricks)

题干: Frog fell into a maze. This maze is a rectangle containingNNrows andMMcolumns. Each grid in this maze contains a number, which is called the magic value. Frog now stays at grid (1, 1), and he...

xuanweiace的博客 420

hdu5492 Find a path(数学+DP)

题目链接 思路:很有意思得数学题,一开始公式也化不对,唉QAQ,公式化简见下图。 化简了之后我们设dp【i】【j】【k】表示第i行第j列路径和为k的最小路径和的平方。 #include<bits/stdc++.h> using namespace std; const int inf=0x3f3f3f3f; int dp[35][35][1801];//dp[i][j][k]表示第...

qq_42479630的博客 210

hdu5492 Find a path dp

//给出n*m的格子 //每一格都有相应的权值,从(1,1)点走到(n,m点) //(n+m-1)segma(ai-avg)^2(1<=i<=n+m-1)的最小值为多少 avg为所有ai的平均数 //(n+m-1)segma(ai-avg)^2 = (segma((n+m-1)*ai - segma(ai))^2)/(n+m-1) //(segma((n+m-1)*ai - segma(ai))^

ijbuhv的专栏 853

HDU - 5492 Find a path(dp)

Frog fell into a maze. This maze is a rectangle containing N rows and M columns. Each grid in this maze contains a number, which is called the magic value. Frog now stays at grid (1, 1), and he wants...

Steve·Curcy 198

HDU 5492 Find a path DP

Find a path Time Limit: 1 Sec   Memory Limit: 256 MB 题目连接 http://acm.hdu.edu.cn/showproblem.php?pid=5492 Description Frog fell into a maze. This maze is a rectangle contain...

weixin_34029949的博客 124

Hdu 5492 Find a path【Dp】

Find a path Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 1759    Accepted Submission(s): 770 Problem Description Frog fell into

mengxiang000000 486

HDU 5492 Find a path (dp)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5492 每个数字只能走下或者走右,问你方差最小多少? 方差 = (n + m - 1) * sum(a[i]^2) + sum(a[i]) 我们可以定义dp[i][j][k]为(i, j)点和为k的最小平方和,k最大也就(n-m+1)*30大小 那么可以dp[i][j][k - a[i][j]]...

weixin_30642029的博客 87

hdu 5492 Find a path DP

题意:矩阵中找一条路径,是的路径上的各个点的数值方差最小 解一:DP 将题中算是化简可得(n+m-1)*segma(Ai^2)-(segma(Ai))^2 dp[i][j][k]表示到矩阵中i,j这个点和为k的最小的Ai^2的和 dp[i][j+1][k+num[i][j+1]]=MIN(dp[i][j+1][k+num[i][j+1],dp[i][j][k]+num[i][j]*num[

trq1995的专栏 502

hdu 5492 Find a path(dp)

题目链接:hdu 5492 Find a path解题思路动态规划。首先化简出公式 F(n)=n∗∑i=1n(x2i)−(∑i=1nxi)2F(n) = n * \sum^{n}_{i=1}(x_i^2) - (\sum_{i=1}^{n}x_i)^2 令 P(n)=∑i=1n(x2i)P(n) = \sum^{n}_{i=1}(x_i^2) S(n)=(∑i=1nxi)S(n) = (\

不慌不忙、不急不躁 781

HDU 5492 Find a path【DP】

Find a path Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 1696    Accepted Submission(s): 736 Problem Description Frog fell into

Puya的博客 408

hdu 5492 Find a path【dp】

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5492原来公式(n+m-1)* ∑(ai - ai_ave)^2,求公式的最小值,即最小方差路径。 公式展开化简后可以得到 (n+m-1)*s1-s2 s1为ai平方和,s2为和的平方。 dp[i][j][k] 表示 到达i行,j列时,ai的和为k时的最小平方和。代码: #include <ios

mfcheer 139

HDU 5492 Find a path DP —— 2015 ACM-ICPC Asia Regional Hefei Online

原题见HDU 5492 给一个n*m的矩阵,从(1,1)到(N,M)经过的格点分值分别为AiA_i,(路径只能向左或向下走,共N+M_1步)。求各种路径中最大的(N+M−1)∑N+M−1i=1(Ai−Aavg)2(N+M−1)\sum_{i=1}^{N+M−1}(A_i−A_{avg})^2.其中Aavg为Ai的均值A_{avg}为A_i的均值 N,M分别为1~30的整数,AiA_i为不超过30

Baileys0530的专栏 2459
上一篇: hdu5573Binary Tree 思维构造
下一篇: hdu5033Building 单调栈
jerans
博客等级 码龄10年 54粉丝 255原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值