2019 Multi-University Training Contest 8
2019 Multi-University Training Contest 8
C. Acesrc and Good Numbers
题意 \(f(d,n)\) 表示 1 到 n 中,d 出现的次数。求小于等于 x 的最大的 \(n\) 满足 \(f(d,n)=n\)。
做法
- 令 \(g(d,n)=f(d,n)-f(n)\),我们要求小于等于 \(x\) 极大的零点。
- 注意到 \(n>10^{12}\) 一定不存在零点。 [比赛时注意到了这点]
- Big-Small 战法。
- 取 B 等于 \(10^6\),求 \(g(d,x)\),可以将 \(x\) 写成 \(x=k*B + t\) 形式。\(t = x\%B\)
- 按 \(k\) 值对 \(x\) 进行分块。
- 如果 \(k\) 中有 d,那么 \(g(kB+t)\) 是关于 \(t\) 递增的。
- 否则,\(|g(kB)|\) 不能太大,否则解体。
E. Acesrc and String Theory
solved by sdcgvhgj 284min -2
题意 求循环重复k次的子串的数量
做法
- 枚举循环节大小len,那么合法串一定同时包含i和i+len两个位置
- 计算左端点在\([i-len+1,i]\)的串包含i和i+len两个位置的合法左端点有哪些
- 设i和i+len这两个前缀的最长公共后缀为k1,这两个后缀的最长公共前缀为k2
- 那么合法位置的区间为\([max(i-len+1,i-k1+1),min(i,i+k2-(k-1)*len)]\)
- k=1需要特判
- 算后缀数组的时候字符串结束要置0,RE了两发
I. Calabash and Landlord
solved by sdcgvhgj 123min -4
题意 求两个矩形将平面划分成了几个联通块
做法
- 枚举8个点两两中点check在哪些矩形中,算出不同包含关系的数量作为答案,WA
- 意识到只包含在一个矩形中的区域可以有两块,rdc提出在3x3的格子合并联通块的做法,但感觉不太好写,选择在原代码基础上加两个判断,WA
- 意识到应该枚举16个点的两两中点,或直接9个格子的中点,写错两发后AC
K. Roundgod and Milk Tea
solved by rdc, 63min -3
题意 \(n\) 个班级,第 \(i\) 个有 \(a_i\) 个人,\(b_i\) 杯奶茶,每个人只能喝别的班的奶茶,输出最多能喝多少杯奶茶。
做法
- 二分图最大匹配问题,Hall 定理。\(|M|=|U|-max_{S \subset U} (|S|-|N(S)|)\)
- 对 \(U\) 进行讨论,要么为空集,要么为全集。
复盘
- 一开始认为给每个人任意匹配一杯奶茶都是合法的。
- 然后 WA,然后开始贪心匹配奶茶多的班级。
- 很盲目。
- 再盲猜 Hall 定理,就过了。
- 比赛的时候想到的 Hall 定理是二分图存在完美匹配的充要条件,但还是不会证。
- 题解中的做法,是 Hall 定理的推论。
2019 Multi-University Training Contest 8的更多相关文章
- 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 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 2
2019 Multi-University Training Contest 2 A. Another Chess Problem B. Beauty Of Unimodal Sequence 题意 ...
- 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 ...
随机推荐
- 微信小程序onLoad与onShow的区别
现在招聘网站上,会小程序开发都可以找到月薪不错的职位了,可见小程序认可度还是可以的! 小程序声明周期onLoad与onShow的区别? onLoad页面加载时调用,可以获取参数,通过options. ...
- 理解nodejs中的stream(流)
阅读目录 一:nodeJS中的stream(流)的概念及作用? 二:fs.createReadStream() 可读流 三:fs.createWriteStream() 可写流 回到顶部 一:node ...
- 2019牛客多校训练第四场K.number(思维)
题目传送门 题意: 输入一个只包含数字的字符串,求出是300的倍数的子串的个数(不同位置的0.00.000等都算,并考虑前导零的情况). sample input: 600 1230003210132 ...
- C++基础之:扫雷破解
版权声明: 本文原创发布于博客园"优梦创客"的博客空间(网址:http://www.cnblogs.com/raymondking123/)以及微信公众号"优梦创客&qu ...
- 解读 PHP 的 P++提案
解读 PHP 的 P++提案 周末看到一篇文章说 PHP 创始人提议将 PHP 拉出新分支,创建 P++ 语言.随后阅读了一下 Zeev Suraski 发起的这个邮件列表,大致了解了一下,这里做个解 ...
- Mysql超详解
Mysql超详解 一.命令框基本操作及连接Mysql 找到Mysql安装路径,查看版本 同时按快捷键win+R会弹出一个框,在框中输入cmd 点击确定后会出现一个黑框,这是命令框,我们的操作要在这命令 ...
- 【KakaJSON手册】01_JSON转Model_01_基本用法
在iOS开发中,后台返回的数据大多是JSON格式,对应地会被网络框架层解析成Swift中的Dictionary.Array.由于数据类型的复杂.字段的繁多,直接使用Dictionary.Array会比 ...
- (二十二)c#Winform自定义控件-半透明窗体
前提 入行已经7,8年了,一直想做一套漂亮点的自定义控件,于是就有了本系列文章. 开源地址:https://gitee.com/kwwwvagaa/net_winform_custom_control ...
- SpringCloud微服务小白入门之Eureka注册中心和服务中心搭建示例
一.注册中心配置文件 代码复制区域: spring: application: name: spring-cloud-server server: port: 7000 eureka: instanc ...
- html5新特性-header,nav,footer,aside,article,section等各元素的详解
Html5新增了27个元素,废弃了16个元素,根据现有的标准规范,把HTML5的元素按优先级定义为结构性属性.级块性元素.行内语义性元素和交互性元素四大类. 下面是对各标签的详解,section.he ...