首页 > 其他分享 >动态规划泛做

动态规划泛做

时间:2023-12-18 15:46:23浏览次数:37  
标签:kind 数字 贡献 枚举 动态 规划 转移 DP

CF833B The Bakery

令 \(f_{i,k}\) 表示前 \(i\) 个数字分成 \(k\) 段的最大总价值,显然有暴力转移 \(f_{i,k}=f_{j,k-1}+kind(j+1,i)\),其中 \(kind(x,y)\) 表示 \([x,y]\) 中不同数字的种数。

但暴力转移是 \(O(n^2k)\) 的,考虑把 \(kind\) 函数拆开优化,把每种数字的贡献对应到区间中该种数字第一次出现的位置。对于数字 \(a_i\),其对 DP 数组产生贡献的范围是 \([pre_i,i)\),这部分转移过来能得到没出现过的数字 \(a_i\)。

先枚举 \(k\),再枚举 \(n\),用线段树维护上一轮的 DP 数组加上转移的贡献,前缀 \(\max\) 即为当前 DP 值。

标签:kind,数字,贡献,枚举,动态,规划,转移,DP
From: https://www.cnblogs.com/landsol/p/17911387.html

相关文章

  • 给已安装的nginx动态添加模块
    以添加echo-nginx-module模块为例查看现有nginx的编译参数$nginx-Vnginxversion:nginx/1.20.2builtbygcc4.8.520150623(RedHat4.8.5-44)(GCC)builtwithOpenSSL1.0.2k-fips26Jan2017TLSSNIsupportenabledconfigurearguments:--user=nginx--group=......
  • JavaWeb - Day09 - Mybatis - 基础操作、XML映射文件、动态SQL
    01.Mybatis-基础操作-环境准备需求需求说明:根据资料中提供的《tlias智能学习辅助系统》页面原型及需求,完成员工管理的需求开发。通过分析以上的页面原型和需求,我们确定了功能列表:查询根据主键ID查询条件查询新增更新删除根据主键ID删除根据......
  • python动态规划求解最长回文子串
    回文是什么,回文是正着读和反着读都是一样的字符叫着回文。 如‘aba’,‘aa’,‘b’,这些都是回文classSolution:deflongestPalindrome(self,s:str)->str:n=len(s)dp=[[False]*nfor_inrange(n)]ans=""forlinrange(n):......
  • easyexcel只通过表名来动态查询并动态导出数据
    EasyExcel动态表头即动态数据生成1️⃣业务需求需要将数据库中的所有表放在一个下拉框中,下拉框支持模糊查询到相关的表,然后通过这个表名查询到数据库的数据,切换不同的表查询出来相关表的列和数据需要注意的点:1)js实现模糊搜索   2)导出的表头和数据都是动态生......
  • 动态规划进阶
    数位DP常见的模板:询问\(l\simr\)中有多少个满足给定条件的数,\(1\lel\ler\le10^{18}\)。这种问题,数位DP可以做到\(O(\logv)\)级别,其中\(v\)是\(l,r\)的值域。思路直接枚举会枚举大量不可能满足条件的数,可以从数位入手。数位DP的算法流程如下:几个定义:\(len(......
  • js动态加载
    <scripttype="text/javascript">//动态加载js(顺序执行js)functionloadScript(url,callback){varscript=document.createElement("script")script.type="text/javascript";if(script.readyState){//IE......
  • 动态绘制svg
    <!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metahttp-equiv="X-UA-Compatible"content="IE=edge"><metaname="viewport"content="width=......
  • 非动态数组版本下的筛选
    问题:一对多查找(筛选)的结果需要横向排列,但是表格暂时不支持动态数组。右拉下拉公式解决:{=IFERROR(INDEX(FILTER($E:$E,$D:$D=$G2),COLUMN(A1)),"")}公式中的Filter部分筛选出满总D列中等产于G2对应E列的内容,其结果是多个单元格组成的数组。使用Index提取数组中的内容,第......
  • VUE框架指令语法与v-bind实现标签属性内部动态------VUE框架
    <!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-width,initial-scale=1.0"><title>Document</title>......
  • Threejs利用着色器编写动态飞线特效
    一、导语动态飞线特效是可视化数据地图中常见的需求之一,鼠标点击的区块作为终点,从其他区块飞线至点击区块,附带颜色变换或者结合粒子动画二、分析利用创建3点来构成贝塞尔曲线,形成线段利用着色器材质来按照线段以及时间点变化来变化线段的颜色形成动画三、上基础代码//贝塞尔曲线......