2017 Multi-University Training Contest 1 solutions BY BUAA
来源:互联网 发布:5x5矩阵的行列式怎么算 编辑:程序博客网 时间:2024/05/16 09:42
1001. Add More Zero
答案就是
1002. Balala Power!
每个字符对答案的贡献都可以看作一个 26 进制的数字,问题相当于要给这些贡献加一个 0 到 25 的权重使得答案最大。最大的数匹配 25,次大的数匹配 24,依次类推。排序后这样依次贪心即可,唯一注意的是不能出现前导 0。
1003. Colorful Tree
单独考虑每一种颜色,答案就是对于每种颜色至少经过一次这种的路径条数之和。反过来思考只需要求有多少条路径没有经过这种颜色即可。直接做可以采用虚树的思想(不用真正建出来),对每种颜色的点按照 dfs 序列排个序,就能求出这些点把原来的树划分成的块的大小。这个过程实际上可以直接一次 dfs 求出。
1004. Division Game
显然每个石子堆最多做
为了统计结束于石子堆
我们可以基于一个数的不同质因子几乎互不影响的观察得到第一个结论。每次操作保证任何一个
考虑
假设只满足第一个条件的相应方案数为
我们也可以观察到如果某些
总时间复杂度为
1005. Expectation Division
解决这道题需要观察到一些比较经典的结论。在分析前我们先两组与题目相关的定义:对于任意正整数的质因子分解
这题本来是为 OI 赛制的比赛准备的,然而没有被使用。接下来会根据几个部分分给出做法,希望能对大家有所启发。
[b]对于
题目中所表述的过程是一个标准马尔可夫过程,所以我们可以用
很容易计算出满足
[b]对于
直接在线为每个询问计算答案是有些不现实的,这里给出一个考虑不同数字之间的关系并记忆化存储信息的做法。
首先观察到,对于
不妨将每个数字对应的
事实上当
[b]对于
之前的方法难以奏效,因为现在有
为了观察更细致一些,我们定义
尝试优化计算
类似地,当
[b]对于
上述做法再次不适用了,因为现在本质不同的集合个数达到
考虑
参考大小为
注意这个做法具体结合到非升序的幂指数序列时可能要修改一下
[b]复杂度分析:[/b]
这道题的大数运算很容易在常数时间内实现。记忆化搜索时可以用 bitset 配合基数排序线性地对幂指数序列的排序,但是它是可以避免的(甚至是递归时的拷贝)。标程的时间复杂度与空间复杂度都是
1006. Function
考虑置换
那么
而如果
答案就是
时间复杂度是
1007. Gear Up
整个图的结构是一个森林,首先可以将共轴的齿轮看成一个块(它们角速度相同),再考虑共边的情况。
如果
由此可以得出每个连通分量中每个齿轮角速度与某个特定齿轮的关系,从而利用线段树维护齿轮(或块)的 dfs 序列对应的区间角速度最大值。具体来说,每个连通分量任选一个齿轮作为参照点,维护其他齿轮与其角速度的差值。每个连通分量可以看成是一棵有根树,当一个齿轮的半径发生变化时,根据其是
具体实现中可以维护
1008. Hints of sd0061
最慢的情况是
从最大的取值到最小的取值依次使用近似线性复杂度的求第
1009. I Curse Myself
由于图是一个仙人掌,所以显然对于图上的每一个环都需要从环上取出一条边删掉。所以问题就变为有
对所有集合两个两个进行合并,设当前合并的集合是
事实上存在一个时间复杂度
1010. Journey with Knapsack
标程的做法是生成函数。定义装满
根据乘法原理,第
由于
剩下的部分是
回到原来的部分,我们做如下化简:
上面的式子表明我们可以利用前缀和将其规约到
1011. KazaQ’s Socks
找规律即可。规律是
1012. Limited Permutation
根据
具体来说,我们可以依次找到能够覆盖整个区间
若存在一棵笛卡尔树,则这棵笛卡尔树是唯一的。每棵子树都基于相似的子问题,所以我们只需要在合并子树时计算子树的组合即可。例如
由于使用基数排序,故处理的时间复杂度为
- 2017 Multi-University Training Contest 1 solutions BY BUAA
- 2017 Multi-University Training Contest 1 solutions BY 北京航空航天大学
- 2017 Multi-University Training Contest 1 solutions BY 北京航空航天大学
- 2017 Multi-University Training Contest 1 solutions BY 北京航空航天大学
- 2017 Multi-University Training Contest 2 solutions BY 电子科技大学
- 2017 Multi-University Training Contest 2 solutions BY UESTC
- 2017 Multi-University Training Contest 2 solutions BY 电子科技大学
- 2017 Multi-University Training Contest 3 solutions BY 洪华敦
- 2017 Multi-University Training Contest 4 solutions BY 陈松杨
- 2017 Multi-University Training Contest 5 solutions BY 吉如一
- 2017 Multi-University Training Contest 6 solutions BY 福州大学
- [多校补题]2017 Multi-University Training Contest 2 solutions BY 电子科技大学
- [多校补题]2017 Multi-University Training Contest 3 solutions BY 洪华敦
- [多校补题]2017 Multi-University Training Contest 4 solutions BY 陈松杨
- [多校补题]2017 Multi-University Training Contest 6 solutions BY 福州大学
- 2017 Multi-University Training Contest 1 solutions BY 北京航空航天大学(1)
- [多校补题]2017 Multi-University Training Contest 1 solutions BY 北京航空航天大学
- 多校训练赛题解 第四场 2017 Multi-University Training Contest 4 solutions BY 陈松杨
- 利用淘宝给定id,php编写抓取淘宝价格或其他信息
- 李航《统计学习方法》第4章习题答案参考
- 日志处理——log4j 宏观学习
- struts2的配置解释以及使用ajax、创建传输json的两种方式
- 实现文本单行显示,超出部分显示省略号(...)
- 2017 Multi-University Training Contest 1 solutions BY BUAA
- 手把手教你做北邮操作系统小学期实验一——Linux启动过程优化3
- Codeforces Round #425 (Div. 2) B. Petya and Exam
- springboot中注解详解
- Nginx平滑升级
- iOS10如何跳转到手机设置对应的页面
- JavaScript数据结构(1):什么是数据结构
- 源码分析Android中的线程和线程池
- 满二叉树