Zsnuo's Blog

Living is do or die.


  • 首页

  • 关于

  • 标签

  • 友链

  • 归档

  • 搜索

「LOJ 2134」「NOI2015」小园丁与老司机

发表于 2018-06-16

小园丁 Mr. S 负责看管一片田野,田野可以看作一个二维平面。田野上有 nnn 棵许愿树,编号 1,2,3,…,n1,2,3, \ldots ,n1,2,3,…,n ,每棵树可以看作平面上的一个点,其中第 iii 棵树(1≤i≤n1 \leq i \leq n1≤i≤n)位于坐标 (xi,yi)(x_i,y_i)(xi​,yi​) 。任意两棵树的坐标均不相同。

老司机 Mr. P 从原点 (0,0)(0,0)(0,0) 驾车出发,进行若干轮行动。每一轮,Mr. P 首先选择任意一个满足以下条件的方向:

  • 为左、右、上、左上 45∘45^{\circ}45∘ 、右上 45∘45^{\circ}45∘ 五个方向之一。
  • 沿此方向前进可以到达一棵他尚未许愿过的树。

完成选择后,Mr. P 沿该方向直线前进,必须到达该方向上距离最近的尚未许愿的树,在树下许愿并继续下一轮行动。如果没有满足条件的方向可供选择,则停止行动。他会采取最优策略,在尽可能多的树下许愿。若最优策略不唯一,可以选择任意一种。

阅读全文 »

「LOJ 2133」「NOI2015」品酒大会

发表于 2018-06-16

一年一度的「幻影阁夏日品酒大会」隆重开幕了。大会包含品尝和趣味挑战两个环节,分别向优胜者颁发「首席品酒家」和「首席猎手」两个奖项,吸引了众多品酒师参加。

在大会的晚餐上,调酒师 Rainbow 调制了 nnn 杯鸡尾酒。这 nnn 杯鸡尾酒排成一行,其中第 iii 杯酒 (1≤i≤n1 \leq i \leq n1≤i≤n) 被贴上了一个标签 sis_isi​ ,每个标签都是 262626 个小写英文字母之一。设 Str(l,r)\mathrm{Str}(l, r)Str(l,r) 表示第 lll 杯酒到第 rrr 杯酒的 r−l+1r-l+1r−l+1 个标签顺次连接构成的字符串。若 Str(p,p0)=Str(q,q0)\mathrm{Str}(p, p_0) = \mathrm{Str}(q, q_0)Str(p,p0​)=Str(q,q0​) ,其中 1≤p≤p0≤n1 \leq p \leq p_0 \leq n1≤p≤p0​≤n , 1≤q≤q0≤n1 \leq q \leq q_0 \leq n1≤q≤q0​≤n , p≠qp \neq qp≠q , p0−p+1=q0−q+1=rp_0-p+1=q_0-q+1=rp0​−p+1=q0​−q+1=r ,则称第 ppp 杯酒与第 qqq 杯酒是「 rrr 相似」的。当然两杯「 rrr 相似」( r>1r > 1r>1 )的酒同时也是「 111 相似」、「 222 相似」、 $\cdots $ 、「 r−1r-1r−1 相似」的。特别地,对于任意的 1≤p,q≤n1 \leq p, q \leq n1≤p,q≤n , p≠qp \neq qp≠q ,第 ppp 杯酒和第 qqq 杯酒都是「 000 相似」的。

在品尝环节上,品酒师 Freda 轻松地评定了每一杯酒的美味度,凭借其专业的水准和经验成功夺取了「首席品酒家」的称号,其中第 iii 杯酒 ( 1≤i≤n1 \leq i \leq n1≤i≤n ) 的美味度为 aia_iai​ 。现在 Rainbow 公布了挑战环节的问题:本次大会调制的鸡尾酒有一个特点,如果把第 ppp 杯酒与第 qqq 杯酒调兑在一起,将得到一杯美味度为 ap⋅aqa_p \cdot a_qap​⋅aq​ 的酒。现在请各位品酒师分别对于 r=0,1,2,⋯n−1r=0,1,2,\cdots n-1r=0,1,2,⋯n−1 , 统计出有多少种方法可以选出两杯「 rrr 相似」的酒,并回答选择两杯「 rrr 相似」的酒调兑可以得到的美味度的最大值。

