20251122

· · 个人记录

前言:感觉这次挺好。每一个小时写一道题。

T3

最先开的一道题。直接去想贪心。

考试的时候分析过101010101的情况,并且分析出来了应该从左往右填。

然后我没写应该从左往右填。

Accepted:

struct node{
    int id,val;
    bool friend operator<(node n1,node n2){
        if(n1.val!=n2.val)return n1.val<n2.val; 
        return n1.id<n2.id;
    }
};

Wrong:

struct node{
    int id,val;
    bool friend operator<(node n1,node n2){
        return n1.val<n2.val; 
    }
};

T1

\max_{i=1}^{n} a_i + b_i(a_i>a_{i+1},b_i<b_{i-1}) \not = a_1 + b_n

发现这个错的时候气笑了。调了20min。

T2

5min秒了 n > 9 \rightarrow ans < 2

然后直接打一个搜就过了。

浪费了一点时间,分析 n = 8 的时候会不会 TLE。这是非常不必要的。

T4

对于 a \bmod b = c 的题目,根号分治是常见的。

加上 n \le 10^5 ,很明显的根号分治。

$n > B$ 的时候直接暴力加。 但是非常惊险的是我大样例错了。 然后我把 $B$ 调成各种值,发现输出全部一样。 我写的暴力($B=0$)输出也不对。 这个时候我开始怀疑是不是哪里出什么问题了。 然后。。。对 $1e9+7$ 取模。。。 `constexpr int mod=998244353;` ### T5 我想到了题目的所有关键观察点。最后只差一颗线段树就好了。但是我不觉得这可以用线段树维护。 其实只需要维护4个类似 最大字段和 的tag,就行了。(众所周知,最大字段和的tag很难维护的)。所以最后一步没有任何思维含量。 ### 时间分配: T1 1h(100) T2 1h(100) T3 1h(挂分52pts) T4 1h(100) T5 20min(没想出来)