链表
qq_20340417
这个作者很懒,什么都没留下…
展开
-
【链表】Pieczęć
【题意】 一张n*m的方格纸,有些格子需要印成黑色,剩下的格子需要保留白色。 你有一个a*b的印章,有些格子是凸起(会沾上墨水)的。你需要判断能否用这个印章印出纸上的图案。印的过程中需要满足以下要求: (1)印章不可以旋转。 (2)不能把墨水印到纸外面。 (3)纸上的同一个格子不可以印多次。 0<=n,m,a,b<=1000。 【思路】 先将纸与印章的黑色点做成链表,然...原创 2018-04-18 17:13:26 · 180 阅读 · 0 评论 -
【链表】办公楼biu
【题意】 GD开办了一家电话公司。他雇用了N个职员,给了每个职员一部手机。每个职员的手机里都存储有一些同事的电话号码。由于FGD的公司规模不断扩大,旧的办公楼已经显得十分狭窄,FGD决定将公司迁至一些新的办公楼。 FGD希望职员被安置在尽量多的办公楼当中,这样对于每个职员来说都会有一个相对更好的工作环境。但是,为了联系方便起见,如果两个职员被安置在两个不同的办公楼之内,他们必须拥有彼此的电话号...原创 2018-04-19 15:27:29 · 132 阅读 · 0 评论 -
【链表】营业额统计
【题意】 给出n个数,每个数都有一个波动值,是对于前面每个数的差的绝对值的最小值。第一个数的波动值就是其本身。求n个数的最小波动值之和。 n<=32767 【思路】 将元素排序后做成链表,用to[i]表示i在排序后的位置。从最后一天开始计算,找到它在链表中的位置,其值为xVal,其链表左边的值为lVal,其链表右边的值为rVal,由于排序过所以一定满足lVal小于xVal小于rVal...原创 2018-04-23 19:45:28 · 161 阅读 · 0 评论 -
【链表】梦幻布丁
【题意】 N个布丁摆成一行,进行M次操作。每次将某个颜色的布丁全部变成另一种颜色的,然后再询问当前一共有多少段颜色。 例如颜色分别为1,2,2,1的四个布丁一共有3段颜色.。 n,m<=1000000 【思路】 对于每次操作,我们把小的合并到大的里面。 举个例子:颜色为1,2,2时要把颜色2改为颜色1,暴力的方法就是直接将所有颜色2改为1,但是将1改为2耗时更短。因此我们以f[i...原创 2018-04-19 19:44:49 · 155 阅读 · 0 评论 -
【链表】数据备份
【题意】 一条街上有n栋楼,你需要为k对楼连上电缆(2*k<=n),每对代价为两栋楼之间的距离。 每栋楼只能被配对一次,求配对最小代价。 【思路】 十分巧妙。 很明显一开始计算出每相邻两栋楼的距离差,然后从中选k个。 首先想到的应当是贪心,从小到大选,可问题在于不能选相邻两个。 其根本在于,我们选小的x,有可能同时选左边的l与右边的r可能获得更优解,所以不能使用贪心。 那么我...原创 2018-04-20 16:31:26 · 172 阅读 · 0 评论 -
【链表】生日礼物
【题意】 给出一个长度为n的序列,最多选择m段,求能选的最大值。 【思路】 首先我们把同符号的一段累加成一个值。 然后我们选择所有的正数,如果选的个数比m大,就每次减少选的段数,直到数值等于m。 我们将所有的值按绝对值排序(丢进小根堆里),每次挑选出最小的一个。为什么?因为我们要使减少段数后的损失最小。 对于正数,我们将答案减去它,相当于不选这个; 对于负数,我们将答案减去它的绝对值...原创 2018-04-21 15:44:28 · 250 阅读 · 0 评论