1001.

一个数组上的两个区间求中位数,可以通过分类讨论直接找到中位数,复杂度O(1).不过本题数据较小,优美的log(n)也可过.

1002.

直接求得阴影面积表达式即可.

1003.

二分完成时间判是否可行.不妨设A的deadline比B的deadline短,对于一次判断内,由于总时间固定,两类任务完成的总时间固定,则可用来练习的时间也固定,首先找到可完成的收益最大的A类任务,若找不到则在B里找,此时若B类的收益还不如去练习,而且练习时间有剩余的话,就先去练习.A类任务若能做则不需要考虑收益,因为要优先保证A的deadline,先练后练对最优解无影响.

1004.

对于第i个数,如果i mod k == 0, 说明它是第一轮出队的,若i mod k != 0,那么i在一轮之后等同于一开始i-i/k的状态,则一遍地推可求得所有数是第几轮第几个出队的,预处理出出队序列O(1)回答查询即可.

1005.

为了使得花费最小,对于一段路来说,它的打开时间就是最早一次被用到到最后一次被用到这段时间.对于每一个操作a,b,在两个点上打上标记,从左至右做一遍扫描,可知道每段路当前有哪些操作会用到它,取出最大值和最小值,在这两个位置打上标记,最后对结果再进行一次扫描即可.

1006.

由于数据限制,只有竖向与横向的线段才会产生交点,所以先对横向线段按x端点排序,每次加入一个线段,将其对应的y坐标位置+1,当出现一个竖向线段时,查询它的两个y端点之间的和即为交点个数.

1007.

用dp[i][j][d]表示构建好i个字符后,最后面的最长公共长度为j,d表示之前答没达到过m,后一状态有j+1,0两种,O(1)递推即可.由于n很大m很小,可以用矩阵快速幂处理.复杂度O(m^3logn)

1008.

直接搜索的状态空间有24(旋转) \(\times\) 2(镜面)\(\times\) 6!(颜色),乘上O(24)的验证,单组数据复杂度到了O(1e6),经过一些很麻烦的优化后能降到O(1e3)左右,差不多能AC.
标解是hash,根据每种颜色的四个位置,求出C(4,2)个距离,共6\(\times\)C(n,2)个距离,排序之后能排除颜色交换的干扰,若两个状态的hash值,判定为同构,否则不同构.用标程和暴搜对拍了5e6组单组数据,没有diff.验证了可行性.

1009.

必胜条件是所有的石子的sg数模三异或为0,如7,11,13,14为0111,1011,1101,1110
然后可以枚举一个石子的后继然后再再其他石子的后继看是否可行.
复杂度是预处理每个石子走了后继以后的变化O(m)并将其记录,可用map或者hash 然后枚举一个石子的后继然后再在其他的变化中查找能让它变0的方法数,复杂度是O(M$\times $M),如果用map再多一个log(m).

1010.

考虑到操作数M较小而树较大,所以可以对操作数进行计算。
假设初始时树上的节点的最大值为x,则在操作完成后的树上的节点的最大值不超过x+M,不低于x,所以可以枚举最终状态的值再计算概率。
设dp[i][k]表示操作i所作用的那棵子树v在操作完成后最大值不超过x+k的概率,maxtree(v) 为该子树初始时的最大值
那么可得递推式
dp[i][k]=p[i] \(\times\) π(dp[j][k-1])+(1-p[i]) \(\times\) π(dp[j][k-1]) j为i的同一棵子树上的后继操作( maxtree(v)<=maxtree(root)+k);
or dp[i][k]=0;(maxtree(v)>maxtree(root)+k);
注意到子树的最大值会比maxtree(root)小很多,因此k可能为负, 所以要加上偏移量M
为了便于计算,添加作用于根节点的概率为0的操作(root,0)
然后预处理出每个操作u的后继操作即可。
先给每一个树标记上dfs的入序indfn[v]和出序outdfn[v],那么作用在v节点上的操作的影响区间就是[indfn[v],outdfn[v]], 所以计算出区间之间的包含关系即可
最后结果为Σ(maxtree(root)+k) \(\times\) (dp[0][k+MAX_M]-dp[0][k-1+MAX_M]);
总复杂度O(M \(\times\) M+N);

1011.

直接模拟即可.

