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
不会

原文地址:https://www.cnblogs.com/GerynOhenz/p/8530564.html