专栏文章

FZYZ P2280 -- 艺术展览

个人记录参与者 1已保存评论 0

文章操作

快速查看文章及其快照的属性,并进行相关操作。

当前评论
0 条
当前快照
1 份
快照标识符
@miqph9ql
此快照首次捕获于
2025/12/04 08:36
3 个月前
此快照最后确认于
2025/12/04 08:36
3 个月前
查看原文
首先,gj说得对 题目传送门

题目简述

自行理解
在一个n×mn\times m的矩阵,每格一个正整数值ai,ja_i,_j,从(1,1)(1,1)(n,m)(n,m) ,每次选择向右或向下走,不可出界,会经过n+m1n+m−1个格子,将经过的值依次为K1,K2,...,Kn+m1K_1,K_2,...,K_{n+m−1}。其平均值记为KK
(n+m1)×i=1n+m1(KiK)2min{(n+m−1)\times\sum^{n+m−1} _{i=1}(K_i−K)^2}_{min}

题目实现

首先,我们会发现,要求值的式子十分繁琐,直觉告诉我们,它肯定要化简。
G=n+m1G=n+m-1 , S=i=1GKiS{=\sum^G _{i=1}K_i} , 则K=SGK=\frac{S}{G}
(n+m1)×i=1n+m1(KiK)2=G×i=1G(KiSG)2=G×i=1G(Ki22KiSG+S2G2)=G×i=1GKi2G×i=1G2KiSG+G×i=1GS2G2=Gi=1GKi22Si=1GKi+G×S2G=Gi=1GKi22S2+S2=Gi=1GKi2S2\begin{aligned} &{(n+m−1)\times\sum^{n+m−1} _{i=1}(K_i−K)^2}\\ &= G\times\sum^G_{i=1}(K_i−\frac{S}{G})^2 \\&= G\times\sum^G_{i=1}(K_i^2-\frac{2K_iS}{G}+\frac{S^2}{G^2})\\&= G\times\sum^G_{i=1}K_i^2-G\times\sum^G_{i=1}\frac{2K_iS}{G}+G\times\sum^G_{i=1}\frac{S^2}{G^2}\\&= G\sum^G_{i=1}K_i^2-2S\sum^G_{i=1}{K_i}+G\times\frac{S^2}{G}\\&= G\sum^G_{i=1}K_i^2-2S^2+S^2\\&= G\sum^G_{i=1}K_i^2-S^2\\ \end{aligned}
因此
i=1GKi2\sum^G_{i=1}K_i^2 一定时,SS越大,原值就越小。
SS 一定时,i=1GKi2\sum^G_{i=1}K_i^2越小,原值就越小。
此时直觉告诉我们,后者显然更好做。
然后,聪明的你又会发现数据十分的好:
CPP
对于 100%的数据 T≤5,n≤30,m≤30,所有 ai,j≤30
导致SmaxS_{max}只有(nmax+mmax1)×Kimax=(30+301)×30=1770({n_{max}}+{m_{max}}-1)\times{K_{i_{max}}}= (30+30−1)×30=1770
设计fs,i,jf_{s,i,j}表示到(i,j)(i,j)和为ss的最小的G(Ai2)G*∑(Ai^2),最后枚举 ssfs,i,js2f_{s,i,j}-s^2的最小值

评论

0 条评论,欢迎与作者交流。

正在加载评论...