2016 Multi-University Training Contest 6 solutions BY UESTC
A Boring Question
\[\sum_{0\leq k_{1},k_{2},\cdots k_{m}\leq n}\prod_{1\leq j< m}\binom{k_{j+1}}{k_{j}} \]
\[=\sum_{0\leq k_{1}\leq k_{2}\leq\cdots \leq k_{m}\leq n}\prod_{1\leq j< m}\binom{k_{j+1}}{k_{j}} \]
\[=\sum_{k_{m}=0}^{n}\sum_{k_{m-1}=0}^{k_{m}}\cdots \sum_{k_{1}=0}^{k_{2}}\prod_{1\leq j< m}\binom{k_{j+1}}{k_{j}}\]
\[=\sum_{k_{m}=0}^{n}\left \{ \binom{k_{m}}{k_{m-1}} \sum_{k_{m-1}=0}^{k_{m}} \left \{ \binom{k_{m-1}}{k_{m-2}} \cdots \sum_{k_{1}=0}^{k_{2}}\binom{k_{2}}{k_{1}} \right \} \right \} \]
\[=\sum_{k_{m}=0}^{n}\left \{ \binom{k_{m}}{k_{m-1}} \sum_{k_{m-1}=0}^{k_{m}} \left \{ \binom{k_{m-1}}{k_{m-2}} \cdots \sum_{k_{1}=0}^{k_{2}}\binom{k_{2}}{k_{1}} \right \} \right \} \]
\[=\sum_{k_{m}=0}^{n}\left \{ \binom{k_{m}}{k_{m-1}} \sum_{k_{m-1}=0}^{k_{m}} \left \{ \binom{k_{m-1}}{k_{m-2}} \cdots \sum_{k_{2}=0}^{k_{3}}\binom{k_{3}}{k_{2}}2^{k_{2}} \right \} \right \} \]
\[=\sum_{k_{m}=0}^{n}m^{k_{m}} \]
\[=\frac{m^{n+1} - 1}{m - 1} \]
A Simple Chess
这是一道容斥+Lucas定理的水题。
tips:终点可能有障碍物
A Simple Nim
sg[0]=0
当x=8k+7时sg[x]=8k+8,
当x=8k+8时sg[x]=8k+7,
其余时候sg[x]=x;(k>=0)
打表找规律可得,数学归纳法可证。
Magic Number
对于bi来说,二进制的第i位一定为1,大于i位一定是0。将二进制的每一位看作一个结点构成一棵树,使得结点i到根的路径上的所有结点编号表示bi二进制中为1的位置。已知b1到bi-1所构成的树,新增加一个结点bi,只需要求构成bi的所有bj的最近公共祖先,将结点i放到该祖先的儿子的位置。对于询问ci,只需要求构成di的所有bj的到根路径的并,答案为路径并的结点数。
Master Zhu
考虑一个朴素的解法:2^n枚举在哪些行放置棋子,并判断是否可以通过这些棋子填充其它的列。由于区间的边界非递减,那么处理出要放的列,每次贪心地放置编号最小的需要放的列必然是最优的。
那么考虑一个dp的做法:dp1[i][j][k]表示现在做了前i行且有一些行没填,需要把j~k列都放置棋子才能把前i行的所有格子满足条件,dp2[i][j]表示填了前i行且有一些行没填,但是所有格子都已经满足条件,且之后只需要填第j列之后的列,dp3[i][j][k]表示填了前i行,且下一个没填的行是第k行,现在填了L[k]~j列(j = L[K] - 1表示一列都没有填)。
考虑dp1的转移,对于第i行,只要枚举左边界不小于L(i+1)且右边界不大于R(i+1)的列区间没填,因为若左边界小于L(i+1),那么这些列以后无论怎么样都无法被填充。然后分情况讨论转移到i+1的即可。
考虑dp2的转移,枚举下一个没填的行k,并分情况转移到相应的dp2[k][R[k]]和dp3[i][k][max(j,L[k] - 1)]
考虑dp3的转移,也是分情况讨论转移,具体实现看标程。时间复杂度O(N*(2NM + M^2))
Stabilization
考虑去掉abs符号,发现只有相邻两个数的最高位被影响了才会影响abs的符号,所以可以按照最高位不一样的位置分类,之后考虑朴素枚举x从0到2^20,每次的复杂度是O(400),无法通过,考虑优化,第一种方法是用DFS来进行枚举,第二种则是加入记忆化
This world need more Zhu
卿学姐说她的fans都能过这个题
考虑链上的操作,我们用树上莫队来处理,因为很容易做到O(1)转移到相邻节点的状态。
考虑子树操作,可以启发式合并来维护答案,也可以先dfs序一下,然后再跑普通的莫队算法就好了。
To My Girlfriend
令dp[i][j][s1][s2]表示前i个物品填了j的体积,有s1个物品选为为必选,s2个物品选为必不选的方案数(0<=s1,s2<=2),则有转移方程dp[i][j][s1][s2] = dp[i - 1][j][s1][s2] + dp[i - 1][j - a[i]][s1 - 1][s2] + dp[i - 1][j][s1][s2 - 1],边界条件为dp[0][0][0][0] = 1,时间复杂度O(NS*3^2)。
Up Sky,Mr.Zhu
我们把所有长度相同的回文串插入到同一个可持久化字典树里面
然后
在线查询[L,R] 特征串为T 长度为1 的回文串的数量
在线查询[L+1,R] 特征串为T 长度为2 的回文串的数量
在线查询[L+2,R] 特征串为T 长度为3 的回文串的数量
......
在线查询[L+9,R] 特征串为T 长度为10 的回文串的数量
Windows 10
您可能是正版Windows 10的受害者
直接贪心就好
比较直观的看法是使劲往下降,然后升回来
或者使劲往下降然后停顿然后再使劲往下降。。。
于是就能将问题变成一个子问题,然后dfs就好
需要注意的是由于按up键也可以打断连续向下的功效
所以应该记录停顿了几次,以后向上的时候用停顿补回来
Zhu’s Math Problem
方法1 :暴力小数据,暴力解方程,即假设答案是关于A,B,C,D的小于等于k次的多项式方程,然后解即可
方法2 :分类讨论,比较烦
方法3 :考虑数位DP,从高位到低位依次放数字即可,加上状态表示a+c-b-d,a+d-b-c即可
ps:如果对本场题目质量有什么意见,请猛戳这个传送门,欢迎大家前来吐槽
2016 Multi-University Training Contest 6 solutions BY UESTC的更多相关文章
- 2016 Al-Baath University Training Camp Contest-1
2016 Al-Baath University Training Camp Contest-1 A题:http://codeforces.com/gym/101028/problem/A 题意:比赛 ...
- 2015 Multi-University Training Contest 6 solutions BY ZJU(部分解题报告)
官方解题报告:http://bestcoder.hdu.edu.cn/blog/2015-multi-university-training-contest-6-solutions-by-zju/ 表 ...
- 2016 Multi-University Training Contest 10 solutions BY BUPT
1001. 一个数组上的两个区间求中位数,可以通过分类讨论直接找到中位数,复杂度O(1).不过本题数据较小,优美的log(n)也可过. 1002. 直接求得阴影面积表达式即可. 1003. 二分完成时 ...
- 2016 Multi-University Training Contest 9 solutions BY 金策工业综合大学
A Poor King Tag: Reversed BFS Preprocessing is needed to calculate answers for all positions (states ...
- 2016 Multi-University Training Contest 8 solutions BY 学军中学
1001: 假设有4个红球,初始时从左到右标为1,2,3,4.那么肯定存在一种方案,使得最后结束时红球的顺序没有改变,也是1,2,3,4. 那么就可以把同色球都写成若干个不同色球了.所以现在共有n个颜 ...
- 2016 Multi-University Training Contest 7 solutions BY SYSU
Ants 首先求出每个点的最近点. 可以直接对所有点构造kd树,然后在kd树上查询除本身以外的最近点,因为对所有点都求一次,所以不用担心退化. 也可以用分治做,同样是O(NlogN)的复杂度. 方法是 ...
- 2016 Multi-University Training Contest 5 solutions BY ZSTU
ATM Mechine E(i,j):存款的范围是[0,i],还可以被警告j次的期望值. E(i,j) = \(max_{k=1}^{i}{\frac{i-k+1}{i+1} * E(i-k,j)+\ ...
- 2016 Multi-University Training Contest 4 solutions BY FZU
1001 Another Meaning 对于这个问题,显然可以进行DP: 令dp[i]表示到i结尾的字符串可以表示的不同含义数,那么考虑两种转移: 末尾不替换含义:dp[i - 1] 末尾替换含义: ...
- 2016 Multi-University Training Contest 3 solutions BY 绍兴一中
1001 Sqrt Bo 由于有\(5\)次的这个限制,所以尝试寻找分界点. 很容易发现是\(2^{32}\),所以我们先比较输入的数字是否比这个大,然后再暴力开根. 复杂度是\(O(\log\log ...
随机推荐
- B/S网络架构
B/S基于统一的应用层协议HTTP来交互数据,目前的B/S网络架构大多采用如图所示的架构设计,既要满足海量用户访问请求,又要保持用户请求的快速响应. 当一个用户在浏览器输入www.taobao.com ...
- https为数据传输保驾护航
为什么要使用https 谷歌官网已宣布,今年7月起,Chrome浏览器的地址栏将把所有HTTP标示为不安全网站. 在客户端与服务器数据传输过程中,http协议传输是不安全的,一般情况下,http协议的 ...
- function calling convention
这是2013年写的一篇旧文,放在gegahost.net上面 http://raison.gegahost.net/?p=31 February 19, 2013 function calling c ...
- 飞秋软件的OA消息接口服务器
由于单位使用了飞秋,同时也使用了OA,但OA的消息系统没有飞秋方便,所以大多数人还是在用飞秋沟通.但审批等流程又在OA上,所以做了个消息接口服务器,提取OA消息自动发送到飞秋上,大大方便了工作. 正好 ...
- PHP环境搭建Zend Studio 10.6.2+WampServer2.4
址:http://www.zend.com/en/products/studio/downloads直接下载地址:http://downloads.zend.com/studio-eclipse/10 ...
- type和isinstance区别
type只能对类型做直接的判断,主要用于获取未知变量的类型. 在程序中几乎很少用到type. 而isinstance功能比type更强,可以对子类型做出推理判断. isinstance主要用于判断A是 ...
- maven打包的含义
我们在用maven构建java项目时,最常用的打包命令有mvn package.mvn install.deploy,这三个命令都可完成打jar包或war(当然也可以是其它形式的包)的功能,但这三个命 ...
- Linux之vi(vim)编辑器
命令行模式:默认进来就是命令行模式 ,可以使用很多命令:比如i . a . o i:光标前面输入内容 a:光标的下一位字符开始输入内容 o:光标的下一行开始输入内容 编辑模式: 退出编辑模式:键盘上e ...
- JavaSE-26 Swing
学习要点 关于Swing Swing容器组件 Swing布局管理器 Swing组件 Swing菜单组件 关于Swing Swing和AWT都是java开发图形用户界面的工具包. AWT:早期Java版 ...
- Vue之数据绑定
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...