atcoder训练 (蓝桥和面试)

希望可以打到国一,拿到一个好点的offer

蓝桥省赛

无了2022/4/9,开局觉得省赛,先调下环境不会用dev

  • 2h过去了,cmd终于可以跑exe了。
  • 开始写题、前面还行,遇到概率,被卡了,果断跳
  • 🐸过河,明显二分。最后30min发现check写错了
  • 旋转木棍,比较函数,没考虑x轴,y轴,
//赛时写法
0000003位为x的情况(-0+),后3位为y的情况。
暴力分出9种情况,之后sort

arc137

在这里插入图片描述
我为什么要坐牢qwq
22/3/19

  • A 大胆猜结论,不会很大。扫一下。
  • B:最大子段和。。。。qwq。 (思维太高了,罚坐了。。。)

ARC 138

A简单dp,写了好久。出了A光速出B菜了
22/3/20

  • acA (赛后看了jianly的a,发现也可以另外一种转换,之后就可以双指针,其实本质是一样的)

枚举前k个位置,
对于位置 i i i,找到最小的 j ( j > k ) , a [ j ] > a [ i ] j(j > k),a[j]>a[i] j(j>k),a[j]>a[i]
sol:
可以先离散,之后对于后面的( j > k j > k j>k)进行dp

for(int i = n; i > k; i -- ) {
        mi[a[i]] = min(mi[a[i]], i);
    }
for(int i = n; i >= 0; i -- ) {
    mi[i] = min(mi[i],mi[i+1]);
}
  • acB 贪心,正难则反。
  • C 典型问题,转换为 − 1 , + 1 -1,+1 1,+1,赛时sb了,一直在想如果中间值不唯一怎么办,(赛后,加个第二关键字,位置)qwq
  • D: 线性基 && 构造 &&格雷码

ARC 139

d的dp还是不会。。。

  • A:猜测答案会是一段,一段的。
  • B:转换题目

操作1之后,不会改变 A . . . A R C . . . C A...ARC...C A...ARC...C的答案。
操作2之后,直接会消去 A . . . A R C . . . C A...ARC...C A...ARC...C

把形如 A . . . A R C . . . C A...ARC...C A...ARC...C的所有段找到,
之后每次贪心操作。

  • C 构造,tips:假如给你 n n n怎么构造出答案,之后就是在基础上,移动x到前面,怎么使答案改变最小。

ABC244

手速快,当了5题首qwq。F应该是可以做出来的,老了老了。去年区域赛时,这种f可以写的。。。
22/3/20

  • acC fflush(stdout)
  • acD 数学思维
  • acE:简单dp。
  • F: 状态转移,和当前点, 为一个node,之后跑bfs
  • G : 构造题

ABC245

可能今天不适合写题,gdut的校赛,线段树段错误,xs了。。
22/3/26

  • acC dp
  • acD 数学,&&公式推导,递推,
  • E:排序&&set瞎搞, 反着来,可以少码很多。(过来人的经验qwq
  • F: 建反图,跑拓扑(最后会收缩成一条链,老套路了
  • G : 图论可以补

ABC246

  • D 双指针,不要被题目的式子唬住。
  • E:01BFS(dij),主要是把(x,y,dir)看成一个点,就好连边了

通过双向队列,模拟优先级。(优先级其实是路径和)。

  • F:
  • G :

ABC247

这场,主要时间被E,浪费了太多,因为不是正解,所以写了久,也调的久,qwq。后面没时间写f,其实f的环想到了,太急了,中间dp的时候出了点问题。

  • ac C 时间复杂度 O ( n 2 n ) O(n2^n) O(n2n)n层,最下层 2 n 2^n 2n个点,记忆化少个 n n n
  • ac D 队列里最多 O ( n ) O(n) O(n)个点
  • ac E:太菜了,写了个 O ( l o g 2 n ) O(log^2n) O(log2n)的做法
  • 看了SRRS的发现可以dp做。
  • 其实问题可以转换为,只用计算每个线段的ans。每个线段的ans,可以用双指针。
  • F: 观察,每个点的度为2,必有环.之后在环内dp就行了
  • G :

ABC248

22/4/16
这场也是,很不顺利。。c因为一个变量没初始化,看了一个钟,今天真不适合做题,导致最后的时间不够了qwq。D赛时用了复杂的解法(树套树),其实也不影响。

  • ac C 时间复杂度 O ( m n ) O(mn) O(mn)m为盒子数,n为球数 conclusion: about 小球问题
  • ac D 不会很多,直接暴力。(赛时我写了树套树
  • E:太菜了,几何模拟
  • F: …
  • G :…

ABC251

最后12s,过 f f f太刺激了。。。。🤩


ABC252

手速场,G的区间dp思路是对的,时间不够了,写不完。F的哈夫曼想的有点久,E的dij写的有点久(太久没写了)。


ABC253

F差点码完,一开始看题目,有点像 可持久化,浪费了很多时间,其实可以根据题目的条件连下边,可以简化计算。之后转换为前缀和去做。

这次还是,告诉了我,实现很重要。
你会做的题,不是花了3h做出来,才是会做。而是在有限的时间内快速 A C AC AC

复习

字符

最小表示法:kmp找子串也可以做

kmp:kmp找子串串

dp

  • 数位dp

t1

  • 区间dp

数据结构

暴力

  • 浅谈二分 2022/3/19

有很多种写法,在役时,比较喜欢while(l<=r)。虽然这种写法不用动脑,但其实不利于思考。
最近开始用起了while(l<r),这种写法对于二分的两种情况要求写者,要充分考虑。link:二分的两者写法,在这题充分考虑到

图论:

01BFS之前没写过。。。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值