训练赛
文章平均质量分 77
顾客言
这个作者很懒,什么都没留下…
展开
-
K - Split Gym - 104385K
题意 给出一个正整数 n 和一个长度为 n(3 ⩽ n ⩽ 106 ) 的单调不升序列 ai(∀ai ⩾ ai+1) 然后给出一个正整数 m(1 ⩽ m ⩽ 106 ),表示操作总数。假设将序列分为 k(1 ⩽ k ⩽ n) 段 (每段长度至少为 1),每段的价值为最大的数减最小的数,求所有分段方案中最小的 k 段价 值和。题解 先只考虑询问操作,我们容易发现,当在 i 和 i + 1 中间分割开,ai 是前 一段的最小值,ai+1 是后一段的最大值,那么对答案的贡献就是 ai+1 − ai。原创 2023-06-02 20:45:35 · 58 阅读 · 0 评论 -
SDUT 2023 summer team contest(for 22) - 14
如果该连通分量中存在两个环,那么这两个环因为都没有出度,所以不可能出现由一个环出发走到另一个环的可能(除非相交,但相交就相当于一个环)因为所有结点的出度为1,该联通分量的的任意一个结点都有只有一个路径可走,假设路径A能走到第一个环,B能走到第二个环,路径A和路径B之间必然不连通,所以这两个环必然位于两个联通分量之中。如果输入2,代表路线连接的两个机场都需要建立,输入1,代表路线连接的其中一个机场建立(必须),输入0代表路线连接的两个机场都不可以建立,问你最少建立几个等候室;原创 2023-08-11 08:25:45 · 106 阅读 · 0 评论 -
SDUT 2023 summer team contest(for 22) - 13
思路:我们根据其公式得知,我们得到其哈希值,要知道其牌号,和交易字符串,而这两个我们都不知道,那么我们其实可以只有构造一个交易字符串,在不加牌号得情况下求出其暂时的哈希值(mod1e9的意义下),但是我们还是不知道其牌号,其实这时候牌号就等于其变为后七位变为0减去其目前暂时哈希值(应为最终哈希值要后7位为0),这个操作可以通过令(x/1e7+1)*1e7得到后7位全为0得情况,减去x即为牌号,下一个构造同理。思路:如果一个连通块是一个二分图,那么只能染色二分图的一部;时间复杂度内计算出来。原创 2023-08-08 19:34:58 · 128 阅读 · 0 评论 -
SDUT 2023 summer team contest(for 22) - 12
0,前面先构造长度为m-1的a串(相似部分),后面考虑构造abab,acaca....azaz,bcbc,bdbd..bzbz,cdcd,这种方法共有25*(25-1)/2==300,正好满足题意。思路:我们知道Sn=Sn-1的前一半+Sn-1+next(Sn-1的后一半),next是求其下一位(z的下一位是a),我们可以知道当Sn的的长度大于2*m时,答案只会是其后缀的变换,题意:给你三个数,n,m,k,分别是需要构造的数量,最大相识度,每一个的长度。题意:你有 A个原料,每 B个合成一个产品。原创 2023-08-08 09:37:05 · 222 阅读 · 0 评论 -
SDUT 2023 summer team contest(for 22) - 10
思路:我们想这一定和区间最大公约数有关,但是如果不超时的维护他们呢,很明显我们维护区间最大公约数和区间最小值,因为我们知道,这个动物的长度一定是最小的,且一定是区间最大公约数,因此我们可以考虑用线段树来维护,且可以离线的操作,只需要动态根据加操作和减操作来更新查询的左右区间即可。然后就是如何计算了,我们发现,我们只要让原串与给定串第一个不为0的地方相同,其余后面的取反,前面同为0,即可得到原串。题意:就是给你一个倒叙的01串,他是由原01串,左移位数,相加得来的,求原01串,注意倒序输出。原创 2023-08-03 19:12:51 · 161 阅读 · 0 评论 -
SDUT 2023 summer team contest(for 22) - 7
题意:给你两个数a,b,让你找一个奇数x,一个偶数y,a只能加x或减y,问让你最少操作几次可以令a==b思路:我们将其分为三大种情况2: a>b,这时如果a与b的差值为偶数ans==1,否则为奇数的时候我们一定可以通过减去一个偶数再加上一个奇数,令a==b,例如a==10,b==3,让a-8=2,2+1=3,3:a<b, 如果a与b的差值为奇数那么只需要一次(ans==1),反之又分为二种情况①:其差值为偶数,差值除以2后为奇数,我们可以通过加二次奇数令a==b,a=4,b=10。原创 2023-07-28 23:52:48 · 150 阅读 · 0 评论 -
SDUT 2023 summer team contest(for 22) - 6
思路:先将所有需要录制的视频按右端点排序,开k个卡槽,然后遍历每个排序后视频,如果该视频可以在卡槽中到比他左端点小的值(卡槽里放有端点的值),说明在卡槽中这个视频播放完后,它可以无冲突的放进去播放,为了最大化,我们贪心的应该放入在能放入的中与其时间间隔最小,至于如何寻找我们可以用upper_bound找第一个大于它的,然后再减去1即为与其时间间隔最小的。题意:就是k个槽,每个槽可以录制一个视频,一个槽上的录制结束了马上可以录制下一个,问最多可以录制多少个视频。当我们erase时删去的是空间,原创 2023-07-27 20:33:30 · 105 阅读 · 0 评论 -
SDUT 2023 summer team contest(for 22) - 5
题意:n城市之间连接无方向的道路,每个道路都有能量,敌人发动攻击,来摧毁这些道路,如果敌人发动x的攻击,则所有能力小于等于x的道路都将被摧毁,问有有多少对城市可以到达对方思路:这题一开始看到连通性就想到了并查集,但是并查集只能加边啊,并不能减边,不但知道该怎么想了,后来听了同学的想法,非常nice,他问的不是连通块中的元素个数,而是对数,如果一个连通块得大小为你n,那么对答案贡献就为,就是n*(n-1)/2,那么我们知道了连通块的大小也就知道了答案,原创 2023-07-26 15:05:34 · 96 阅读 · 0 评论 -
SDUT 2023 summer team contest(for 22) - 1-Gym - 102220
对于我们读入这一条直线来说,我们假设前面的先与其都交点,但是实际肯定不是,那余实际差什么呢,差的无非就是与其无交点的直线呗,所以我们减去与其无交点的情况,我们仔细想想,无交点的情况就只有上面一种情况,然而我们并没有直接的这个数据,我们可以减去与其斜率相同的。至于xx*b-yy*a==截距*xx我们不需要除以xx以免精度不准确,用到这个的时候,只有k相同,截距相同的时候,当k相同的时候,xx,yy都是最简的,所以k相同,xx一定相同,所以直接保存截距*xx即可。思路:两维独立,先考虑一维,x轴。原创 2023-07-19 15:46:41 · 393 阅读 · 0 评论 -
SDUT 2023 Summer Individual Contest - 5(for 22)Gym - 101911
枚举其休息时间的顺序,如果当前休息时间 a[i],和堆顶最小休息时刻a[k],使得a[i]-a[k]= d,我们就通过map将天数传递给a[i],然后弹出堆顶,让其跟新最小值即可。题意:给你n,m,d三个数分别代表n个休息时刻,休息时间不会大于m,最小时间间隔,让你将这n个数分配到最少的天数里面,使的他们在同一天内的时间间隔满足大于d。原创 2023-07-17 14:58:24 · 100 阅读 · 0 评论 -
牛客小白月赛76
题意:这题没什么要说的思路:就是要看清题意。原创 2023-07-15 00:40:27 · 327 阅读 · 0 评论 -
Gym - 101652
回文子串长度为奇数。原创 2023-07-13 20:38:15 · 118 阅读 · 0 评论 -
SDUT 2023 Summer Individual Contest - 3(for 22)
n=4时,在F3的基础上,随便取一个数 y, F4 =F3 + max - y + y - min +| y - x | = F3 + F2 + | y - x | ,要想使F4最大,x、y需要分别为剩下数中最小值和最大值。2.n=3时,在F2的基础上,无论选择哪个都是一样的,假设选取的数是x,F3=F2 + max - x + x - min = 2 * F2。这题你一开始想的用栈来写,毕竟变完之后还有可能和后面的依然相等这样也能过,但是太麻烦了。例如aa可以变成b,但是zz不能在变了。原创 2023-07-10 11:33:19 · 122 阅读 · 0 评论