- 博客(7)
- 收藏
- 关注
原创 atcode beginer 351 F
我们可以将所有数值离散化,在离散化的数组上建立线段树,其中离散化的数组表示的含义为。线段树的查询操作来获取数列的区间和以及区间中数的数量。中的区间和,我们查询完后需要修改当前位置上的数值。线段树的插入顺序可以帮我们维护数列的顺序。的值,我们可以将其转化以下,转化为求出。的值,并且记录有多少个这样的值。的倍数,由此我们求所有小于。的区间和,由于题目范围在。这个数出现过多少次,存储。
2024-05-02 20:10:22
732
1
原创 区间dp--洛谷P3205 [HNOI2010] 合唱队
我们初始化仅初始化一个方向即可,我们可以默认方向为左边,因为我们只有一个人时方案数应该是1,如果我们初始化两边,那么他可以从右边进来,也可以从左边进来,那么会导致方案数被错误记为2。为了在即将到来的晚会上有更好的演出效果,作为 AAA 合唱队负责人的小 A 需要将合唱队的人根据他们的身高排出一个队形。明显题目应当从局部入手,求出答案队列局部不同方案数累加,且答案区间可以进行划分,明显符合大区间包含小区间的情况,故考虑区间。小 A 心中有一个理想队形,他想知道多少种初始队形可以获得理想的队形。
2024-04-26 11:07:04
1842
1
原创 区间dp--洛谷Zuma
能很快的挑选出这些有颜色的宝石中的一个回文的、连续的子串,并将这个子串移除。每当一个子串被删除后,剩余的宝石将连接在一起,形成一个新的行列。初始化中我们必须初始化长度为2和1的两种取法,并将所有非法状态初始化为正无穷,防止非法转移。仅存在两种转移方式,即当第一个字母是否与最后一个字母相等,很容易得出状态转移方程。这个游戏的目标是尽快的消灭一行中所有的宝石。你的任务是:求出把整个宝石串都移除的最短时间。输出一个整数,把这行珠子移除的最短时间。,表示宝石串的长度。个被空格分开的整数,第。
2024-04-25 22:48:04
1568
1
原创 区间dp--洛谷P3147 [USACO16OPEN] 262144 P
她被她最近玩的一款游戏迷住了,游戏一开始有n个正整数,(2<=n<=262144),范围在1-40。在一步中,贝西可以选相邻的两个相同的数,然后合并成一个比原来的大一的数(例如两个7合并成一个8),目标是使得最大的数最大,请帮助Bessie来求最大值。Bessie喜欢在手机上下游戏玩(……),然而她蹄子太大,很难在小小的手机屏幕上面操作。用此右端点作为左端点再合成一个。的合成区间的右端点即为。的右端点即为合成第二个。
2024-04-25 22:37:50
1920
1
原创 贪心--洛谷CF3B Lorry
注意我们需要记录编号,所以需要开一个结构体记录,利用g数组记录状态转移方式。如果找不到任何一个物品满足条件 只需输出一行 0。的前提下的最长二维严格上升子序列以及其长度。
2024-04-17 22:11:49
634
原创 状态压缩动规--洛谷P1278单词游戏
最终状态转移方程为 f[k+1<<j-1,j]=max(f[k+1<<j-1,j],f[k,i]+s[i].size());他们轮流说出一个仅包含元音字母的单词,并且后一个单词的第一个字母必须与前一个单词的最后一个字母一致。注意本题需要初始化,即对任意一个字符串i初始化为f[1<<i-1,i]=s[i].size();表示一本字典中包含的单词数量以下的每一行包含字典中的一个单词,每一个单词是由字母。定义状态 f[k,j]表示状态为k且最后一个字符串为时所能表示的字符串最大长度。游戏可以从任何一个单词开始。
2024-04-11 11:15:45
708
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人