首页 > 其他分享 >【刷题笔记】DP 2021.10.11

【刷题笔记】DP 2021.10.11

时间:2024-10-11 16:23:38浏览次数:10  
标签:11 code 2021.10 复杂度 sum DP

Candies

思路

朴素的算法
设\(f_{i,j}\)表示给前\(i\)个小朋友分\(j\)个糖的方案数,

\[f_{i,j}=\sum_{k=0}^{min(a[i],j)}f_{i-1,j-k} \]

注意到此时时间复杂度为\(O(n\times k^2)\)
想到用前缀和进行优化,设\(s_{i,j}\)表示\(\sum_{j=0}^{k}f_{i,j}\)
则\(DP\)转移方程

\[f_{i,j}=s_{i-1,j}-s_{i-1,j-a[i]-1}(j-a[i]-1\ge 0)\\ f_{i,j}=s_{i-1,j}(j-a[i]-1<0)\]

答案就是\(f_{n,k}\)

\(code\)

code
注,可以用滚动数组,优化空间复杂度

标签:11,code,2021.10,复杂度,sum,DP
From: https://www.cnblogs.com/GSNforces/p/18458691

相关文章

  • LeetCode:871. 最低加油次数(DP Java)
    目录871.最低加油次数题目描述:实现代码与解析:DP原理思路:871.最低加油次数题目描述:        汽车从起点出发驶向目的地,该目的地位于出发位置东面 target 英里处。沿途有加油站,用数组 stations 表示。其中 stations[i]=[positioni,fueli] 表示第 ......
  • 2024.10.11总结
    本文于github博客同步更新最简单但挂分最惨的一集。唐死我了唐死我了唐死我了唐死我了唐死我了唐死我了唐死我了唐死我了唐死我了唐死我了唐死我了唐死我了唐死我了唐死我了唐死我了唐死我了唐死我了唐死我了唐死我了唐死我了唐死我了唐死我了唐死我了唐死我了唐死我了唐死我了......
  • 2024.10.11 test
    A平面上给出若干个点,求两两点之间曼哈顿距离比欧几里得距离的最大与最小值。\(n\le10^6\)。不难发现最小值求的就是线段斜率最接近\(0\)的线段,最大值就把每个点绕源点旋转\(45\)度即可。这个东西考虑按照\(y\)坐标排序,\(y\)相同的按照\(x\)排序,有贡献的只有相邻点。......
  • 24.10.11
    A讨厌一个点的树这种没有边界感的东西。猜结论:最少是菊花\(2\)个,最多是链\(\left\lfloor\dfrac{n}{2}\right\rfloor+1\),从多到少就是把链上的点放到菊花上。注意\(1\)个点时\(1\)是合法的。B翻转,KMP,从\(r\)往前跳border能跳就跳肯定不亏。考场上使用分块维......
  • Windows11搭建Speedtest测速服务器
    在Windows11上配置Speedtest服务器下载本教程中所需要的软件列表开支在下载好以上软件后,下面开始正式进行服务器搭建所有软件打包地址1.在Windows11上安装ISS服务a.点击Start--->System--->Optionalfeature进入b.选择最下面的MoreWindowsfeaturec.勾选需要开......
  • 10.11
    放了签就是爽,这种题多来几套!!100+100+100+10。题解语录:不难发现……我们合理猜测……符合直觉地……我们声称……我们断言……不难看出……可以感知到……这启示我们……但观察到……A.树的构造如果\(x>\lfloor\frac{n}{2}\rfloor+1\)那么无解,若\(n>1\)且\(x=1\)无解。......
  • oracle 11g查看alert日志方法
    oracle11g查看alert日志方法一。第一种方法1.切换到oracle用户su-oracle2.进入sqlplus窗口sqlplus/assysdba3.执行sql命令,查看trace文件位置:background_dump_dest就是后台日志showparameterdump;4.退出sqlplus命令行,在linux命令行执行cd命令,切换到trace目录下c......
  • Win11系统提示找不到storagewmi.dll文件的解决办法
    其实很多用户玩单机游戏或者安装软件的时候就出现过这种问题,如果是新手第一时间会认为是软件或游戏出错了,其实并不是这样,其主要原因就是你电脑系统的该dll文件丢失了或没有安装一些系统软件平台所需要的动态链接库,这时你可以下载这个storagewmi.dll文件(挑选合适的版本文件)把......
  • 20241011 大二上 数据结构与算法 堆
    1.堆排序堆排序是一种原地排序算法,即不需要额外的空间来存储数据,只需要在原数组上进行操作即可。堆排序是一种不稳定排序算法,即可能会改变相同元素的相对顺序。例如,如果数组中有两个相同的元素,它们可能会在排序过程中被交换,导致它们的顺序发生变化。堆排序的时间复杂度为O(nlog......
  • [自用] 虚拟机windows11-x64,安装MySQL 8.0.32,记录
    前面忘截图了提示要求电脑里安装VS2015/2017/2019,但虚拟机里只有VS2013。网上说可以一起装,但是我虚拟机配置不太行,再说吧,不行用我自己笔记本,虽然也有点菜,但比虚拟机强。虚拟机配置安装之后的配置密码三个旧的特殊符号这少一步,写的是点击execute来应用配置apply......