其实是day4

一、洛谷P1018 乘积最大

帝都Day4(1)——还是dp

f[i][j]表示前i个数 切成j块 用f[i][j]而不用f[i][j][k](i到j切成k块)呢?

 

Luogu1043

帝都Day4(1)——还是dp

前缀和(好算一段里的数的和)+一堆预处理

帝都Day4(1)——还是dp

帝都Day4(1)——还是dp

传进来一个指针(其实指针和数组名差不多,C++的玄学特性),然后处理这个数组

洛谷1063 能量项链

f[i][j]把i-j里的珠子合并起来的最大能量

枚举i<k<j的k:最后和i。j合并的珠子

帝都Day4(1)——还是dp

有点像树形dp

洛谷1077 摆花

帝都Day4(1)——还是dp

可以用前缀和优化

ij 第i种 第j盆,最大值

洛谷1103

帝都Day4(1)——还是dp

树形DP:

luogu 1472 奶牛家谱

帝都Day4(1)——还是dp

洛谷P1122 最大子段和

帝都Day4(1)——还是dp

帝都Day4(1)——还是dp

洛谷P2014 选课

(多个子树,从左到右合成)//为啥不多叉树转二叉呢?

帝都Day4(1)——还是dp

 状压DP:

位运算:(位运算竟然是我的最爱?)

Cpp的位运算,把数字化成二进制来算,略

与运算【&】或运算【|】非运算【!】异或【^】

乘以二运算【<<】除以二运算【>>】

 

玉米田(洛谷1879)

可以用行来划分状态,一次决定一行在哪里种草,用上一行决定这一行

由于每个地方种草1或不种草0,把一行看成一个数,每一个方格是一个位置

判断冲突用与运算 ,a&b==0,如果a&b不是0那就冲突

判断自身是否行不行:(a&(a<<1)==0&&a&(a>>1)==0)

互不侵犯luogu1896

相关文章:

  • 2021-07-29
  • 2021-11-16
  • 2021-12-25
  • 2022-12-23
  • 2022-12-23
  • 2021-11-29
  • 2021-10-15
  • 2022-01-23
猜你喜欢
  • 2022-02-25
  • 2021-05-14
  • 2022-02-15
  • 2022-02-23
  • 2021-08-25
  • 2021-12-18
  • 2021-09-05
相关资源
相似解决方案