暑期集训 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\)