2023暑假集训ab班day1
- 127 round。
- 预期:\(0+25+0=25\)
- 实际:\(80+20+0=100\)
- 题目:
- 23ab-day1划(待写)
- 不会做,搞了很久最后逐一假掉。竟然有分。
- 题解是一些恶心的区间分类,比较简单,可惜了。
- 好像有很多做法
- 23ab-day1Heinrich
- 树论科技,跳过。写了暴力换根。
- 23ab-day1朝花夕拾
- 高次剩余科技,跳过。
- 23ab-day1划(待写)
- 过失:
- 有个严重问题是在做数据点分治的时候挂了,注意检查。
- CE 很多发,tuple 的头文件是
,初始化建议别写等号。
2023暑假集训ab班day2
- 127 round。
- 预期:\(10+50+0=60\)
- 实际:\(10+35+5=50\)
- 题目:
- 23ab-day2爵士
- 广义串并联子图,可以用来求生成树个数。不会,跳过。
- 23ab-day2喜欢(看上去可做)
- 线性代数。
- 打表找到了一些规律,但是题解很厉害,直接玩矩阵科技。
- 23ab-day2准静
- 线性规划,KM 算法。跳过。
- 模拟退火没敢写。可以一写。
- 23ab-day2爵士
- 过失:
- T1 的矩阵树可以过 5000(\(n(dep^2)\)),但是因为辗转相除,没过。
- T2 的规律是对的,但是乘法爆了,将一个 int 和 LL 相乘了。
- T3 没写模拟退火,写了爆搜搜不出来。
modint by cjl
struct m{
int x;m(int o=0){x=o;}m(lll o){x=o%mod;}m&operator+=(m a){return(x+=a.x)%=mod,*this;}m&operator-=(m a){return(x+=mod-a.x)%=mod,*this;}
m&operator*=(m a){return(x=1ll*x*a.x%mod),*this;}m&operator^=( int b){m a=*this;x=1;while(b)(b&1)&&(*this*=a,1),a*=a,b>>=1;return*this;}
m&operator/=(m a){return*this*=(a^=mod-2);}friend m operator+(m a,m b){return a+=b;}friend m operator-(m a,m b){return a-=b;}
friend m operator*(m a,m b){return a*=b;}friend m operator/(m a,m b){return a/=b;}friend m operator^(m a, int b){return a^=b;}
m operator-(){return 0-*this;}bool operator==(const m b)const{return x==b.x;}
};