GDKOI2021 day1 总结

GDKOI2021 Day 1

morning

打了一早上模拟赛,T1一开始想到了方法,确定出现问题的行列然后排除,但是感觉不大行,先去30min把T2的暴力搞定,然后T3搞了搞发现题意理解错了,然后随便打了一个小贪心但是还是有问题,应该炸了。T4正解并查集,我打了一个暴力深搜骗点分。

afternoon

先讲了半个小时题解。
T1他基本跳过。

T2是从右往左维护单调队列,二分查找y,然后 a n s = y ∗ ( r − l + 1 ) − ( S [ r ] − S [ l − 1 ] ) ans=y*(r-l+1)-(S[r]-S[l-1]) ans=y(rl+1)(S[r]S[l1])
S数组是前缀和。

T3正解贪心,尽量调整使最小的数在最后合法的匹配中。
设当前最小值为x,最大值为y,若 x + y < L x+y<L x+y<L则把x删掉,若 x + y > R x+y>R x+y>R则把y删掉。

T4离线之后并查集维护连通块,查询大小即可

讲座:数论"基础"

素数

这部分比较简单,主要是欧拉筛(线性筛)。让每个合数只被最小质因子筛掉。把前面找过的质数,乘以现在找到的质数,可以求出最小质因子。
判断: i f ( i / p r i m e [ j ] = = 0 ) b r e a k if(i/prime[j]==0) break if(i/prime[j]==0)break

整除,gcd,lcm
  1. c ∣ a , c ∣ b c|a,c|b ca,cb c ∣ ( m a + n b ) c|(ma+nb) c(ma+nb)

  2. a ∣ m , b ∣ m a|m,b|m am,bm l c m ( a , b ) ∣ m lcm(a,b)|m lcm(a,b)m

  3. a ∗ b = l c m ( a , b ) ∗ g c d ( a , b ) a*b=lcm(a,b)*gcd(a,b) ab=lcm(a,b)gcd(a,b)

  4. l c m ( m a , m b ) = m ∗ l c m ( a , b ) lcm(ma,mb)=m*lcm(a,b) lcm(ma,mb)=mlcm(a,b)

  5. g c d ( a , b ) = d , a = k ∗ b + r gcd(a,b)=d,a=k*b+r gcd(a,b)=d,a=kb+r
    因为 d ∣ a , d ∣ k b d|a,d|kb da,dkb所以 d ∣ r d|r dr

欧拉函数

在这里插入图片描述
性质

  1. φ ( 1 ) = 1 φ(1)=1 φ(1)=1
  2. 当p为质数时, φ ( p ) = p − 1 φ(p)=p-1 φ(p)=p1
  3. 当p为质数时, n = p k , φ ( n ) = p k − p k − 1 = ( p − 1 ) ∗ p k − 1 n=p^k,φ(n)=p^k-p^{k-1}=(p-1)*p^{k-1} n=pk,φ(n)=pkpk1=(p1)pk1

还有好多。。。。
应用就是欧拉筛求欧拉函数。

同余

定义: m m m% a a a= m m m% b b b记为a同余b(mod m)
主要有模m剩余系和既约剩余系。

剩下放点截图,自己看

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
%m控制最小非负整数解

讲完了。

evening

疯狂颓废。搞了搞博客和ybtoj。

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值