cf每日三题补题

2021/5/15 10:27:45

本文主要是介绍cf每日三题补题,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

2021-5-14

B. Nice Matrix

思维+贪心:

  • 构造一个每行每列都是回文结构的矩阵——找出使矩阵的f[i][j],f[n+1-i][m+1-j],f[n+1-i][j]+f[i][m+1-j]四点的值变为同一值的最小改变量
  • 如何找出最小改变量?——找四个数中的任意三个数的中位数

证明(数学归纳法)

假设四个数为 a=1,b=20,c=80,d=100

由此可知当b为中位数时:

sum=c-a+d-b(选abc)

sum=d-a+c-b(选abd)

当c为中位数时

sum=d-a+c-b(选acd)

sum=d-b+c-a(选bcd)

结果均为:-a-b+c+ds

由此可知结论正确

注意stl——vector的使用(可以直接将在数组中储存的数直接拿出来进行最小改变量的寻找) 



这篇关于cf每日三题补题的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程