暑期集训 Day9 —— 模拟赛复盘





${\color{Green} \mathrm{Problem\ 1 :大河的序列 }} $

巨思维...
其实只需要输出序列 max 即可。

死因:

  • \({\tiny 去你的}\) 快速幂
int Fast_power(int base,int power,int mod){
       long long res=1;
       while(power){
           if(power&1){
               res=(res*base)%mod;
           }base=(base*base)%mod;
           power>>=1;
       }return res;
}

改成:

int Fast_power(int base,int power,int mod){
       long long res=1%mod;
       while(power){
           if(power&1){
               res=(1ll*res*base)%mod;
           }base=(1ll*base*base)%mod;
           power>>=1;
       }return res;
}

过了

${\color{White} \mathrm{}} $

${\color{White} \mathrm{}} $

${\color{White} \mathrm{}} $





${\color{Green} \mathrm{Problem\ 2 :生日礼物 }} $

裸题,模板双指针。

死因:

  • 写双指针的时候,结尾判错了,在 r==n 时有把 r-- 做了一遍。

${\color{White} \mathrm{}} $

${\color{White} \mathrm{}} $

${\color{White} \mathrm{}} $





${\color{Green} \mathrm{Problem\ 3 :三角形计数}} $

赛时 \(30\) 分暴力走人。

一听解析:妙啊

我们只要用所有三角形 \(-\) 不同的三角形即可。

不同的三角形 \(=\) 不同的角\(/2\)

于是就出来了

死因:

  • 记录不同的三角形个数时,一定要记得先累加,再 \(/2\),不然会出现小数

${\color{White} \mathrm{}} $

${\color{White} \mathrm{}} $

${\color{White} \mathrm{}} $





${\color{Green} \mathrm{Problem\ 4 :[JSOI2014] 强连通图 }} $

Tarjan 板子。

首先用 Tarjan 求一遍强联通分量,第一问就出来了。

然后缩点,再求 max(入度为0的点的个数,出度为0的点的个数),即可算出第二问。

${\color{White} \mathrm{}} $

${\color{White} \mathrm{}} $

${\color{White} \mathrm{}} $





总结

期望:\(100+70+30+0=200\)

实际:\(0+70+30+0=100\)

posted @ 2024-02-24 17:16  Sundar_2022  阅读(3)  评论(0编辑  收藏  举报