2019 Multi-University Training Contest 1

A. Blank

upsolved by F0_0H

题意 给序列染色,使得 \([l_i,r_i]\) 区间内恰出现 k 种颜色。

做法 DP,\(dp[i][x][y][z]\) 表示考虑前 \(i\) 个位置,剩下 3 种颜色最后出现的位置为 \(x,y,z\) 的方案数 \((i\geq x \geq y \geq z)\)

复盘 比赛开始就提出了这个做法,但很遗憾,过题效率太低,再加上觉得 \(O(n^4)\) 过不去,没有在比赛中写这题。


B. Operation

题意 一个序列,两种操作,1. append 元素 x 2. 查询区间内子集异或最大值。强制在线。

复盘

  • 发觉如果查询可以离线,可以分治解决跨过mid的区间,\(O(nlogn + B^3q)\) 能解决问题。
  • 在线就顶不住了。

做法 对于一个前缀 \(a[1],...a[r]\) build的线性基时,使得每一维基向量位置尽可能靠后,并记录它们的位置,即可解决右端点为 \(r\) 的查询。


D. Vacation

solved by sdcgvhgj 233min -1

题意 单行道上很多辆车在走,求最后一辆车过线时间。

做法1 堆维护两车合体的时间。

做法2 枚举最后一辆车过线的时候是和谁合体的。

做法3 每个车的时间位移图像是个凸壳,求这个凸壳。

复盘 选择了一种不太舒适的做法 3。


E. Path

solved by rdc 32min -1

题意 删掉权值最小的边,使得 \(1\) 到 \(n\) 最短路变长。

做法 留下可能出现在最短路上的边,做最小割即可。

复盘 数组开小 TLE 了一发,下次注意点。


F. Typewriter

upsolved by sdcgvhgj

题意 打印一个字符串,每次可以打印一个字符,也可以复制一段子串,求最小耗费。
做法

  • 对于每个位置j,欲求最靠左的位置i,使得i+1到j是1到i的子串
  • 对于每个j,i是递增的,所以对1到i建SAM,对于每个j,持续移动i直到满足条件
  • 普通在SAM跑串匹配时每次要匹配一个字符,需要一直向上跳,直到可以转移到这个字符
  • 但如果每次用这种方法判断是否满足条件会退化到n方
  • 因为长度在缩短,所以跳之后可以保留位置
  • 比赛时意识到应该是SAM,但是一直在想怎么建好SAM之后找到N条转移关系,然后GG了,还是对SAM理解不够

复盘

  • 意识到应该复制极长的串。
  • 提出了 SA + 二分 + RMQ 的方案,因复杂度否决了这个做法。

I. String

sdcgvhgj击中立柱,rdc跟进补射 171min -5

题意 求字典序极小子串,满足各字符出现次数限制条件。

做法 逐位考虑。

复盘 这题很不顺利,初始化GG+check不周。建议 sdcgchgj 提高代码复用率,一段逻辑要在多个地方执行时,写个函数,会舒适很多。


K. Function

rdc写一半逃跑了,sdcgvhgj补刀 298min -2

题意 这个公式长得很漂亮,不如我们TLE一下。

做法

  • 按 \([i^{\frac{1}{3}}]\) 分类统计答案。
  • \([i^{\frac{1}{3}}]=x\) 时对答案的贡献为 \(\sum_{i=x^3}^{(x+1)^3-1} gcd(x,i)\),根据辗转相除法,不难证明,此和式循环节为 \(x\)。
  • 线性筛预处理 \(\sum_{i=1}^{n}gcd(i,n)\)

复盘

  • rdc \(O(nlogn)\) 解体后,试图施展线性筛,又解体了,sdcgvhgj 中流砥柱!
  • 求解 \(f(x)=\sum_{i=1}^{x}gcd(i,x)\) 真的是很经典的问题啊...... 在这种地方居然逡巡而不入。

L. Sequence

solved by rdc 188min -1

题意 给一个序列\(\{a_n\}\),有3种变换,第 \(k\) 种为 \(a_i = \sum_{j\leq i,(i-j)\%k=0} a_j\)

做法

  • 变换相当于对序列做矩阵乘法。注意到三种操作的矩阵可以交换。
  • 故可先进行若干次变换1,再进行变换 2,最后进行变换 3。
  • 考虑变换注意到变换的结果每个元素可被 \(a_1,a_2,....a_n\) 线性表示,第 \(k\) 次,序列变成 \(\{\binom{k-1}{k-1}a_1,\binom{k}{k-1}a_1+\binom{k-1}{k-1}a_2,\binom{k+1}{k-1}a_1+\binom{k}{k-1}a_2+\binom{k-1}{k-1}a_3\,......\}\),可以数学归纳证明。
  • 可以看成 \(\{a_1,a_2,a_3,.....\}\) 与 \(\{\binom{k-1}{k-1},\binom{k}{k-1},\binom{k+1}{k-1}.....\}\) 卷积。

复盘

  • rdc 义正言辞地表示操作顺序是有关的!【卜】,活鱼的这个识破极为关键。
  • 做 k 次前缀和这样的经典问题,居然在比赛时磨一年洋工。
  • 组合数学,还得练啊。

M. Code

upsolved by sdcgvhgj

题意 给一些红色的点,一些蓝色的点,能否用一条直线隔开。

复盘 比赛时想找关键点枚举直线,笨蛋啊!

做法 check 凸包是否有交。

不观察性质,看着 \(n\leq100\) 就开始白给。