阅读全文 »

「LOJ 2132」「NOI2015」荷马史诗

发表于 2018-06-16

Allison 最近迷上了文学。她喜欢在一个慵懒的午后,细细地品上一杯卡布奇诺,静静地阅读她爱不释手的《荷马史诗》。但是由《奥德赛》和《伊利亚特》组成的鸿篇巨制《荷马史诗》实在是太长了,Allison 想通过一种编码方式使得它变得短一些。

一部《荷马史诗》中有 nnn 种不同的单词,从 111 到 nnn 进行编号。其中第 iii 种单词出现的总次数为 wiw_iwi​​​ 。Allison 想要用 kkk 进制串 sis_isi​ 来替换第 iii 种单词,使得其满足如下要求: 对于任意的 1≤i,j≤n, i≠j1 \leq i,j \leq n, \ i \neq j1≤i,j≤n, i≠j,都有:sis_isi​ 不是 sjs_jsj​ 的前缀。

现在 Allison 想要知道,如何选择 sis_isi​ ,才能使替换以后得到的新的《荷马史诗》长度最小。在确保总长度最小的情况下,Allison 还想知道最长的 sis_isi​ 的最短长度是多少?

阅读全文 »

「LOJ 2131」「NOI2015」寿司晚宴

发表于 2018-06-16

为了庆祝 NOI 的成功开幕,主办方为大家准备了一场寿司晚宴。小 G 和小 W 作为参加 NOI 的选手,也被邀请参加了寿司晚宴。

在晚宴上,主办方为大家提供了 n−1n-1n−1 种不同的寿司,编号 1,2,3,⋯,n−11,2,3,\cdots ,n-11,2,3,⋯,n−1 ,其中第 iii 种寿司的美味度为 i+1i+1i+1 (即寿司的美味度为从 222 到 nnn )。

现在小 G 和小 W 希望每人选一些寿司种类来品尝,他们规定一种品尝方案为不和谐的当且仅当:小 G 品尝的寿司种类中存在一种美味度为 xxx 的寿司,小 W 品尝的寿司中存在一种美味度为 yyy 的寿司,而 xxx 与 yyy 不互质。

现在小 G 和小 W 希望统计一共有多少种和谐的品尝寿司的方案(对给定的正整数 ppp 取模)。注意一个人可以不吃任何寿司。

阅读全文 »

「康复训练」6月15日联考

发表于 2018-06-15

NOI2018 前的联考第二场。

阅读全文 »

「LOJ 2130」「NOI2015」软件包管理器

发表于 2018-06-15

Linux 用户和 OSX 用户一定对软件包管理器不会陌生。通过软件包管理器,你可以通过一行命令安装某一个软件包,然后软件包管理器会帮助你从软件源下载软件包,同时自动解决所有的依赖(即下载安装这个软件包的安装所依赖的其它软件包),完成所有的配置。Debian/Ubuntu 使用的 apt-get,Fedora/CentOS 使用的 yum,以及 OSX 下可用的 Homebrew 都是优秀的软件包管理器。

你决定设计你自己的软件包管理器。不可避免地,你要解决软件包之间的依赖问题。如果软件包 AAA 依赖软件包 BBB,那么安装软件包 AAA 以前,必须先安装软件包 BBB。同时,如果想要卸载软件包 BBB,则必须卸载软件包 AAA。现在你已经获得了所有的软件包之间的依赖关系。而且,由于你之前的工作,除 000 号软件包以外,在你的管理器当中的软件包都会依赖一个且仅一个软件包,而 000 号软件包不依赖任何一个软件包。依赖关系不存在环,当然也不会有一个软件包依赖自己。

现在你要为你的软件包管理器写一个依赖解决程序。根据反馈,用户希望在安装和卸载某个软件包时,快速地知道这个操作实际上会改变多少个软件包的安装状态(即安装操作会安装多少个未安装的软件包,或卸载操作会卸载多少个已安装的软件包),你的任务就是实现这个部分。注意,安装一个已安装的软件包,或卸载一个未安装的软件包,都不会改变任何软件包的安装状态,即在此情况下,改变安装状态的软件包数为 000。

阅读全文 »