2016 Multi-University Training Contest 10 solutions BY BUPT的更多相关文章

  1. 2016 Multi-University Training Contest 10

    solved 7/11 2016 Multi-University Training Contest 10 题解链接 分类讨论 1001 Median(BH) 题意: 有长度为n排好序的序列,给两段子 ...

  2. 2016 Al-Baath University Training Camp Contest-1

    2016 Al-Baath University Training Camp Contest-1 A题:http://codeforces.com/gym/101028/problem/A 题意:比赛 ...

  3. hdu 5416 CRB and Tree(2015 Multi-University Training Contest 10)

    CRB and Tree                                                             Time Limit: 8000/4000 MS (J ...

  4. 2015 Multi-University Training Contest 10 hdu 5406 CRB and Apple

    CRB and Apple Time Limit: 12000/6000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)To ...

  5. 2015 Multi-University Training Contest 10 hdu 5412 CRB and Queries

    CRB and Queries Time Limit: 12000/6000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Other ...

  6. [二分,multiset] 2019 Multi-University Training Contest 10 Welcome Party

    Welcome Party Time Limit: 4000/4000 MS (Java/Others)    Memory Limit: 524288/524288 K (Java/Others)T ...

  7. 2015 Multi-University Training Contest 10(9/11)

    2015 Multi-University Training Contest 10 5406 CRB and Apple 1.排序之后费用流 spfa用stack才能过 //#pragma GCC o ...

  8. 2015 Multi-University Training Contest 6 solutions BY ZJU(部分解题报告)

    官方解题报告:http://bestcoder.hdu.edu.cn/blog/2015-multi-university-training-contest-6-solutions-by-zju/ 表 ...

  9. 2019 Multi-University Training Contest 10

    目录 Contest Info Solutions C - Valentine's Day D - Play Games with Rounddog E - Welcome Party G - Clo ...

随机推荐

  1. SC || Chapter 3

    ┉┉∞ ∞┉┉┉┉∞ ∞┉┉┉∞ ∞┉┉ 基本数据类型 && 对象数据类型 基本数据类型(int char long) 在栈中分配内存,不可变 对象数据类型(String BigInt ...

  2. OC和C++的混用1

    //Objective-C类 /*在混用之前需要做一步非常重要的事:不是代码而是编译器选项,在做混合编译之前一定要把编译器的Compile Sources As选项改为Objective C++. 修 ...

  3. ios sinaweibo 客户端(二)

    这一篇博文讲述发微博界面的实现. 首先我们先了解一下在这个发微博界面中需要做哪些事情吧! (1) 发微博包括文字内容和微博图片,所以我们可以用一个textview来装载微博文字内容,用一个imagev ...

  4. 【数位dp】bzoj3131: [Sdoi2013]淘金

    思路比较自然,但我要是考场上写估计会写挂:好像被什么不得了的细节苟住了?…… Description 小Z在玩一个叫做<淘金者>的游戏.游戏的世界是一个二维坐标.X轴.Y轴坐标范围均为1. ...

  5. (72)zabbix监控日志文件 MySQL日志为例

    一般情况下,日志最先反映出应用当前的问题,在海量日志里面找到我们异常记录,然后记录下来,并且根据情况报警,大家可以监控系统日志.nginx.Apache.业务日志. 这边我拿常见的MySQL日志做监控 ...

  6. C#基础-数组-ArrayList

    数组ArrayList using System.Collections; //表示引入集合的命名空间 数组ArrayList容量本身是不固定的,根据存储的数据动态变化 // 声明一个ArrayLis ...

  7. Java-JFrame开发汇总整理

    Java-JFrame开发汇总整理 在CS框架下,可以通过java代码开发JFrame弹窗体的功能,即类似于QQ登录等安装在计算机中的程序,通过java开发CS中C即客户端的一般用到的知识点如下: 一 ...

  8. centos7安装pgsql及操作命令

    1.下载所需要的数据库版本https://yum.postgresql.org/repopackages.php 2.安装数据库版本包 yum install -y https://download. ...

  9. 拓展jQuery的serialize(),将form表单转化为json对象

    jQuery 的 serialize() 方法经常会报 Uncaught TypeError: JSON.serializeObject is not a function 的错误, 原装的方法真的一 ...

  10. MySQL使用yum安装

    1.下载mysql的repo源 $ wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm 2.安装mysql-comm ...