摘要: 给出一个长度为n的排列{ai},定义一种拆分方式如下 ∙ 在排列{ai}取出一个包含a1的子序列,设为{bi}。 ∙ 剩余的元素也是一个子序列,设为{ci},其中{ci}可以为空,即前面取了{ai = bi}。 ∙ 称排列{ai}被拆分成了子序列{bi}和{ci},可见总共有2n-1种不同的拆分方式 阅读全文
posted @ 2018-07-05 10:21 大明湖畔的守望者 阅读(229) 评论(0) 推荐(0) 编辑
摘要: 在海拉尔某处存在着写有0到255(含)的整数的256块石板排成一列,每个整数恰出现一次。你拥有三种魔法,交换魔法可以交换写有a和b的石板(a和b为固定数字且不超过31,无法自选);异或魔法可以把每块石板上的数字异或你任选的一个1到255之间的数字;加魔法可以把每块石板上的数字加上你任选的一个1到25 阅读全文
posted @ 2018-07-05 10:20 大明湖畔的守望者 阅读(417) 评论(0) 推荐(0) 编辑
摘要: 有一个神奇的盘子,形状为圆形。盘子上面爬着一个大象(视作一个点)。由于现实的扭曲,当大象在盘子某个直径的一端的时候,可以瞬间传送至直径的另一端。现在大象想去盘子上另外一点,问他最少需要移动多少距离。传送不计距离。 输入描述: 第一行一个整数r(1 <= r <= 1000)代表盘子的半径。 接下来两 阅读全文
posted @ 2018-07-05 10:01 大明湖畔的守望者 阅读(212) 评论(0) 推荐(0) 编辑
摘要: 定义lowbit(x) =x&(-x),即2^(p-1) (其中p为x的二进制表示中,从右向左数第一个1的位置),例如lowbit(10)=2,lowbit(3)=1。 定义函数f(l, r)为(其中0 <= l, r <= n): 输入n,求f(l, r)的最大值。 输入描述: n以二进制形式给出 阅读全文
posted @ 2018-07-05 10:00 大明湖畔的守望者 阅读(146) 评论(0) 推荐(0) 编辑
摘要: 配送员每天都在为人们美好的生活辛勤工作。 在某位同城配送员的时刻表上,有n个任务,表示他在某年某月某一刻必须出现在某地把包裹交到对应的顾客手上。 配送员需要通过公共交通在城市里穿梭。在这个城市里,有m条公交线路,这些公交线路都是直达的(在起点和终点之间不存在其他站点),每天每条线路都有固定的发车和到 阅读全文
posted @ 2018-07-05 09:59 大明湖畔的守望者 阅读(135) 评论(0) 推荐(0) 编辑
摘要: 美团的办公室一共有n层,每层有m个会议室,可以看成是一个n*m的网格图。工程师们每天的工作需要协作的地方很多,经常要到会议室开会解决各种问题。公司是提倡勤俭节约的,因此每次会议室只在使用时才开灯。 当一个工程师进入会议室时,假设没有其他人,他会把灯打开。 当一个工程师离开会议室时,假设没有其他人,他 阅读全文
posted @ 2018-07-05 09:58 大明湖畔的守望者 阅读(192) 评论(0) 推荐(0) 编辑