JAG Practice Contest for ACM-ICPC Asia Regional 2016
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的更多相关文章
- 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 ...
- 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 ...
- 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 ...
- 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 ...
- 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 ...
- 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 ...
- 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) ...
- 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 ...
- 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 ...
- 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) ...
随机推荐
- SPOJ SUBLEX 求第k小子串
题目大意: 对于一个给定字符串,找到其所有不同的子串中排第k小的子串 先构建后缀自动机,然后我们可以将整个后缀自动机看做是一个DAG图,那么我们先进行拓扑排序得到 *b[N] 对于每个节点记录一个sc ...
- Android 自定义属性
values新建一个attrs.xml<resource> <declare-styleable name = "MyTextView"> &l ...
- iOS 引导页组件 HcdGuideView
HcdGuideView HcdGuideView让你为你的app添加一个漂亮的启动页变得简单. 要求 Xcode 6 or higher iOS 7.0 or higher ARC 安装方法 手动安 ...
- linux中/etc/fstab文件删除或修改了,导致系统无法启动
在linux中,/etc/fstab文件是磁盘挂载的问题,若该文件不小心给修改了,或者被删除了,那么就会导致系统无法重启.因为/etc/fstab文件是记录磁盘挂载的信息,若该文件出现了问题,那么对应 ...
- 修改Oracle数据库的字符集为UTF-8
1.改客户端字符集:通过WINDOWS的运行菜单运行Regedit,修改注册表 Start -> Run -> Rededit <-| Under registry Editor - ...
- (转)SQLLite数据操作
原文:http://dreamboy.blog.51cto.com/3180937/722352 SQLLite数据操作 一般数据采用的固定的静态数据类型,而SQLite采用的是动态数据类型,会根据存 ...
- Design Patterns----简单的工厂模式
实例: 实现一个简单的计算器.实现加减乘除等操作.. operator.h 文件 // copyright @ L.J.SHOU Mar.13, 2014 // a simple calculator ...
- 子线程简单实现(ZT)
4.0以后的android在主线程中不可以直接访问网络,就得用以下的方法来搞,嘿嘿 在主函数中发送一个空的消息 : new Thread(){ @Override public void run() ...
- 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 ...
- flexible.js
关于rem小数点 flexible.js http://blog.163.com/hongshaoguoguo@126/blog/static/180469812015219101346170/ ht ...