2023.8 模拟赛日志

发布时间 2023-08-07 17:32:17作者: caijianhong

2023暑假集训ab班day1

  • 127 round。
  • 预期:\(0+25+0=25\)
  • 实际:\(80+20+0=100\)
  • 题目:
    • 23ab-day1划(待写)
      • 不会做,搞了很久最后逐一假掉。竟然有分。
      • 题解是一些恶心的区间分类,比较简单,可惜了。
      • 好像有很多做法
    • 23ab-day1Heinrich
      • 树论科技,跳过。写了暴力换根。
    • 23ab-day1朝花夕拾
      • 高次剩余科技,跳过。
  • 过失:
    • 有个严重问题是在做数据点分治的时候挂了,注意检查。
    • CE 很多发,tuple 的头文件是 ,初始化建议别写等号。

2023暑假集训ab班day2

  • 127 round。
  • 预期:\(10+50+0=60\)
  • 实际:\(10+35+5=50\)
  • 题目:
    • 23ab-day2爵士
      • 广义串并联子图,可以用来求生成树个数。不会,跳过。
    • 23ab-day2喜欢(看上去可做)
      • 线性代数。
      • 打表找到了一些规律,但是题解很厉害,直接玩矩阵科技。
    • 23ab-day2准静
      • 线性规划,KM 算法。跳过。
      • 模拟退火没敢写。可以一写。
  • 过失:
    • 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;}
};