APIO2019】的更多相关文章

APIO2019懵十三记: day0: 早上和ljx从沈阳出发,下午一点到的首师大附. 由于工作人员中午十二点就散了,我们就先去试机了. 下午三点接到狗牌和T恤,晚上买麦当劳回如意吃. 晚上还有场模拟赛.T1sb线段树区间查询区间覆盖,直接秒掉.T2什么两两最小割,目测没学过,暴力+贪心. 测完了140,我比zwz高哈哈哈哈哈哈哈哈哈太爽了. 同屋是育明的ysj,ljx那屋是本高巨佬gsc. 晚上和ysj聊天聊到晚上十二点然后睡觉. day1: 讲课?(我可是参加过WC的人) 果然上来就掉线了,…
[LOJ#3146][APIO2019]路灯(树套树) 题面 LOJ 题解 考场上因为\(\text{bridge}\)某个\(\text{subtask}\)没有判\(n=1\)的情况导致我卡了\(3.5h\)左右,然后这题就只能匆匆\(rush\)了一个\(60\)分暴力...... 考虑维护出每一个时刻的亮的灯的连续段,那么对于连续段\([l,r]\),显然此时刻在区间内的任意一组询问都会被产生贡献. 因为维护连续段非常不好处理,所以考虑每一个未开灯的地方的影响. 假设\(x\)位置未开灯…
[LOJ#3145][APIO2019]桥梁(分块,并查集) 题面 LOJ 题解 因为某个\(\text{subtask}\)没判\(n=1\)的情况导致我自闭了很久的题目... 如果没有修改操作,可以克鲁斯卡尔重构树在线处理.或者按照边权排序离线并查集处理. 现在有修改操作,于是我们来分块. 我们对于操作分块,每\(B\)个操作作为一组处理.不同组之间显然影响不大. 所以我们只需要处理同一组的就好了. 把边分成两类,一类是不会被修改的,这些边直接排序做前面的并查集就好了,这部分复杂度是\(O(…
[LOJ#3144][APIO2019]奇怪装置(数论) 题面 LOJ 题解 突然发现\(LOJ\)上有\(APIO\)的题啦,赶快来做一做. 这题是窝考场上切了的题嗷.写完暴力之后再推了推就推出正解了... 考虑\(t1,t2\)两个时刻,如果两个时刻的\((x,y)\)相等的话,考虑是一种什么样的情况. \[\begin{cases} t_1+[\frac{t_1}{B}]\equiv t_2+[\frac{t_2}{B}](\mod A)\\ t_1\equiv t_2(\mod B) \…
[LG5444][APIO2019]奇怪装置 题面 洛谷 题目大意: 给定\(A,B\),对于\(\forall t\in \mathbb N\),有二元组\((x,y)=((t+\lfloor\frac tB\rfloor)\bmod A,t\bmod B)\). 对于给定的\(n\)个区间\([l,r]\),要你求出\(t\in [l_1,r_1]\bigcup [l_2,r_2]...\bigcup [l_n,r_n]\)对应有多少个不同的二元组. 数据范围: \(1\leq n\leq…
Luogu P5444 [APIO2019]奇怪装置 看到这种题,我们肯定会想到\((x,y)\)一定有循环 我们要找到循环节的长度 推一下发现\(x\)的循环节长为\(\frac{AB}{B+1}\).等一下,\(t\)是整数,所以循环节长为\(\frac{AB}{GCD(A,B+1)}\) \(y\)的循环节长为\(B\) 所以\((x,y)\)的循环节长为\(lcm(\frac{AB}{GCD(A,B+1)},B)=\frac{AB}{GCD(A,B+1)}\) 对每个时间段对循环节长取模…
THUPC2019/CTS2019/APIO2019/PKUSC2019游记 5.10 中铺,火车好晃啊 5.11 打了THUPC2019的练习赛,华容道好评(四个小兵,杠鸭!) 5.12 打了THUPC2019 开场爆了好几发D,然后不想写,丢给ZCY,cerr居然wa了好多发 然后ZCY看出B是sb题,我们俩不想写,丢给ZCY 然后gmy和我分别写了M和J两个签到题,三人开始分别开C,I,L ZCY丢给我一个\(O(m)\)的式子让我优化,我推了推之后发现k才20 你容斥是\(O(k^2)\…
APIO2019 题解 T1 奇怪装置 题目传送门 https://loj.ac/problem/3144 题解 很容易发现,这个东西一定会形成一个环.我们只需要求出环的长度就解决了一切问题. 设环的长度为 \(l\).那么从 \((0, 0)\) 出发,走 \(l\) 步一定可以再次回到 \((0, 0)\). 也就是说 \[ \left\{ \begin{align*} & A \mid l + \lfloor \frac lB \rfloor\\ & B \mid l \end{al…
[APIO2019] [LOJ 3145] 桥梁(分块+并查集)(有详细注释) 题面 略 分析 考试的时候就感觉子任务4是突破口,结果却写了个Kruskal重构树,然后一直想怎么在线用数据结构维护 实际上是离线算法.考虑只有查询的时候.我们可以离线对查询的权值从大到小排序,边也按边权从大到小排序,然后对于权值比询问大的边,把边两端结点集合合并.答案就是查询点所在点集的大小.只需要用并查集维护,然后双指针扫描,由于一条边只会被加进去一次,时间复杂度为$ O(n\log n)$ 考虑有修改的情况.所…
[APIO2019] [LOJ 3146] 路灯 (cdq分治或树状数组套线段树) 题面 略 分析 首先把一组询问(x,y)看成二维平面上的一个点,我们想办法用数据结构维护这个二维平面(注意根据题意这里的y要-1,这样问题变成[x,y]区间是否是由连续的一段1组成) 如果我们改变第x个灯的状态,那么只有原来满足全1的条件,且现在不满足全1条件的区间受到影响.设包含x的最大的连续1的区间为[l,r],则左端点在[l,x],右端点在[x,r]的询问会受到影响.转化到二维平面上,就变成x坐标在[l,x…