
区间DP
liaoxiyan123
这个人不懒,但什么都没写。
展开
-
[USACO16OPEN]248 G(新手区间DP)
题目描述 给定一个1*n的地图,在里面玩2048,每次可以合并相邻两个(数值范围1-40),问最大能合出多少。注意合并后的数值并非加倍而是+1,例如2与2合并后的数值为3。 输入格式 一个正整数n(2<=n<=248),以及n个正整数ai{a_i}ai(1<=ai{a_i}ai<=40). 输出格式 求合并后的最大数字. 思路 用f[i][j]{f[i][j]}f[i][j]来表示区间i~j可合出的最大数字,只需再用一个DP方程转移即可:(很显然是时间复杂度O(n3{n^3}n3原创 2020-07-23 11:14:02 · 193 阅读 · 0 评论 -
能量项链(区间DP模板)
题目描述 在Mars星球上,每个Mars人都随身佩带着一串能量项链.在项链上有N颗能量珠.能量珠是一颗有头标记与尾标记的珠子,这些标记对应着某个正整数.并且,对于相邻的两颗珠子,前一颗珠子的尾标记一定等于后一颗珠子的头标记.因为只有这样,通过吸盘(吸盘是Mars人吸收能量的一种器官)的作用,这两颗珠子才能聚合成一颗珠子,同时释放出可以被吸盘吸收的能量.如果前一颗能量珠的头标记为m,尾标记为r,后一颗能量珠的头标记为r,尾标记为n,则聚合后释放的能量为m×r×n(Mars单位),新产生的珠子的头标记为m,尾标原创 2020-07-20 14:42:44 · 122 阅读 · 0 评论