2019 Multi-University Training Contest 2
2019 Multi-University Training Contest 2
A. Another Chess Problem
B. Beauty Of Unimodal Sequence
题意 给一个序列,求下标字典序最小和字典序最大的,先增后减的序列。
解体过程
- 比赛时首先不知道字典序最小LIS怎么求。
- 试图枚举分界点。【解体的开始】
- 公无渡河,公竟渡河?
- 活鱼在摸鱼,rdc在划水,sdcgvhgj在水深火热。
做法
- 考虑字典序最小的LIS怎么求?
- 这是个经典问题,预处理前缀LIS后缀LIS,check每个元素能都出现在整个序列LIS中,对能出现的元素,记录出现在LIS中的下标。
- 下标为 1 最小元素,下标为 2 的最小元素..... etc
- \(pre[i][0/1], suf[i][0/1]\) 分别维护前缀后缀信息,数组第二维记录表示升or降。
- 逐位考虑填什么。
C. Coefficient
多项式套多项式。好难不会。
D. Double Tree
边分治。好难,不会。
E. Everything Is Generated In Equal Probability
solved by rdc 62min
题意 在 \(1\) 到 \(N\) 随机一个 \(n\),再随机一个 \(1\) 到 \(n\) 的排列,每次先计算逆序对加入得分,再随机选一个子序列,求得分期望。
做法 考虑一个 pair 对答案的贡献即可。
F. Fantastic Magic Cube
solved by rdc 242min, assisted by F0_0H
题意 一个空间立方体的权值为区域内所有整点 \(x,y,z\) 异或值之和,现需要把 \(n*n*n\) 的立方体,切割成 \(n*n*n\) 个 1*1*1,可以横向或者纵向切割,花费为两部分权值之积,最大化得分。
识破 观察一维的 case,发现得分与切割无关。
做法 每两个点对答案的贡献为常量,与切割方式无关。只需计算 x^y^z=a 的方案数,FWT 即可。
复盘 很早就看了这个题,想法有:按位统计贡献,决策最优点有什么性质,乘法有特殊含义。 最后一条接近真相了,但当时看这题通过人数较少就没有继续考虑下去了。
G.Game
upsolved by sdcgvhgj
题意 3x3的棋盘某些位置有黑子或白子,A每次拿走一个白子,并拿走其左右两侧的棋子或上下两侧的棋子或上下左右的棋子,B每次拿走一个黑子,不能操作则输,n个棋盘同时进行,问A必胜还是B必胜还是先手必胜还是后手必胜。
做法
- B自己玩着玩着就死了,每走一次都不如不走,所以对于A来说,B先手一定更优
- 所以左集一定小于右集,能用超实数表示
- 所以求一下每个局面的超实数加起来判断符号的正负就好
- 整了个板子code
H. Harmonious Army
solved by F0_0H 135min -5
题意 一群人分为两个集合,存在一些两人之间的关系,分为同一集合或不同集合都有相应的收益,问收益最大
题解 最小割经典例题,详见16年国际集训队论文——《网络流的一些建模方法》姜志豪
比赛时贡献了全队罚时,败给了五发错误提交,全因一个变量未清空,凉凉。
warning 交题之前仔细检查数据清空。
I. I Love Palindrome String
solved by sdcgvhgj 56min
题意 给定字符串s,对于\(i∈[1,|S|]\)求有多少子串长度为i,且是回文的,且左半也是回文的。
做法 回文树求出每个本质不同的回文串及其出现次数,马拉车判断是否左半回文。
J. Just Skip The Problem
签到 by rdc 27min
K. Keen On Everything But Triangle
solved by F0_0H 38min
题意 给定长度为\(n\)的正整数序列,每次询问一段区间能构成的最大三角形。
做法
又是一道学长白给题,对序列建主席树,每次询问暴力查询前三大,不断尝试,直到成功为止。
由于Fib的性质,尝试失败的次数是log级别的
识破 Fib
L. Longest Subarray
solved by rdc 156min
题意 查询极长的子区间,内部出现过的每种元素出现次数超过 k。
做法
- 从小到大枚举右端点,考虑哪些左端点的会被 ban 掉。
- 我们可以发现 ban 掉的左端点是一些区间并,线段树维护。
总结
- X1 阶段(0h-1h):开场 E、H、I、J、K 靠着技能储备以及战斗经验很稳当地提出了做法,比赛节奏十分紧凑。
- X2 阶段(1h-2.5h):通过 EIJK 之后,LH 轮流上机,L 题想法犹豫了,H 的实现也遇到了一些问题。这段时间本应做好中期攻坚工作,承上启下,但今天的表现完完全全是在集体划水,LH 拖沓,B 题未能提出合理的做法来。
- Y 阶段:开始集火 B 题,可惜显得有些盲目,rdc 在比赛临近结束时提出了比较真的做法,但时间所剩无几,最终无功而返。
2019 Multi-University Training Contest 2的更多相关文章
- 2019 Nowcoder Multi-University Training Contest 4 E Explorer
线段树分治. 把size看成时间,相当于时间 $l$ 加入这条边,时间 $r+1$ 删除这条边. 注意把左右端点的关系. #include <bits/stdc++.h> ; int X[ ...
- 2019 Nowcoder Multi-University Training Contest 1 H-XOR
由于每个元素贡献是线性的,那么等价于求每个元素出现在多少个异或和为$0$的子集内.因为是任意元素可以去异或,那么自然想到线性基.先对整个集合A求一遍线性基,设为$R$,假设$R$中元素个数为$r$,那 ...
- 2019 Multi-University Training Contest 8
2019 Multi-University Training Contest 8 C. Acesrc and Good Numbers 题意 \(f(d,n)\) 表示 1 到 n 中,d 出现的次数 ...
- 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 ...
- 2019 Multi-University Training Contest 1
2019 Multi-University Training Contest 1 A. Blank upsolved by F0_0H 题意 给序列染色,使得 \([l_i,r_i]\) 区间内恰出现 ...
- 2019 Multi-University Training Contest 5
2019 Multi-University Training Contest 5 A. fraction upsolved 题意 输入 \(x,p\),输出最小的 \(b\) 使得 \(bx\%p&l ...
- 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 ...
- 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 ...
- 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 ...
随机推荐
- 如何编译生成Linux-C静态链接库
目标生成的静态库文件为:libnpcp.a 举例:我们有四个文件分别为:npcp.c npcp.h other.h main.c main.h在npcp.c里面#include "other ...
- POJ18060
Currency Exchange Time Limit: 1000MS Memory Limit: 30000K Total Submissions: 16244 Accepted: 565 ...
- 关于FFT分析音频的学习
本文部分知识从以下文章学习: https://zhuanlan.zhihu.com/p/19763358 傅里叶变换的知识 https://www.cnblogs.com/RabbitHu/p/FFT ...
- 自定义ItemToggleView
极力推荐文章:欢迎收藏 Android 干货分享 阅读五分钟,每日十点,和您一起终身学习,这里是程序员Android 本篇文章主要介绍 Android 开发中的部分知识点,通过阅读本篇文章,您将收获以 ...
- 已知词频生成词云图(数据库到生成词云)--generate_from_frequencies(WordCloud)
词云图是根据词出现的频率生成词云,词的字体大小表现了其频率大小. 写在前面: 用wc.generate(text)直接生成词频的方法使用很多,所以不再赘述. 但是对于根据generate_from_f ...
- 算法与数据结构基础 - 折半查找(Binary Search)
Binary Search基础 应用于已排序的数据查找其中特定值,是折半查找最常的应用场景.相比线性查找(Linear Search),其时间复杂度减少到O(lgn).算法基本框架如下: //704. ...
- Python 命令行之旅 —— 初探 argparse
『讲解开源项目系列』启动--让对开源项目感兴趣的人不再畏惧.让开源项目的发起者不再孤单.跟着我们的文章,你会发现编程的乐趣.使用和发现参与开源项目如此简单.欢迎联系我们给我们投稿,让更多人爱上开源.贡 ...
- 本地(任意)时间戳转化(转换)标准时间格式 js(eg:2019-05-07 17:49:12)
<script> function getLocalTime(timestamp) { // 如果以秒为单位 // var dateObj = new Date(timestamp * 1 ...
- Nunit与Xunit介绍
Nunit安装 首先说下,nunit2.X与3.X版本需要安装不同的vs扩展. nunit2.x安装 安装如上3个,辅助创建nunit测试项目与在vs中运行单元测试用例 . 1.Nunit2 Test ...
- websql操作类封装
在之前,我写了一个websql的封装类库,代码如下: (function(win) { function smpWebSql(options){ options = options || {}; th ...