• 2024-04-24CRound927__Div3__C
    这道题涉及到两个部分,先是逆向思维,正着做一定会无比困难,而倒过来想就会好做,也比较难想到逆向思维,见识又少了,倒着思考就得先找到最后一个移除的元素include<bits/stdc++.h>usingnamespacestd;defineforn(i,n)for(inti=0;i<int(n);i++)intmain(){intt;cin
  • 2024-01-22CF455D Serega and Fun 题解
    题目链接:CF或者洛谷本题是可以用平衡树去做的,具体的为每个\(k\)开一棵平衡树去维护相对位置,而这种移动操作用平衡树维护又是很容易做到的,这种做法是双\(log\)。在\(1e5\)的数据下,我们来说说好写的分块该如何去写。黑色的代表一个块,考虑暴力修改情况,假如原来的数字为\([1
  • 2024-01-17ABC311_g One More Grid Task 题解
    题目链接:Atcoder或者洛谷对于解决二维区间内的最值类型问题,我们常常有一类特别好用的方法,就是悬线法,它可以看做是单调栈的子集,但更加好理解和书写。对于悬线法,我们有一个常见的模型,找出面积最大的符合题意的最大的矩形:例题P4147玉蟾宫。对于悬线法而言,我们需要理解什么是悬
  • 2023-12-21Jellyfish and OEIS
    JellyfishandOEIS题意题面传送门题解恭恭敬敬给致远磕大头。首先我们将原序列分割成很多块,使得每一块都是相对位置的排列。且这一块内不可分割出另外的块。例如:\([3,1,2][5,4]\),而\([1,2,3]\)是不合法的,因为他可以被分割为\([1][2][3]\)。在进行这一步操作之后,我们发
  • 2023-10-31【刷题日记】其二
    2023.10.30星期一晚上有场div.2,刷刷思维题17:21R1400思维T00:25:41https://codeforces.com/problemset/problem/1605/C最后还是看题解了,自己做一直WA2,原来少了一种情况反正就是最少的时候,只有两个a相邻和三个a相邻的情况,都枚举一遍就行代码#include<bits/stdc++.h>usin
  • 2023-10-28P9797 [NERC2018] Guest Student
    Link考虑将中间经过的时间分成三段:若干个整星期,前面的散块,后面的散块。可以先考虑没有前面的散块的做法:设经过了\(res\)个整星期,记每个整星期有\(cnt\)天有空,显然中间每次有空都选择听课是最优的,可以发现\(res=7\times\lfloor\dfrac{k-1}{cnt}\rfloor\),此时剩下需要安排