加分二叉树

我们可以枚举中间这个 k 的位置,然后分别递归计算左右子树,这就让我们想到这是一个和区间有关的,我们可以用区间dp来解决。

\(f[i][j]\) 表示 i, j 这个区间的最大分值。用一个很板子的区间dp就可以解决了。

至于求前序遍历,我们也只需要通过递归然后枚举中间的根,第一个满足最大值的就是字典序最小的,这样就可以解决了。

能量项链

破环成链,然后很明显能看出来这是一个区间dp,直接套板子。(貌似需要开long long)

矩阵取数游戏

由于每一层之间都是相互独立的,所以我们可以对于每一行进行区间dp,然后存一个 res 去累加每一行的分值。

对于每一次的 \(2 ^ i\) 我们可以采用快速幂来解决。

但是由于最后结果可能很大,我们要注意,要么开高精度,要么开__int128

括号序列

属于是区间dp + 状态机模型了。(

我们可以对一个很长的字符串进行一步一步的拆解。

我们这样子定义状态:

  1. \((\dots)\) 表示左右两边有括号,然后中间是一堆 *,这个括号是单独的。
  2. \(()()()()\) 一堆括号并列。
  3. \(****()\) 前面一堆星,后面跟个超级括号。
  4. \(()**()**\) 前面是单独的或者并列的,后面是一堆星。
  5. \(()()(\dots)\) 后面是星号。
\[f[l][r][0] = \sum_{i=0}^{5} f[l][r][i]
\]
\[f[l][r][1] = f[l][r][0] * (f[l][r][0] + f[l][r][1] + f[l][r][3]
\]
\[f[l][r][2] = f[l][r][2]
\]
\[f[l][r][3] = \sum_{i=0}^{1} f[l][r][i] * f[l][r][2]
\]
\[f[l][r][4] = \sum f[l][r][2] * (f[l][r][1] + f[l][r][0])
\]

最后的结果要么是并列的(2),要么是单独的(1)。二者相加就是答案了。

csps区间dp的更多相关文章

  1. 【BZOJ-4380】Myjnie 区间DP

    4380: [POI2015]Myjnie Time Limit: 40 Sec  Memory Limit: 256 MBSec  Special JudgeSubmit: 162  Solved: ...

  2. 【POJ-1390】Blocks 区间DP

    Blocks Time Limit: 5000MS   Memory Limit: 65536K Total Submissions: 5252   Accepted: 2165 Descriptio ...

  3. 区间DP LightOJ 1422 Halloween Costumes

    http://lightoj.com/volume_showproblem.php?problem=1422 做的第一道区间DP的题目,试水. 参考解题报告: http://www.cnblogs.c ...

  4. BZOJ1055: [HAOI2008]玩具取名[区间DP]

    1055: [HAOI2008]玩具取名 Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 1588  Solved: 925[Submit][Statu ...

  5. poj2955 Brackets (区间dp)

    题目链接:http://poj.org/problem?id=2955 题意:给定字符串 求括号匹配最多时的子串长度. 区间dp,状态转移方程: dp[i][j]=max ( dp[i][j] , 2 ...

  6. HDU5900 QSC and Master(区间DP + 最小费用最大流)

    题目 Source http://acm.hdu.edu.cn/showproblem.php?pid=5900 Description Every school has some legends, ...

  7. BZOJ 1260&UVa 4394 区间DP

    题意: 给一段字符串成段染色,问染成目标串最少次数. SOL: 区间DP... DP[i][j]表示从i染到j最小代价 转移:dp[i][j]=min(dp[i][j],dp[i+1][k]+dp[k ...

  8. 区间dp总结篇

    前言:这两天没有写什么题目,把前两周做的有些意思的背包题和最长递增.公共子序列写了个总结.反过去写总结,总能让自己有一番收获......就区间dp来说,一开始我完全不明白它是怎么应用的,甚至于看解题报 ...

  9. Uva 10891 经典博弈区间DP

    经典博弈区间DP 题目链接:https://uva.onlinejudge.org/external/108/p10891.pdf 题意: 给定n个数字,A和B可以从这串数字的两端任意选数字,一次只能 ...

  10. 2016 年沈阳网络赛---QSC and Master(区间DP)

    题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=5900 Problem Description Every school has some legend ...

随机推荐

  1. 基于C语言的泛类型循环队列

    循环队列多用于通信数据缓存中,尤其是在双方设备接收数据与处理数据不同步的情况下,使用循环队列先缓存通信数据,然后按照时间戳数据出队作出相应的处理,是一种比较合适的做法,在嵌入式编程中亦是如此.使用循环 ...

  2. 第四章 IDEA的安装与使用

    网上一大推的教程 ‍

  3. MyBatis-plus自动填充功能

    1.什么是mp的自动填充?这个功能是做什么的呢? 有的时候,我们可能有这样子的需求,在插入(insert)或者更新数据(update)的时候可以自动填充数据,比如密码,version等.在mp中为我们 ...

  4. W1R3S-1项目实战

    前言 您受聘在W1R3S.inc单个服务器上进行渗透测试,并报告所有发现.他们要求您获得root访问权限并找到标志(位于/root目录中). 难以获得低特权外壳:初级/中级 获得特权升级的难度:初级/ ...

  5. 行行AI人才沙龙第1期:《AI大模型创业投资,哪里才是真风口?》

    行行AI人才是博客园和顺顺智慧共同运营的AI行业人才全生命周期服务平台. 要说近期科技圈和投资圈"最靓的崽",那自然非"AI大模型"莫属.自ChatGPT发布以 ...

  6. 从数据库中读取数据并写入到Excle电子表格之2

     //CC_AutoId, CC_LoginId, CC_LoginPassword, CC_UserName, CC_ErrorTimes, CC_LockDateTime, CC_TestInt ...

  7. 跨越HTTP无状态边界:Cookie与Session在Django中的实战应用

    本文深入探索了Django中的Cookie和Session,解析了如何应对HTTP协议的无状态性问题,说明其基础概念,分析工作原理,并讨论何时应选择使用Cookie或Session.文章进阶部分,提出 ...

  8. Code Generate V2.0 代码生成器

    Code Generate 代码生成器 系统首页 使用说明 系统默认会根据SQL生成字段信息 className.fieldList.classComment 如下所示: 建表语句 CREATE TA ...

  9. Kubernetes安全框架

    Kubernetes安全框架 K8S安全控制框架主要由下面3个阶段进行控制,每一个阶段都 支持插件方式,通过API Server配置来启用插件. Authentication(鉴权):身份鉴别,只有正 ...

  10. nginx配置文件内容(1)

    nginx.conf内容 在Nginx服务器的主配置文件nginx.conf中,包括全局配置.I/O事件配置.HTTP配置这三大块内容,配置语句的格式为"关键字  值:"(末尾以分 ...