一、赛后总结

总结就是缺乏清晰的大脑,当然一切的一切归因于实力不足。

开局看K,半个小时推出DP式子,交了就WA。差错没查出来,写了暴力对拍,就去看D了。后来拍了3个小时也没出问题。。。可能是数据生成器太弱了。其中D也很快写出二分+DFS的结构,但是也WA了。。

这个时候可能心态就不太好了,准备死磕KD。其间队友顺利过GJ。

四个小时的时候把K的dp换了一种写法,第二维由记录匹配括号数改为记录左括号数减右括号数,再加了一个清零就过了。这样看可能是原来的清零有问题,但还没有进行确认,打算先补完别的题有时间再确认。后面认为D的精度出了问题,开始各种乱改,最后也没过。现在的看法是还是需要认真分析,因为不仅这其中的乱改有明显的错误,而且实际的原因是DFS有问题。

UPD1: L是签到题,没有看,亏大了。。。

后面会根据补题补充。。。。

(by Star_Dream)

二、题解报告

A. Falfa with Polygon

D. Link with Game Glitch

思路:二分+DFS

二分答案,DFS做check。

原思路的check会对每个点标记对应dfs的出发点,这一再DFS中继续DFS的唯一依据是当前点的DFS出发点是否为0,相当于O(n)的DFS与check,总体复杂度为O(nlogn)。赛中其实就根据n=1000对这种做法产生了疑问,但没有深入思考。。。。但问题就在于此。如下图所示:

如果先遍历1->2,再遍历2->1,认为1走过了,回溯至1,再遍历1->3->2,认为2走过了回溯3,回溯1。

可以发现无视了1->3->2>1这一个环,而check循环至3时会认为3已经参与过DFS而不能被作为dfs起点,所以就错了。

所以还是老老实实地做n次以每个点为起点的DFS,加上一点剪枝技巧(例如只有当前到该点的权值大于其原来权值才继续DFS),就可以过了。复杂度O(n2logn)。

所以还是要认真分析算法本身有无问题,不要乱改。。。

Additional:

1.最后乱改有一个非常错误的乱改,就是将ans=l/bs(因为我是二分ll而非二分double)改为printf("0.%lld",l),这里的乱改使后面的乱改变得毫无意义。因为0.l这一写法忽视了位数。

2.虽然本题可以使边权w=(double)c/a再做乘法运算可以通过,但根据754标准,乘积可达1e3000,超过阶码上限,视作∞,精度损失非常大。所以还是建议先取对数做加法运算。

E. Falfa with Substring

G. Linke with Monotonic Subsequence

H. Take the Elevator

根据题意,每次电梯到当前最高然后回到1层,所以设共需要运行x次电梯,每次电梯所到达的最高层要尽量低。答案就是sum{最高层-1}。

最开始想的是贪心地每次把m个冲突的组合,后来把自己HACK了。

想不出来就看题解了,只看到中途下电梯这几个字就突然会做了。高到低枚举层(最多有2n个有效层,可以用map存一下),记录当前位置坐电梯的人数,设为x。所以当前位置需要有(x/m+(x%m>0)?1:0)次电梯,因为倒序枚举层,只要当前电梯次数不够,就加次数并记录层即可。这样对应的层就是当前轮次电梯的最高层。

当然,由于上楼和下楼本身是独立的,上面的过程做两遍分别记录,最后在每个轮次取max即可。需要注意的是随轮次的增大,对应电梯最高层是递减的。

SUMMARY:实话说不难,甚至说可以算是简单题了。贪心思路比较直,重点想到中途下电梯就可以了。但实际进一步想,中途不下电梯也是一模一样的。多手玩例子,真的不算难。

I. let fat tension

J. Link with Arithmetic Progression

K. Link with Bracket Sequence I*

原DP思路是dp[i][j][k]表示长度为i的括号序列,有j对匹配括号,对应a括号序列位置到k的序列数,转移式为:

dp[i][j][k]=(k==n||s[k]==')')?dp[i-1][j][k]:0+(k==n||s[k]=='(')?dp[i-1][j-1][k]:0+(k>0&&s[k-1]==')')?dp[i-1][j-1][k-1]:0+(k>0&&s[k-1]=='(')?dp[i-1][j][k-1]:0

将第二维含义修改为左括号数减右括号数,转移式修改为:

dp[i][j][k]=(k==n||s[k]==')')?dp[i-1][j-1][k]:0+(k==n||s[k]=='(')?dp[i-1][j+1][k]:0+(k>0&&s[k-1]==')')?dp[i-1][j+1][k-1]:0+(k>0&&s[k-1]=='(')?dp[i-1][j-1][k-1]:0

加上清零就可以通过,可能之前的dp思路有清零的问题,但不确定。后面如果有时间会查找原因。

L. Link with Level Editor I

隐藏的签到题。。。

问的是最短连续的子序列,使1号点能通过这个空间序列中的边(每个空间之多选一条边)最终到达m点。

