「APIO 2019」奇怪装置】的更多相关文章

#3144. 「APIO 2019」奇怪装置 题目描述 考古学家发现古代文明留下了一种奇怪的装置.该装置包含两个屏幕,分别显示两个整数 \(x\) 和 \(y\). 经过研究,科学家对该装置得出了一个结论:该装置是一个特殊的时钟,它从过去的某个时间点开始测量经过的时刻数 \(t\),但该装置的创造者却将 \(t\) 用奇怪的方式显示出来.若从该装置开始测量到现在所经过的时刻数为 \(t\),装置会显示两个整数:\(x = ((t + \lfloor \frac{t}{B} \rfloor) \b…
题意: 定义将一个\(t\)如下转换成一个二元组: \[ f(t) = \begin{cases} x = (t + \left\lfloor \frac{t}{B} \right \rfloor) \bmod A\\ y = t \bmod b \end{cases} \] 询问\([l_i, r_i]\)之间的\(t_i\)能够转换成多少个本质不同的二元组. 思路: 考虑\((x_1, y_1)\)和\((x_2, y_2)\)相同的时候: \[ \begin{cases} t_1 + \l…
题目 考虑推柿子 最开始的想法是如果两个\(t\)在\(mod\ B\)意义下相等,那么只需要比较一下\((t+\left \lfloor \frac{t}{B}\rfloor \right)mod\ A\)就好了 显然\(t=t\% B+B\times \lfloor \frac{t}{B} \rfloor\) 于是第一维就是$t%B+(B+1)\times \lfloor \frac{t}{B} \rfloor $ 也就是说如果\(t\%B\)的是相等的,那么只要\((B+1)\times…
#3146. 「APIO 2019」路灯 题目描述 一辆自动驾驶的出租车正在 Innopolis 的街道上行驶.该街道上有 \(n + 1\) 个停车站点,它们将街道划分成了 \(n\) 条路段.每一路段都拥有一个路灯.当第 \(i\) 个路灯亮起,它将照亮连接第 \(i\) 与第 \(i + 1\) 个站点的路段.否则这条路段将是黑暗的. 安全起见,出租车只能在被照亮的路段上行驶.换言之,出租车能从站点 \(a\) 出发到达站点 \(b\ (a < b)\) 的条件是:连接站点 \(a\) 与…
#3145. 「APIO 2019」桥梁 题目描述 圣彼得堡市内所有水路长度总和约 282 千米,市内水域面积占城市面积的 7%.--来自维基百科 圣彼得堡位于由 \(m\) 座桥梁连接而成的 \(n\) 个岛屿上.岛屿用 \(1\) 到 \(n\) 的整数编号,桥梁用 \(1\) 到 \(m\) 的整数编号.每座桥连接两个不同的岛屿.有些桥梁是在彼得大帝时代建造的,其中一些是近期建造的.这导致了不同的桥梁可能有不同的重量限制.更具体地,只有重量不超过 \(d_i\) 的汽车才能通过第 \(i\…
题目 三天终于把\(APIO\)做完了 这题还是比较厉害的,如果不知道这是个分块应该就自闭了 考虑一个非常妙的操作,按照操作分块 我们设一个闸值\(S\),把\(S\)个边权修改操作分成一块,把所有的边分成两类,一类是在这个块内被修改过的边,一类是没有被修改过的边 我们把没有被修改过的边按照边权离线,同时把这个块内所有的询问离线,用并查集来维护这张图,只需要保证进行一次询问之前图中只有边权大于等于它的边 进行询问的时候当然还得考虑这个块内被修改过的边的贡献,对于这个块内被修改过但是修改的时间大于…
题目 显然一个熟练的选手应该能一眼看出我们需要维护点对的答案 显然在断开或连上某一条边的时候只会对左右两边联通的点产生贡献,这个拿\(set\)维护一下就好了 那现在的问题就是怎么维护了 考虑一个非常\(sb\)的问题,我们只想知道一个点对\((x,y)\)从开始到某个时间\(t\)有多少个时间是联通的 如果\(i\)时刻\((x,y)\)突然联通了,那么我们就把答案加上\(t-i+1\),如果\(i\)时刻\((x,y)\)突然断开了,我们就把答案减去\(t-i+1\),正确性显然 于是我们只…
「WC 2019」数树 一道涨姿势的EGF好题,官方题解我并没有完全看懂,尝试用指数型生成函数和组合意义的角度推了一波.考场上只得了 44 分也暴露了我在数数的一些基本套路上的不足,后面的 \(\exp\) 是真的神仙,做不出来当然很正常,而且我当时也不怎么会多项式. Task0 考虑公共边组成 \(k\) 个联通块,答案就是 \(y^k\) ,并查集维护一下即可,复杂度 \(\mathcal O(n\log n)\) . code namespace task0{ map<pair<int,…
LOJ#3054. 「HNOI 2019」鱼 https://loj.ac/problem/3054 题意 平面上有n个点,问能组成几个六个点的鱼.(n<=1000) 分析 鱼题,劲啊. 容易想到先枚举这个\(D\),然后极角序排一下,我们枚举\(A\),对\(B,E,F\)分别统计. 枚举\(A\)的过程中用一个指针维护\(E,F\)的范围,对答案贡献是一个\(\sum\binom{x}{2}\)的形式,容易维护. 然后现在要求\(B\)的方案数,可以发现符合条件的\(BC\)一定满足线段\(…
「UNR#1」奇怪的线段树 一道好题,感觉解法非常自然. 首先我们只需要考虑一次染色最下面被包含的那些区间,因为把无解判掉以后只要染了一个节点,它的祖先也一定被染了.然后发现一次染色最下面的那些区间一定是一段连续的左儿子+一段连续的右儿子. 证明的话可以看官方题解,感性理解的话不难,同时,任意一段连续的左儿子+右儿子也对应一个区间.定义一个左儿子区间 \([l_i,r_i]\) 的后继是所有 \(r_i=l_i+1\) 的左儿子和右儿子,一个右儿子区间 \([l_i,r_i]\) 的后继是所有…