首页 > 其他分享 >校内ACM比赛总结

校内ACM比赛总结

时间:2024-07-30 20:52:45浏览次数:11  
标签:校内 比赛 线段 分治 ACM 这道题 队友 思考 我们

不知道该叫什么名字就叫CDQZPC吧

前言

本来是三个人组队, 但是临时给我们拆成了两个人。 题目是学长出的。

A

smb学长出的题, 暂时不会

B

是一道猫树分治的题, 通过这个题我思考了很多, 我想了很多的做法, 但是在时间上都差一点点, 基本上卡在 \(1e9\) 的规模, 然后就想到了猫树分治, 但是鉴于对于猫树分治不够熟练和赛时的机房分贝过大, 自己的脑子过载, 我没有发现最后询问只需要 \(O(V)\) 合并背包, 这真的是很可惜, 只要我当时稍微清醒一点, 不可能反应不过来, 不过毕竟猫树分治第一次用。 另外的收获就是我的数据结构的思维路径和框架搭起来了, 解决一道题我可以有多种手段, 这种思考方式很奇妙, 就不是那种靠反应和猜算法去套的那种想题的方法。

C

这是一道模拟题, 模拟即可。

D

这是一道最小割的题目, 以前做过, 很快写出来, 但是调了有一会, 可能有半个小时, 这就很不好, 因为错误的地方很唐氏, 我真的服了。 不过还是成功拿到了首A。

E

很明显是一道DP题, 有点小复杂, 考试时先放了, 想先等等在做, 等其他题差不多了再来做这个, 但是最终还是没等到那个时候。

F

很ez, 队友切了, 我没怎么看。

G

这道题是本场第二可惜的题目, 第一可惜的是 B, 这个数据结构题我不该没做出来, 我回避了树套树, 因为我觉得这种比赛不会出这种码量大的题目, 所以我没有往树套树细想, 但实际上赛后往树套树细想时发现, 这个树套树是线段树套set, 代码量和普通线段树无异, 这就很幽默, 这是我的定势思维把我给框住了, 这种思考有时候确实有用, 也很必要, 但是我不该把自己框死, 应该更多的根据题目本身去思考, 这题真不该。

H

这道题是求最大团, 考虑连状压都做不了, 除非有高级玩意, 不然什么见到过比状压还牛的东西, 状压你都做不了那可能是真做不了(这当然不绝对正确, 但是还是有参考意义, 引导我们往搜索思考), 我记得之前有一道题, 理论暴搜是搜不出来的, 但是通过剪枝和分析, 我们可以通过, 所以这道题我就思考搜索。 考虑写是搜索压力比较大, 我们可以尝试构造更高级的乱搞做法, 比如随机化, 模拟退火, 最开始我们尝试随机撒点再 \(O(n^2)\) 判断, 取得了 10pts 的好成绩, 我们思考原因, 是因为我们太随机了, 如果我们加一点人类智慧, 那么绝对可以提升大量效率, 所以我贪心的, 优先取度数大的点加入团, 加到不能加为止, 我们可以发现这样子贪心出来的答案是和真实答案相差不远的, 那么我们就可以考虑微调, 随机 \(swap\), 那么这个是什么, 不就是模拟退火吗, 我们之前写模拟退火不就是随机swap再calc, 那么我们就当成板子写就好了。

I

队友切了, 式子推到一半, 推不动了, 靠我来优化, 我通过打表光速推出递推式, 发现我真是太聪明了

J

这是一道简单题, 发现可以二分加主席树, 十分的简单, 并且码的也很快, 开始到通过可能就是10min+, 赛后值得再理解的是我没有用好线段树的分治结构, 实际上线段树天生的分支结构可以支持他边查询边二分, 我发现线段树是真的强, 又有严格 \(logn\) 的树高, 还自带分治结构, 还只有 \(O(n)\) 空间, 而且好写, 可以灵活变换, 很值得更深入的理解。

K

这道题又是我领悟到考场真理, 就是觉得屎的代码千万别打, 如果觉得自己的思路很冗杂很麻烦, 千万不要冒险去写代码, 不然就会被带进沟里, 最开始这道题我们想的是dfs, 但是设想起来发现很难写, 很多分讨, 本来是我写的, 但是我觉得屎, 就没写, 交给队友, 和队友再三讨论, 没有什么改进, 没办法, 队友开始谨慎的实现代码, 等我上完厕所回来, 队友就发现这题根本没必要暴搜!因为管子密不透风, 我们只需要枚举每个格子, 找到哪里是缺管子的即可。 如果我们直接开始莽dfs, 那么后果不堪设想!!!想象那将会面对屎山的代码, 并且很可能会锅, 简直就是无底洞。

