摘要:
题面 Bessie喜欢在手机上下游戏玩(……),然而她蹄子太大,很难在小小的手机屏幕上面操作。 她被她最近玩的一款游戏迷住了,游戏一开始有n个正整数,(2<=n<=262144),范围在1-40。在一步中,贝西可以选相邻的两个相同的数,然后合并成一个比原来的大一的数(例如两个7合并成一个8),目标是 阅读全文
摘要:
#题目传送门 分析 本题其实可以拆解程两个问题,求区间最大值、求区间最小值。 而这两个操作都必须在 \(O(\log n)\) 内完成。 自然想到线段树。 细节问题 线段树需要维护两个信息:区间最大值、区间最小值。 输入完数据后,建树。然后遍历序列,求区间最大值最小值之差,再判断是否大于 \(c\) 阅读全文
摘要:
题面 \(n\) 位同学站成一排,音乐老师要请其中的 \(n-k\) 位同学出列,使得剩下的 \(k\) 位同学排成合唱队形。 合唱队形是指这样的一种队形:设 \(k\) 位同学从左到右依次编号为 \(1,2,\) … \(,k\),他们的身高分别为 \(t_1,t_2,\) … \(,t_k\), 阅读全文
摘要:
题面 金明今天很开心,家里购置的新房就要领钥匙了,新房里有一间金明自己专用的很宽敞的房间。更让他高兴的是,妈妈昨天对他说:“你的房间需要购买哪些物品,怎么布置,你说了算,只要不超过 \(n\) 元钱就行”。今天一早,金明就开始做预算了,他把想买的物品分为两类:主件与附件,附件是从属于某个主件的,下表 阅读全文
摘要:
题目 如题,给出一个 \(N\) 次函数,保证在范围 \([l, r]\) 内存在一点 \(x\),使得 \([l, x]\) 上单调增,\([x, r]\) 上单调减。试求出 \(x\) 的值。 思路 本题可以用导数做,(逃 首先,一个 \(N\) 次函数无非就是 一个这样的函数: \(f(x)= 阅读全文
摘要:
分析 这道题我想到了一个做法。 维护两个和 \(s_1,s_2\),当输入的字符 \(rarity_i\) 不为 N 且 \(card\_name_i\) 中含有 Alicia,就将 \(s_1\) 加上 \(rate_i\)。 \(s_2\) 直接维护所有 \(rate_i\) 的和即可。 最后只 阅读全文
摘要:
可持久化线段树支持访问一个数组的历史版本。复杂度 \(O(\log n)\)。 基础 维护三个信息,左子树,右子树,权值。 int top; struct zxs{ int l,r,v; } tree[(1e6)<<2]; 建树 int build(int v,int l,int r){ v=++t 阅读全文
摘要:
题目传送门 暴力做法 暴力,可得58分。吸氧可得92分。(总之不能A) #include <bits/stdc++.h> using namespace std; int n; int h[100005]; int main(){ ios::sync_with_stdio(false);cin.ti 阅读全文
摘要:
简要题意 对于一个序列 \(a\) 的元素 \(a_i\),存在一个操作 \(\text{reduce}\)。可以把元素 \(a_i\) 与 \(a_{i-1}\) 压缩成 \(\max \{ a_i,a_{i-1}\}\),该操作的代价是 \(\max \{ a_i,a_{i-1}\}\),求把这 阅读全文
摘要:
题目传送门 多姿多彩的做法 暴力(非正解) 暴力还是很好打的。整体时间复杂度为 \(O(ml)\) (极端情况,\(l\) 为数列长度)。 线段树 考试的时候本来想这么写的,可是写挂了,我太弱了。 由于初始集合是 \(0\) ,我们不需要写性能瓶颈(时间复杂度 \(O(m\log m)\))的建树, 阅读全文