首页 > TAG信息列表 > harder
【题解】CF1393E2 Twilight and Ancient Scroll (harder version)
给你 \(n\) 个字符串,对每个字符串,你可以删除其任意一个字符或让其保持原样,求最后使得字符串字典序不降得方案数。 不难想到一个 \(\mathcal{O}(n(\sum |S|)^2)\) ,我们定义状态 \(f_{i,j}\) 表示前 \(i\) 个字符串,结尾的字符串是第 \(i\) 个字符串删除第 \(j\) 个字符的方案数,如果G9U3 Changing lifestyles
General English:9 Unit 3 Stages of life Changing lifestyles Vocabulary Lifestyles Phrases to describe lifestyles Here are some words and phrases to describe typical routines many people have. I'm on the go all day. I usually just grab fast food on题解-CF1453F Even Harder
题面 CF1453F Even Harder 有一行 \(n\) 个鸽子,每个鸽子有个跳跃能力 \(a_i\),表示站在这个鸽子上的人可以跳到每个满足 \(i+1\le j< i+a_i\) 的第 \(j\) 个鸽子。现在有个人在第 \(1\) 只鸽子身上,他的目标是跳到第 \(n\) 子鸽子身上。请问您最少杀死几只鸽子(使 \(a_i\) 变成 \(ICPC2018焦作 H题 Can You Solve the Harder Problem?
Pro: https://codeforces.com/gym/102028/problem/H Sol: 用\(SAM\)枚举不同子串后 问题转换为下面这个形式 \(q\)组询问 每次询问包含\(l,r,x\)三个参数,求下式 \[\sum_{i=l}^r max(i,x) \]这个东西是个套路题 离线+线段树+单调栈即可 #include<bits/stdc++.h> #define N 1100000 #dCodeforces Round #688 (Div. 2) F Even Harder
令 \(dp[i][x]\) 表示 \(j(j<i)\)&&\((j+a_j>=i)\)是到\(i\)唯一途径,且往后能覆盖到\(x\)\((x>=i)\) 即唯一通过\(j\)跳转到\(i\)节点,且\(j\)往后能跳转到至多\(i+x\)。 又由于路径具有唯一性,并且总是存在。我们总可以找到一个唯一节点跳转到当前节点。 转移方程就有: \(dp[i][j+a[Codeforces1453F Even Harder
题目链接 点我跳转 题目大意 给定 \(n\) 个关卡 , 第 \(i\) 个关卡有个权值为 \(ai\) 的传送门 当你在第 \(i\) 个关卡时 , 如果 \(ai = 0\) 并且 \(i!=n\) ,则你闯关失败 否则你可以跳到 \(i + 1\) ~ \(i + ai\) 中的任意关卡 ( \(ai + i <= n\) ) 当你到达第 \(n\) 关时,闯关结束Gym102028H Can You Solve the Harder Problem?(后缀数组+线段树)
朴素问题是一个算贡献的题目,有很多做法,例如枚举以i为最大值然后二分两边计算每个点的贡献 对于这题,因为遇到了需要去重的问题,已知对于这种去重,就是数组有相等的地方。这样我们可以想到使用后缀数组进行去重 如果采用这种去重的方法,我们算贡献就要换一种方法,我们可以根据后缀数组的