11.11模拟赛总结

博主在一场编程竞赛中遇到挫折,反思了自己的时间安排和解题策略。T1题目未能解决,后来发现可以简化求解。T2用贪心策略解决,T3通过预处理和单调栈或DSU解决,T4则涉及状态压缩。博主意识到急躁导致的错误和忽视数据范围是问题所在,并承诺改进。
摘要由CSDN通过智能技术生成

自闭了,今天又是lyn挂大分的一场

其实大家的分数有点超我预期,我以为这场应该人均150+的啊…

没想到我挂了110竟然不是倒一

今天时间安排不太合理,求轻喷呜呜

时间安排

7.50-8.15 看题

8.15-9.00 对着T1犯轴

9.00-10.00 看明白T1是个exgcd之后开始敲

10.00-10.30脑子有点迷 搞不过T1的大样例之后有点急开始魔改代码

10.30-10.50 把T2写掉

10.50-11.00 又看了一下T3 T4的部分分,感觉不是很可写(主要脑子里还是T1)

11.00-12.00 整T1 最后版本还交错了(因为对于大样例的结果都是错的且相差无几的,以为都是堵脸,没想到最后一版还能多整点)

题目分析

T1

显然可以写成ax+by=c的形势

因为 a , b , c a,b,c a,b,c过大,无法dp/图论

考试里轴了好一会才想起来结论 a x + b y = g c d ( a , b ) ax+by=gcd(a,b) ax+by=gcd(a,b)

但是写出来之后又开始轴怎么得到最优解

最开始疯狂迷,想的是 x , y x,y x,y 都得大于0,迷了一会之后迷过来, x , y x,y x,y应该分别维护,取 a b s ( x ) + a b s ( y ) abs(x)+abs(y) abs(x)+abs(y) 最小

但是不知道为什么大样例过不掉

赛后

服了 最后也没调出来,仿了一下毛哥哥的写法,其实可以不判是不是最优,直接取min就好, a / g c d , b / g c d a/gcd,b/gcd a/gcd,b/gcd 之中,较大的那个数所控制的变量,一定是最大负数或最小正数

T2

贪心,不用 a a a 的话, b b b 的贡献无可避免,所以每次取前 k k k 个一定最优,预处理一下 ∑ b \sum b b,再预处理一下前 k k k 个数的 ∑ b − a \sum b-a ba,每次判断一下当前数在不在前 k k k 个之中,如果是的话,加上 k + 1 k+1 k+1 (被选定的数必须满足 a < b a<b a<b

T3

第一档部分分是 n l o g n nlogn nlogn 预处理的ST表欧拉序

赛后

两种做法

  1. 毛哥哥的dsu on tree,维护并查集和每个点的siz

  2. 焦总教给我的单调栈

T4

没细想,只看出来是状压了

考试反思

  1. 一急开始不动脑子乱搞浪费时间,指名道姓T1

  2. 赶题不看数据范围(主要是今天太急了)

  3. 当赌狗当习惯了开始翻车

  4. 数学忘得太多了

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值