「LOJ 2129」「NOI2015」程序自动分析

发表于 2018-06-14

在实现程序自动分析的过程中,常常需要判定一些约束条件是否能被同时满足。

考虑一个约束满足问题的简化版本:假设 x1,x2,x3,…x_1, x_2, x_3,\ldotsx1​,x2​,x3​,… 代表程序中出现的变量,给定 nnn 个形如 xi=xjx_i=x_jxi​=xj​ 或 xi≠xjx_i \neq x_jxi​≠xj​ 的变量相等/不等的约束条件,请判定是否可以分别为每一个变量赋予恰当的值,使得上述所有约束条件同时被满足。现在给出一些约束满足问题,请分别对它们进行判定。

阅读全文 »

「LOJ 2086」「NOI2016」区间

发表于 2018-06-14

在数轴上有 nnn 个闭区间 [l1,r1],[l2,r2],...,[ln,rn][l_1,r_1],[l_2,r_2],...,[l_n,r_n][l1​,r1​],[l2​,r2​],...,[ln​,rn​] 。现在要从中选出 mmm 个区间,使得这 mmm 个区间共同包含至少一个位置。换句话说,就是使得存在一个 xxx,使得对于每一个被选中的区间 [li,ri][l_i,r_i][li​,ri​] 。

对于一个合法的选取方案,它的花费为被选中的最长区间长度减去被选中的最短区间长度。区间 [li,ri][l_i,r_i][li​,ri​] 的长度定义为 ri−lir_i-l_iri​−li​ ,即等于它的右端点的值减去左端点的值。

求所有合法方案中最小的花费。如果不存在合法的方案,输出 −1-1−1 。

阅读全文 »

「LOJ 2085」「NOI2016」循环之美

发表于 2018-06-14

牛牛是一个热爱算法设计的高中生。在他设计的算法中,常常会使用带小数的数进行计算。牛牛认为,如果在 kkk 进制下,一个数的小数部分是纯循环的,那么它就是美的。

现在,牛牛想知道:对于已知的十进制数 nnn 和 mmm,在 kkk 进制下,有多少个数值上互不相等的纯循环小数,可以用分数 xy\frac{x}{y}yx​ 表示,其中 1≤x≤n,1≤y≤m1\le x\le n,1\le y\le m1≤x≤n,1≤y≤m ,且 x,yx,yx,y 是整数。

一个数是纯循环的,当且仅当其可以写成以下形式:a.c1˙c2c3⋯cp−1cp˙a.\dot{c_1}c_2 c_3\cdots c_{p-1}\dot{c_p}a.c1​˙​c2​c3​⋯cp−1​cp​˙​ 。
​​
其中,aaa 是一个整数, p≥1p\ge 1p≥1 ;对于 1≤i≤p1\le i\le p1≤i≤p ,cic_ici​ 是 kkk 进制下的一位数字。

需要特别注意的是,我们认为一个整数是纯循环的,因为它的小数部分可以表示成 000 的循环或是 k−1k-1k−1 的循环;而一个小数部分非 000 的有限小数不是纯循环的。

阅读全文 »

「LOJ 2084」「NOI2016」网格

发表于 2018-06-14

跳蚤国王和蛐蛐国王在玩一个游戏。

他们在一个 nnn 行 mmm 列的网格上排兵布阵。其中的 ccc 个格子中 (0≤c≤nm)(0 \leq c \leq nm)(0≤c≤nm) ,每个格子有一只蛐蛐,其余的格子中,每个格子有一只跳蚤。

我们称占据的格子有公共边的两只跳蚤是相邻的。我们称两只跳蚤是连通的,当且仅当这两只跳蚤相邻,或存在另一只跳蚤与这两只跳蚤都连通。

现在,蛐蛐国王希望,将某些(零个,一个或多个)跳蚤替换成蛐蛐,使得在此之后存在至少两只跳蚤不连通。你需要首先判断蛐蛐国王的希望能否被达成。如果能够达成,你还需要最小化被替换的跳蚤的个数。

阅读全文 »
123…7
Zsnuo

Zsnuo

67 日志
51 标签
© 2019 Zsnuo
由 Hexo 强力驱动
|
主题 — NexT.Pisces v5.1.4