隐藏
Bill Yang's Blog

路终会有尽头,但视野总能看到更远的地方。

0%

题目大意

    SD0062 号选手小 Q 同学为了偷到 SDOI7012 的试题,利用高超的黑客技术潜入了 SDOI 出题组的内联网的中央控制系统,然而这个内联网除了配备有中央控制系统,还为内联网中的每条单向网线设定了特殊的通信口令,这里通信口令是一个字符串,不同网线的口令可能不同。这让小 Q 同学感觉有些棘手, 不过这根本难不倒他,很快他就分析出了整个内联网的结构。

    内联网中有$n$个节点(从$1$到$n$标号)和$m$条单向网线,中央控制系统在第$1$个节点上,每条网线单向连接内联网中的某两个节点,从$1$号节点出发经过若干条网线总能到达其他任意一个节点。每个节点都可以运行任意的应用程序,应用程序会携带一条通信口令,当且仅当程序的口令与网线的口令相同时,程序才能通过这条网线到达另一端的节点继续运行,并且通过每条网线都需要花费一定的时间。

    每个应用程序可以在任意一个节点修改通信口令,修改通信口令花费的时间可以忽略不计,但是为了减小修改量,需要先调用一个子程序来计算当前程序的口令和网线的口令的最长公共前缀(记其长度为$\text{len}$),由于获取网线的口令的某个字符会比较耗时,调用一次这个子程序需要花费$\text{len}$个单位时间。

    除此之外,小 Q 同学还在中央控制系统中发现了一个字典,每条网线的口令都是字典中的某个字符串。具体来说,这个字典是一棵$k$个节点(从$1$到$k$标号)的有根树,其中根是第$1$个节点,每条边上有一个字符,字符串$S$在字典中当且仅当存在某个点$u$使得从根节点出发往下走到$u$的这条路径上的字符顺次拼接构成$S$。

    现在小 Q 同学在$1$号节点同时开启了$n-1$个应用程序,这些应用程序同时运行且互不干扰,每个程序的通信口令都为空,他希望用最短的时间把这些程序分别发送到其他节点上,你需要帮小 Q 同学分别计算出发送到第$i(=2,3,\ldots,n)$个节点的程序完成任务的最短时间。

阅读全文 »

题目大意

    这是一枚平凡的骰子。它是一个均质凸多面体,表面有$n$个端点,有$f$个面,每一面是一个凸多边形,且任意两面不共面。将这枚骰子抛向空中,骰子落地的时候不会发生二次弹跳(这是一种非常理想的情况)。你希望知道最终每一面着地的概率。每一面着地的概率可以用如下的方法计算:我们假设$O$为骰子的重心,并以$O$为球心,做半径为$1$的单位球面(记为$S$)。我们知道$S$的表面积即单位球的表面积,为$4\pi$,这里$\pi$为圆周率。对于骰子的某一面$C$来说,球面$S$上存在一块区域$T$满足:当下落时若骰子所受重力方向与$S$的交点落在$T$中,则$C$就是最终着地的一面。那么$C$着地的概率为区域$T$的面积除以$4\pi$。为了能更好地辅助计算球面上一块区域的面积,我们给出单位球面$S$上三角形的面积计算公式。考虑单位球面$S$上的三个两两相交的大圆,交点依次为$A$,$B$和$C$。则曲面三角形$ABC$的面积为$\text{Area}(ABC)=\alpha+\beta+\gamma-\pi$,其中$\alpha$,$\beta$和$\gamma$分别对应了三个二面角的大小。如下图所示。

    我们保证:每一面着地的时候,重心的垂心都恰好在这一面内。也就是说不会出现摆不稳的情况。

阅读全文 »

题目大意

    T国有$N$个城市,用若干双向道路连接。一对城市之间至多存在一条道路。
    在一次洪水之后,一些道路受损无法通行。虽然已经有人开始调查道路的损毁情况,但直到现在几乎没有消息传回。
    幸运的是,此前T国政府调查过每条道路的强度,现在他们希望只利用这些信息估计灾情。具体地,给定每条道路在洪水后仍能通行的概率,请计算仍能通行的道路恰有$n-1$条,且能联通所有城市的概率。

阅读全文 »

题目大意

    桌子上有$2n$堆石子,第$2i-1$堆与第$2i$堆配对。两个人轮流进行操作,每次一个人可以选择一堆石子移走,然后分割其配对的石子,重新形成两堆,所有堆的石子数必须保证大于$0$。
    若其中一方不能再操作时,即石子数全为$1$,该玩家输掉游戏,询问先手是否有必胜策略。

阅读全文 »