2016弱校联盟十一专场10.3

传送门

B. Help the Princess!

  • 计算皇后和士兵谁先到达出口即可。

C. We don't wanna work!

  • 两个优先队列维护工作中积极性最小的,空闲中积极性最高的。
  • 两个队列倒来倒去就可以了。

D. Parentheses

  • 考虑最坏情况)))...(((。
  • 假设有\(x\)个右括号,那么这种情况需要\(\frac{x(x+1)}{2}\)次操作。
  • 将第一个左括号移动每往左移动一个位置,则需要的操作次数减一,直到移动到最左边则变成\(x-1\)的子问题。
  • 那么只要找到第一个\(x\)使得方案数大于等于\(n\)即可,根据差值移动第一个左括号。

E. Similarity of Subtrees

  • hash

F. Escape from the Hell

  • 除了最后一瓶饮料外,其余时候必然是喝\(A_i-B_i\)大的饮料喝。
  • 首先按照\(A_i-B_i\)从大到小排序,假设喝到第\(i\)瓶,当前爬的高度为\(H\),罪犯的高度为\(C\),显然\(H \gt C\),否则直接结束了。
  • 在当前情况下,可以喝\(i+1\cdots n\)中\(A_j\)最大的尝试一步跳上去,否则需要调整\(1\cdots i\)中\(A_j\)较大的一瓶放到当前喝,但是需要保证总体下降高度不会被罪犯抓到。
  • 假设我们把\(j\)移动到最后,那么需要满足\[d_1+\cdots + d_{j-1} + d_{j + 1} +\cdots + d_k - c_1-c_2-\cdots - c_{k-1} \gt 0\]\(any\ k\in[j+1,i],d_i=A_i-B_i\)
  • 整理下式子可得\[d_1+\cdots + d_k - c_1-\cdots - c_{k-1} \gt d_j\]
  • 可以发现左边式子与\(j\)没有关系,所以对于任意的\(j\)来说,如果均满足式子说明位置\(j\)是可以往后移动的。
  • 假设我们已经得到了在\(i-1\)的可移动位置,对于左边的式子新增了\[d_1+\cdots + d_i - c_1-\cdots - c_{i-1}\]也就是说我们只要把之前的可移动位置的\(d\)值与当前值比较即可,比较的顺序的肯定是从小到大,所以需要一个优先队列,然后用个线段树维护下最大\(A\)值(当然可以不用线段树,只是线段树的时间复杂度也够就随意写了)。

G. Share the Ruins Preservation

  • 显然凸包会发生的变化的时候是在划分线在两个\(x\)坐标之间。
  • 那么我们将划分线按照顺序扫过去,然后维护凸包。
  • 但是,如果同时维护两个凸包显然很难,而维护一个凸包,就简单得多。
  • 正向扫一遍,维护一个凸包的面积,反向再扫一遍,维护另一个凸包的面积,最后枚举下划分线的位置然后计算面积和即可。
  • 维护凸包的做法,维护上凸壳和下凸壳及其面积。

JAG Practice Contest for ACM-ICPC Asia Regional 2016的更多相关文章

  1. hduoj 4710 Balls Rearrangement 2013 ACM/ICPC Asia Regional Online —— Warmup

    http://acm.hdu.edu.cn/showproblem.php?pid=4710 Balls Rearrangement Time Limit: 6000/3000 MS (Java/Ot ...

  2. hduoj 4708 Rotation Lock Puzzle 2013 ACM/ICPC Asia Regional Online —— Warmup

    http://acm.hdu.edu.cn/showproblem.php?pid=4708 Rotation Lock Puzzle Time Limit: 2000/1000 MS (Java/O ...

  3. hduoj 4715 Difference Between Primes 2013 ACM/ICPC Asia Regional Online —— Warmup

    http://acm.hdu.edu.cn/showproblem.php?pid=4715 Difference Between Primes Time Limit: 2000/1000 MS (J ...

  4. hduoj 4712 Hamming Distance 2013 ACM/ICPC Asia Regional Online —— Warmup

    http://acm.hdu.edu.cn/showproblem.php?pid=4712 Hamming Distance Time Limit: 6000/3000 MS (Java/Other ...

  5. hduoj 4706 Herding 2013 ACM/ICPC Asia Regional Online —— Warmup

    hduoj 4706 Children's Day 2013 ACM/ICPC Asia Regional Online —— Warmup Herding Time Limit: 2000/1000 ...

  6. hduoj 4707 Pet 2013 ACM/ICPC Asia Regional Online —— Warmup

    http://acm.hdu.edu.cn/showproblem.php?pid=4707 Pet Time Limit: 4000/2000 MS (Java/Others)    Memory ...

  7. hduoj 4706 Children's Day 2013 ACM/ICPC Asia Regional Online —— Warmup

    http://acm.hdu.edu.cn/showproblem.php?pid=4706 Children's Day Time Limit: 2000/1000 MS (Java/Others) ...

  8. 2016 ACM/ICPC Asia Regional Shenyang Online 1003/HDU 5894 数学/组合数/逆元

    hannnnah_j’s Biological Test Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 131072/131072 K ...

  9. 2016 ACM/ICPC Asia Regional Qingdao Online 1001/HDU5878 打表二分

    I Count Two Three Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others ...

  10. 2016 ACM/ICPC Asia Regional Shenyang Online 1009/HDU 5900 区间dp

    QSC and Master Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others) ...

随机推荐

  1. SPOJ SUBLEX 求第k小子串

    题目大意: 对于一个给定字符串,找到其所有不同的子串中排第k小的子串 先构建后缀自动机,然后我们可以将整个后缀自动机看做是一个DAG图,那么我们先进行拓扑排序得到 *b[N] 对于每个节点记录一个sc ...

  2. Android 自定义属性

    values新建一个attrs.xml<resource>    <declare-styleable name = "MyTextView">    &l ...

  3. iOS 引导页组件 HcdGuideView

    HcdGuideView HcdGuideView让你为你的app添加一个漂亮的启动页变得简单. 要求 Xcode 6 or higher iOS 7.0 or higher ARC 安装方法 手动安 ...

  4. linux中/etc/fstab文件删除或修改了,导致系统无法启动

    在linux中,/etc/fstab文件是磁盘挂载的问题,若该文件不小心给修改了,或者被删除了,那么就会导致系统无法重启.因为/etc/fstab文件是记录磁盘挂载的信息,若该文件出现了问题,那么对应 ...

  5. 修改Oracle数据库的字符集为UTF-8

    1.改客户端字符集:通过WINDOWS的运行菜单运行Regedit,修改注册表 Start -> Run -> Rededit <-| Under registry Editor - ...

  6. (转)SQLLite数据操作

    原文:http://dreamboy.blog.51cto.com/3180937/722352 SQLLite数据操作 一般数据采用的固定的静态数据类型,而SQLite采用的是动态数据类型,会根据存 ...

  7. Design Patterns----简单的工厂模式

    实例: 实现一个简单的计算器.实现加减乘除等操作.. operator.h 文件 // copyright @ L.J.SHOU Mar.13, 2014 // a simple calculator ...

  8. 子线程简单实现(ZT)

    4.0以后的android在主线程中不可以直接访问网络,就得用以下的方法来搞,嘿嘿 在主函数中发送一个空的消息 : new Thread(){ @Override public void run()  ...

  9. Objective-C determine data network type of the iOS device

    Im on an application that receive data from server, the problem is when user connect to cellular dat ...

  10. flexible.js

    关于rem小数点 flexible.js http://blog.163.com/hongshaoguoguo@126/blog/static/180469812015219101346170/ ht ...