2019.11.09'题解
写在前面:
错误判断T2T3难度,导致T2T3没A,T1忘记算复杂度,OJ过了但本地不开O2被卡常,以后一定要减少对T3的恐惧,在深入思考后再做出决策是写T2还是想T3
A. 字符交换
标签:
签到?
题解:
最近几场考试的T1都是签到题,标签不太好写,所以就写一个"签到"罢了
直接枚举字符和结束位置,归并左右两边,可以免去憨批一般的堆的log,复杂度$ O(n^2) $
B. 平方数
标签:
素数筛?
题解:
这题的重点在于如何在尽量小的素数范围内把一个数的平方因子筛完
本题运用了一个很巧妙的性质:比$n^{\frac{2}{3}}$大的平方素因子只有一个
考虑只筛出$n^{\frac{1}{3}}$的素数,之后尽量把a[i]的因子剔除,并把非平方素因子记录下来设其为y
假如最后a[i]是平方数那么说明有一个平方素因子未被筛出,
否则说明有一个非平方素因子未被筛出,直接乘给y即可得出答案
我好像在口胡
C. 多维网络
标签:
容斥:
题解:
考虑用总方案数减去不合法的方案数:
设f[i]代表从S到i点的合法路径数,枚举第一个非法点进行转移:
$ f[i]=calc(S,i)-\sum\limits f[j]*calc(j,i) $
其中j为枚举的非法点,calc(L,R)代表从L到R的所有路径的方案数