Asia-Tsukuba 2017

Asia-Tsukuba 2017

Problem A. Secret of Chocolate Poles

题目描述:有一个高度为\(l\)的堆,有三种盘:白色的厚度为\(1\)的盘,黑色的厚度为\(1\)的盘,黑色的厚度为\(k\)的盘,现在将盘放入堆中,满足:1、堆中至少有一个盘,2、高度不超过\(l\),3、最上方与最下方的盘是黑色,4、盘要黑白相间。问有多少种方案。

solution
dp

时间复杂度:\(O(l)\)

Problem B. Parallel Lines

题目描述:有\(n\)个点,将点两个两个配对,配对的点连成线段,问配对出的点最多有多少对平行的线段。

solution
暴力枚举配对方案,再暴力数出有多少对平行的线段。

时间复杂度:\(O(15!! \cdot 16^2)\)

Problem C. Medical Checkup

题目描述:有\(n\)个人,无限台检测器,每个人必须按顺序经过检测器,第\(i\)个人会在每台检测器前检查\(a_i\)分钟,一台检测器每次只能检测一个人,其他人只能等,问\(T\)时刻时,每个人在哪台机器前(包括正在检测或等待)。

solution
对于\(i\),若对于任何的\(j<i\),满足\(a_j<a_i\),那么这个人是重要的,这些人检测过程不受其他人的影响(除了在第一台机器前的等待),其他人会跟在重要的人的后面。看图比较方便。

时间复杂度:\(O(n)\)

Problem D. Making Perimeter of the Convex Hull Shortest

Problem E. Black or White

题目描述:有一个01串,有一个操作:每次选择连续一段区间,将这段区间变成01,问最少多少次操作使得初始的01串变成指定的01串。

solution
显然,选择的区间不会相交,只会相离或者相互包含,相离的可以dp,相包含的区间是有规律的,当一个区间变成同一个数字时,将这段区间变成目标区间的最少操作就是单段单段修改数字。 可以用单调队列来加速dp

时间复杂度:\(O(n)\)

Problem F. Pizza Delivery

题目描述:给出一个\(n\)个点的有向图,每次将图中的一条边换向,问点\(1\)到点\(2\)点距离是否有变短,或是没变,或是变长。

solution
预处理出\(1\)到每个点的距离以及每个点到\(2\)的距离,从\(1\)\(2\)跑一次最短路径,然后将属于最短路径的边找出来,得出来的图是一个DAG,拓扑排序一下,就可以知道哪些是桥。有了这些预处理后,每一个答案都很容易得到。

时间复杂度:\(O(nlogn)\)

Problem G. Rendezvous on a Tetrahedron

题目描述:有一个正四面体,有两只蚂蚁在\(A\)出发,对着某条边以一定角度各走一段距离,问最后它们会不会在同一个面。

solution
恶心的计算。

时间复杂度:\(O(1)\)

Problem H. Homework

Problem I. Starting a Scenic Railroad Service

题目描述:有\(n\)个人坐火车,每个人有一个起点和终点,\(n\)个人按顺序预定座位,方案一:每个人预定时能选一个空位,如果可以,这个人会优先选择别人没坐过的位置。方案二:每个人预定的位置由售票员决定。问两种方案分别最少需要多少座位。

solution
对于第一种方案,假设\(f(p)\)表示第\(p\)个人的区间与多少个人的区间相交,答案就是\(max(f(p)+1)\)
对于第二种方案,答案就是区间最多有多少人覆盖。

时间复杂度:\(O(n)\)

Problem J. String Puzzle

Problem K. Counting Cycles

题目描述:给出一个图,问图中有多少个简单环。

solution
不会

posted @ 2018-03-08 20:11  GerynOhenz  阅读(643)  评论(0编辑  收藏  举报