首页 > 其他分享 >CF1733E Conveyor

CF1733E Conveyor

时间:2024-08-29 09:53:36浏览次数:11  
标签:120 格子 Conveyor 一个 史莱姆 箭头 CF1733E

题意

给定一个 \(120\) 行 \(120\) 列的棋盘。

一开始 \((0, 0)\) 有一个史莱姆,每个地方有一个箭头,最初全部指右。

每一秒做一下过程:

  • 每一个史莱姆朝所在箭头方向移动一格,如果在棋盘之外,则移除该史莱姆,如果两个史莱姆走到了一个格子之上,合并为一个史莱姆。

  • 所有史莱姆前一秒所在的格子的箭头方向改变,向右改为向下,向下改为向右。

  • 在 \((0, 0)\) 新增一个史莱姆。

\(q\) 次询问,每次询问 \(t\) 时刻点 \((x, y)\) 是否有史莱姆。

Sol

注意到无论如何都不会出现合并史莱姆的情况,因为若当前 \((x, y)\) 有一个史莱姆,那么该史莱姆一定是在 \(t - (x + y + 1)\) 时出现的。

对于每一个位置考虑,注意到所有经过当前格子的史莱姆为 \(S\),那么一定有 \(\lceil \frac{S}{2} \rceil\) 个史莱姆去了右边的格子,剩下 \(\lfloor \frac{S}{2} \rfloor\) 个史莱姆一定去了下面的格子。

那么现在的思路就很显然了,考虑设 \(f_{i, j}\) 表示点 \((i, j)\) 经过了的史莱姆个数。

事实上,我们只是对于每个点的史莱姆个数做了一个前缀和,因此判断 \(t\) 时刻是否有新增史莱姆,直接判断 \(f_{t, i, j}\) 和 \(f_{t - 1, i, j}\) 是否相同即可。

这样还有一个问题,我们如何知道当前哪些史莱姆应该停止不移动下去。

这个问题很显然,我们只需要保证当前询问的 \((x, y)\) 点正确即可,因此只需要考虑走的步数 \(\ge x + y - 1\) 的史莱姆即可。

复杂度:\(O(120 ^ 2 q)\)。

标签:120,格子,Conveyor,一个,史莱姆,箭头,CF1733E
From: https://www.cnblogs.com/cxqghzj/p/18385940

相关文章

  • 【仿真建模-anylogic】ConveyorCustomStation原理解析
    Author:赵志乾Date:2024-06-19Declaration:AllRightReserved!!!1.类图2.原理解析2.1核心函数函数功能ConveyorCustomStation()无参构造函数;该类另有两个有参构造函数,但已标注为废弃;voidaddVertex(doublex,doubley)为2D多边形添加坐标点;voidonEnter(Tagent)物料进入......
  • [题解]P9432 [NAPC-#1] rStage5 - Hard Conveyors
    P9432[NAPC-#1]rStage5-HardConveyors题意简述给定一个\(N\)个节点的树形结构,其中有\(k\)个关键节点。接下来有\(q\)次询问,每次询问给定\(x,y\),请输出\(x\)到\(y\)至少经过一个关键点的最短路径。解题思路我们发现,这道题相当于让我们从\(x\)到\(y\)的简单路径上,额外扩展......
  • [题解]P9433 [NAPC-#1] Stage5 - Conveyors
    P9433[NAPC-#1]Stage5-Conveyors题意简述给定一个\(N\)个节点的树形结构,每条边有边权,树上有\(k\)个关键点。接下来有\(q\)次询问,每次询问给定\(x,y\)两点,请计算从\(x\)开始经过这\(k\)个关键点(可以重复经过)再到\(y\)的最短路程。解题思路我们可以发现,如果\(x\)与\(y\)都......
  • P9433 [NAPC-#1] Stage5 - Conveyors
    P9433[NAPC-#1]Stage5-Conveyorslca维护树上路径但是这题不是难在这里,考察的是分析问题答案构成的能力。我们可以从数据范围出发。\(s=t,k=n\)每条边都要走两遍,显然是树上所有边权和\(\times2\)。\(k=n\)可以构造一种走法,使得\(t\)先到\(s\),按照上面的走法走完......
  • Codeforces Round 863 (Div. 3) B. Conveyor Belts
    给一个\(n\timesn\)的矩阵,\(n\)是偶数。将矩阵按圈分割,同一圈的位置可以不消耗代价移动,可以消耗一个代价移动到相邻圈。给出\(n,x_1,y_1,x_2,y_2\),询问\((x_1,y_1)\)移动到\((x_2,y_2)\)的代价最小是多少。显然对每个圈可以选择左上角作为定点。显然直线\(......
  • Conveyor (CF E) (dp 差分/前缀 条件迷惑t)
     思路: 找各种性质1每一秒只有史莱姆进入起始点,然后他会选一个方向走(右或者下),每一秒史莱姆都会这样走在考虑前t秒内有S个史莱姆到达这个点,然后就会有s+1/2个往右走,s/2往下走而且问t秒只会有t-n-m-1秒后的时刻影响(诈骗t)于是利用dp+差......
  • P9432 [NAPC-#1] rStage5 - Hard Conveyors
    P9432[NAPC-#1]rStage5-HardConveyors感谢此题让我知道了Dijkstra的一种新用法。题意:给定一棵\(n\)个节点的无根树以及树上的\(k\)个关键节点,给定边的长度。有\(q\)次询问,每次给出\(s,t\),问从\(s\)到\(t\)且经过至少一个关键节点的路径的最短长度。分析:显......
  • NAPC-#1 rStage5 - Hard Conveyors
    这个人赛时只过了这题,但是同学@sinsop90赛时只没过这题,怎么会是呢?考虑到\(s,t\)之间路径必须经过关键点,假设这个关键点为\(k\),那么路径形式一定是\(s\tok\tot\)(废话)。画一下图发现这条路径的长度等于\(s\tot\)的简单路径长度加上\(k\)挂到\(s\tot\)简单路径这条......
  • CodeForces 1733E Conveyor
    洛谷传送门CodeForces传送门考虑差分,如果\(t-1\)时刻经过\((x,y)\)的史莱姆个数等于\(t\)时刻经过\((x,y)\)的史莱姆个数,答案为NO,否则为YES。发现两只史莱姆......
  • CF1733E
    CF1733E给定一个初始箭头全部指向右的网格图,每时刻在\((0,0)\)新增一个黏球,之后黏球按照箭头指示运动一格,并将其刚才所在的上一个格子的箭头变换方向。箭头只会指向右......