zoukankan      html  css  js  c++  java
  • 算法竞赛进阶指南 0x50

    AcWing 321. 棋盘分割

    我开始设(f[i][j][k])表示将((1,1),(i,j))的矩形分割成(k)份的最小代价,但是这样有很多情况枚举不到,而且剩下的矩形只能是((1,1),(k,l))
    我们设(f[i][j][k][l][d])表示将矩形((i,j),(k,l))分割成(d)份,(sum_{i=1}^{d} (x_i-ave)^2)的最小值.转移的话,就枚举最后分割出的完整的矩形。

    Acwing 322. 消木块

    神奇的状态表示:设(f[l][r][len])表示对于区间([l,r]), (l)前面还剩下(len)个与(a[l])颜色相同的木块,可以获得的最大价值。

    转移:
    1.将这(len + 1)个木块一块消除:(f[l][r][len] = f[l + 1][r][0] + (len + 1) ^ 2)
    2.继续向右找到(a[l] = a[k],f[l][r][len] = f[l + 1][k - 1][0] + f[k][r][len+1])
    初始化 :(f[l][l][len] = (len + 1) ^ 2)

  • 相关阅读:
    初学flask
    第一次使用pyqt5解决的几个小问题
    一些细节
    关于random
    go语言 方法
    go 语言 struct 另类构造函数 继承
    go 语言 链表 的增删改查
    go 语言 链表
    go 语言struct
    无题
  • 原文地址:https://www.cnblogs.com/wyy0804/p/13897941.html
Copyright © 2011-2022 走看看