dp[i]表示当前到i号点最少需要的空间序列长度,考虑在下一空间,若不选边,则dp[i]++(这一空间初始化),选边就转移好了,另设f[i]表示这一空间的解,f[v]=min{dp[u]}。最后若(f[i]<dp[i]&&f[i]>0)或dp[i]==0,令dp[i]=f[i]。

想题10min,做题+调试10min。。。真的很签到!

2022牛客多校2题解报告(同步自语雀)相关推荐

  1. 2022牛客多校(十)

    2022牛客多校(十) 一.比赛小结 比赛链接:"蔚来杯"2022牛客暑期多校训练营10 二.题目分析及解法(基础题) F.Shannon Switching Game? 题目链接 ...

  2. 2022杭电多校5题解报告(同步自语雀)

    一.赛后总结 Wuhu~萌新又来啦~ 第一次在考场上写出NTT,虽然是比较裸,但感觉真的不错~ 开场看03,思路比较直,就是dijk,但跨层跳跃想了好久~最后想到了类似于B树或者B-树一类的层内链表, ...

  3. 2022杭电多校4题解报告(同步自语雀)

    一.赛后总结 嘤嘤嘤,本人纯萌新,深夜反思自己到底有多菜~(:′⌒`) 前天没写出状压,再前面不会SAM和圆方树,再往前不会NTT和FFT,真的是个啥也不会的萌新呢. 这场主要的问题在于02的0环和1 ...

  4. 2022牛客多校十 E-Reviewer Assignment(匈牙利算法)

    题目链接:登录-专业IT笔试面试备考平台_牛客网 题目: 样例输入: 5 3 010 010 101 011 100 样例输出: 2 2 1 3 1 题意:给定n个人和m篇文章,然后给出一个n*m的矩 ...

  5. 2022牛客多校联赛第九场 题解

    比赛传送门 作者: fn 目录 签到题 A题 Car Show / 车展 基本题 B题 Two Frogs / 两只青蛙 进阶题 G题 Magic Spells / 魔法咒语 签到题 A题 Car S ...

  6. (2022牛客多校五)H-Cutting Papers(签到)

    样例输入: 2022 样例输出: 3649785.912339927 题意:求|x|+|y|+|x+y|<=n所在的区域和x*x+y*y=(n/2)*(n/2)所在区域的面积并. 这道题就是一个 ...

  7. 2022牛客多校 C Grab the Seat!

    题意 二维平面,屏幕是 (0, 1)–(0, m) 的线段 有 n 行 m 列座位在屏幕前面,是坐标范围 1 ≤ x ≤ n, 1 ≤ y ≤ m 的整点 有 k 个座位已经有人,求出到屏幕的视线不被 ...

  8. 2022 牛客竞赛 月赛60 题解

    为了第一次写题解而去打小白月赛,本来以为可以很快AK的,但是最后卡在了最后一题,只ac了5题.前三题太水了,于是我从第四题开始给题解. D 游戏购买! 这题主要考验大家的算法基本功,一般的爆搜会超时, ...

  9. [manacher][hash]Magic Spells 2022牛客多校第9场 G

    题目描述 One day in the magic world, the young wizard RoundDog was learning the compatibility of spells. ...

最新文章

  1. 你的首个 Progressive Web App
  2. winpcap基本原理及常见应用_数字图像处理原理及应用教学大纲
  3. Inner Join, Left Outer Join和Association的区别
  4. linux文件系统只有几k,关于Linux文件系统的的简单理解和认识
  5. linux创建vnc服务器,五步建立一个VNC Linux服务器
  6. php yii 控件分页,yii2.0-分页应用实例
  7. 大数斐波那契数列(nyoj655)光棍的yy
  8. ps去色的10种方法
  9. JDK和JRE区别是什么
  10. java 机器学习资源整理
  11. 龙华大浪注塑加工中模具原理及组成
  12. 用python写邮件和附件自动生成发送系统
  13. 如何使用 IFTTT 零成本建立网站内容监控系统?
  14. ie8 css hack 只适用ie8的css写法
  15. 饥荒服务器文档,建立饥荒服务器
  16. 【JY】橡胶支座精细化模拟与有限元分析注意要点
  17. python模拟登录网站_Python爬虫实战之(四)| 模拟登录京东商城
  18. 传感器系列之4.7地磁传感器
  19. 常用软件密码破解完全指南[转]
  20. Linux文件查找和文件内容关键字查找

热门文章

  1. 计算机的人文素养知识,人文素养知识要点
  2. “人文素养老师”——马小平老师
  3. 【ML】range、arange和linspace函数
  4. 谷歌地球(google earth)下载安装使用教程
  5. 波澜不惊的2007,激流勇进的2008
  6. ES限流导致ES数据更新不及时问题
  7. 鸿蒙os流畅性,全球首批!升级使用鸿蒙OS真实反馈评价出炉:“差评好评“都很真实...
  8. C++ map和set
  9. 解决ip经常变动的问题
  10. 查找薪水变动超过15次的员工号emp_no以及其对应的变动次数t