总结

  • 糟糕的比赛节奏,在所有 AC 的题上,都有很多不必要的资源消耗。
  • 键盘上的选手和键盘下的选手,缺乏沟通。
  • 未能成功识破 D、M。
  • K、L 公式推倒不熟练。

2019 Multi-University Training Contest 1的更多相关文章

  1. 2019 Nowcoder Multi-University Training Contest 4 E Explorer

    线段树分治. 把size看成时间,相当于时间 $l$ 加入这条边,时间 $r+1$ 删除这条边. 注意把左右端点的关系. #include <bits/stdc++.h> ; int X[ ...

  2. 2019 Nowcoder Multi-University Training Contest 1 H-XOR

    由于每个元素贡献是线性的,那么等价于求每个元素出现在多少个异或和为$0$的子集内.因为是任意元素可以去异或,那么自然想到线性基.先对整个集合A求一遍线性基,设为$R$,假设$R$中元素个数为$r$,那 ...

  3. 2019 Multi-University Training Contest 8

    2019 Multi-University Training Contest 8 C. Acesrc and Good Numbers 题意 \(f(d,n)\) 表示 1 到 n 中,d 出现的次数 ...

  4. 2019 Multi-University Training Contest 7

    2019 Multi-University Training Contest 7 A. A + B = C 题意 给出 \(a,b,c\) 解方程 \(a10^x+b10^y=c10^z\). tri ...

  5. 2019 Multi-University Training Contest 2

    2019 Multi-University Training Contest 2 A. Another Chess Problem B. Beauty Of Unimodal Sequence 题意 ...

  6. 2019 Multi-University Training Contest 5

    2019 Multi-University Training Contest 5 A. fraction upsolved 题意 输入 \(x,p\),输出最小的 \(b\) 使得 \(bx\%p&l ...

  7. HDU校赛 | 2019 Multi-University Training Contest 6

    2019 Multi-University Training Contest 6 http://acm.hdu.edu.cn/contests/contest_show.php?cid=853 100 ...

  8. HDU校赛 | 2019 Multi-University Training Contest 5

    2019 Multi-University Training Contest 5 http://acm.hdu.edu.cn/contests/contest_show.php?cid=852 100 ...

  9. HDU校赛 | 2019 Multi-University Training Contest 4

    2019 Multi-University Training Contest 4 http://acm.hdu.edu.cn/contests/contest_show.php?cid=851 100 ...

随机推荐

  1. Shell基本语法---shell脚本的输入以及脚本拥有特效地输出

    shell脚本的输入 语法:read -参数 -p:给出提示符.默认不支持"\n"换行 -s:隐藏输入的内容 -t:给出等待的时间,超时会退出read,单位是秒 -n:限制读取字符 ...

  2. 1. 源码分析---SOFARPC可扩展的机制SPI

    这几天离职在家,正好没事可以疯狂的输出一下,本来想写DUBBO的源码解析的,但是发现写DUBBO源码的太多了,所以找一个写的不那么多的框架,所以就选中SOFARPC这个框架了. SOFARPC是蚂蚁金 ...

  3. F#周报2019年第31期

    新闻 现在开始接受FSSF的第七次师友计划申请 Xamarin播客:XAML热重载 TorchSharp:将PyTorch引擎带入.NET 视频及幻灯片 F#中的异步编程2/3--实现异步工作流 ML ...

  4. Spring Cloud下基于OAUTH2+ZUUL认证授权的实现

    Spring Cloud下基于OAUTH2认证授权的实现 在Spring Cloud需要使用OAUTH2来实现多个微服务的统一认证授权,通过向OAUTH服务发送某个类型的grant type进行集中认 ...

  5. [转载]ActiveMQ实现负载均衡+高可用部署方案

    转载于 http://www.open-open.com/lib/view/open1400126457817.html 一.架构和技术介绍 1.简介 ActiveMQ 是Apache出品,最流行的, ...

  6. SpringBoot第二十三篇:安全性之Spring Security

    作者:追梦1819 原文:https://www.cnblogs.com/yanfei1819/p/11350255.html 版权声明:本文为博主原创文章,转载请附上博文链接! 引言   系统的安全 ...

  7. hadoop开启Service Level Authorization 服务级认证-SIMPLE认证-过程中遇到的坑

    背景描述: 最近在进行安全扫描的时候,说hadoop存在漏洞,Hadoop 未授权访问[原理扫描],然后就参考官方文档及一些资料,在测试环境中进行了开启,中间就遇到了很多的坑,或者说自己没有想明白的问 ...

  8. cs231n---循环神经网络

    1 RNN介绍 (1)一对多,多对一,多对多的任务 传统的神经网络只能处理一对一的任务,而RNN可以处理一对多,多对一,多对多的任务: 其中,一些典型的应用如下: Image Captioning:i ...

  9. 在linux系统下安装mysql详解,以及远程调用连接不上mysql的解决方法。

    步骤: 1)查看CentOS自带的mysql 输入 rpm -qa | grep mysql 2)将自带的mysql卸载 3)上传Mysql的安装包到linux 4)安装mysql的依赖(不是必须) ...

  10. 【已解决】Https请求—未能创建 SSL/TLS 安全通道

    在做项目的微信推送消息功能时,由于微信并发量大,导致其它第三方接口调用时直接挂掉报错. 问题: 测试工程师做压测,100个线程同时调用微信和XX站的接口,日志报XX站的“请求被中止: 未能创建 SSL ...