all

得分: C + D + F + H + I + J + K = 7 rk2(还有个队七分但是比我们快4分钟, 但是我不管

表现中规中矩, 还是有遗憾, 就是 B 和 G, G 是不该没做出来, B 是太可惜了。 主要原因可能是考场状态, 因为实在是吵。 考到后面确实是有点糊涂。

不过还是比较满意, 没有像上次参加真比赛那样耻辱了...

标签:校内,比赛,线段,分治,ACM,这道题,队友,思考,我们
From: https://www.cnblogs.com/qerrj/p/18333328

相关文章

  • 7 .30 ACM总结
    放假前几天,老师让我们打一场ACM来放松一下(非常好,放松不一定,被压力了)C题C题是个非常水的搜索题,队友看一眼就秒了。写的时候出了一点小问题,但也调出来了,此时我们来到了第6(总共7队)。#include<bits/stdc++.h>#definelllonglongusingnamespacestd;constintN=1e3+5;......
  • ACM日常训练日记——7.29
    Atcoder训练EnoughArray高质量题,建议两个星期后重新去做,滑动窗口题,找连续子串的和大于k的数我一开始就直接想前缀和去做,但是没有考虑清楚连续的关系,只要到一个状态满足大于它的状态全部都满足然后关键的地方是每次找到以后,把最先进入的状态弹出,也就是说从1——k变成2——k......
  • 循环赛算法:每队比赛总数
    循环赛安排要求:每支球队的比赛总数我是循环赛安排的新手,并且坚持这个要求,我们在团队数组中传递以及球队应该参加的最小比赛数。我已经实现了单循环算法和双循环算法,例如:teams=['T1','T2','T3','T4'];单循环生成此:T3vsT2T4vsT1T2vsT4T3vsT1T1vsT2......
  • 排球比赛计分程序模拟冲刺(sprint)
    模拟冲刺计划(spring)选择小的用户故事模拟冲刺:裁判张三、业余排球比赛组织者李四、排球运动员王五一、任务拆分与开发时间: 裁判张三: 任务1:开发操作指南和演示视频-时间:第1天  任务2:实现提前设置比赛基本信息功能-时间:第2天  任务3:设计简便计分操作界面......
  • 682. 棒球比赛 Easy
    你现在是一场采用特殊赛制棒球比赛的记录员。这场比赛由若干回合组成,过去几回合的得分可能会影响以后几回合的得分。比赛开始时,记录是空白的。你会得到一个记录操作的字符串列表 ops,其中 ops[i] 是你需要记录的第 i 项操作,ops 遵循下述规则: 1.整数 x -表示本回合新......
  • 评价一下学长组的比赛
    1.怀特布莱克专场2.gtm学长专场3.满穗专场rnk1奖励跟原图还有点像4.节目效果专场5.交互题和提交答案题专场6.数学专场7.二次元(Saber)专场持续断更......
  • 排球比赛计分系统
    模拟冲刺Sprint队伍与选手信息展示用户故事:作为赛事观众或参赛者,我能够通过网页查看所有队伍及其选手的详细信息。任务拆分与开发时间设计队伍与选手的数据模型,并在后端数据库中创建相应表格。-6h实现后端API接口,用于获取队伍与选手信息。-8h设计并实现前端页面,展示队伍列表......
  • 乒乓球比赛计分系统需求流程——最小可用产品
    计应222_杜晓瑾_2210502012乒乓球比赛计分系统需求流程——最小可用产品作为一名裁判,我希望可以在系统上进行网络计时、记成绩,以便大家可以监督和观看任务 Sprint1 2 3 4 5 6 7 8 9 10开通网络计时(1h) 1 0 网络计时(4h) 4 2 1 0 进行网络记成绩(3h) 3 1 2 0 ......
  • 羽毛球比赛积分系统02
    羽毛球比赛积分系统1、产品愿景目标用户学校的体育工作人员(老师、教练、裁判),学生和教师选手,赛事组织者,志愿者等羽毛球比赛的参与者。他们的需要或机会简化赛事安排和管理。提高比赛的公正性和透明度。实时掌握比赛成绩和排名。增强赛事互动和参与体验。产品名称:......
  • ACM日常训练日记——7.26
    Atcoder训练PowerfulDiscountTickets我们只需要动态维护使最大的值变小即可,这里我采用multiset去记录,有相同元素存在,也可以采用优先队列去维护#include<bits/stdc++.h>usingnamespacestd;usingll=longlong;lln,m;llv[100010];multiset<ll>st;multiset<ll......