JOISC 2017】的更多相关文章

JOISC 2017 Day1 T3 烟花棒 题意: ​ 数轴上有\(N\)人在放烟花,一开始只有第\(K\)个人的烟花是点燃的,烟花燃烧的时间为\(T\)秒,求让所有人的烟花都可以点燃的速度的最小值.(\(N\leq1e5,T\leq1e9\)). 题解: ​ 好难啊.... ​ 肯定是二分答案,现在问题转化为能否覆盖整个区间.一个很显然的结论:如果\([i,j]\)都可以点燃,则满足\(x_j+VT(j-i)\geq x_i-VT(j-i)\).令\(a[i]=x_i-2VT*i\),则\(…
Day1 「JOISC 2017 Day 1」开荒者 首先观察部分分发现分档很多,于是考虑一步步思考上来. 首先有一点关键观察(一): 风吹的顺序是无所谓的,令分别往东.西.南.北吹了 \(r, l, d, u\) 次,那么每个初始有草的位置往北 \(u\) 往南 \(d\) 往东 \(r\) 往西 \(l\) 个单位都会被其草籽覆盖且只有这些位置被覆盖. 那么一个简单的想法是直接枚举 \(r, l, d, u\) 然后求矩形并判定,复杂度 \(\mathcal{O}(r ^ 3c ^ 3)/\…
题解: 和hnoi2018day2t1基本一样 我想了半小时想出了一个很麻烦的做法 写了之后发现假掉了 刚开始想的是 先预处理出每个门要打开至少要在左边的哪个点$L[]$,右边的哪个点$R[]$ 对每个位置要去二分出右端点(左端点同理) 然后合法的判定方法是 在$MIN(L[k])~i-1$这一段 和$i+1~当前点$这一段 不存在点满足$lx>=y&&ry>=x$ 然后我想了一会 很傻比的发现可以对每个点预处理最右边哪个点满足这个(直接忽略了前面的条件) 然后就gg了…
吐槽 YMD的课件是真的毒,YYB的也很毒. 题目链接 LOJ sol 我是一个一个Subtask做的... Subtask 1 \(O(n^2)\)枚举每两个点有没有边即可. Subtask 2 链的情况的话,我们可以维护一条链\([l,r]\),这个区间和编号没关系,只是表示\(l,r\)是端点. 考虑每次加一个点进来,我们首先可以判一下是\(x...l...r\)还是\(l...r...x\). 然后判断\(x\)和端点有没有直接的连边,如果有,连上,返回. 否则,二分出路径上最小的点的编…
传送门 分析 我们知道无论往左走还是往右走一定都是往不低于这个点的地方走 于是我们可以考虑用倍增来维护一个点向左和向右走$2^i$最远分别能走到哪里 我们可以先用单调栈求出直走一步的情况,之后再处理倍增数组 值得注意的是有可能一直往左走不是最优情况,而先向右再想左会使答案更优 于是le[x][i]=min(le[le[x][i-1]][i-1],le[ri[x][i-1]][i-1]) 向右的情况同理 于是我们进一步考虑如何通过倍增数组得到答案. 我们先从左面往右走,只要走$2^i$不会超过右节…
loj 答案显然满足二分性,先二分一个速度\(v\) 然后显然所有没有点火的都会往中间点火的人方向走,并且如果两个人相遇不会马上点火,要等到火快熄灭的时候才点火,所以这两个人之后应该在一起行动.另外有火的人应该是选前面一个或后面一个没火的人,去和他相遇,所有任意时刻点过火的人都是连续的区间\([L,R](L\le k \le R)\) 现在要做的是推出\([1,n]\)是否可以被全部点火.一个区间\([L,R]\)能被点火,至少要满足的条件为\(x_R-x_L\le 2tv(R-L)\),即这两…
分析 https://yhx-12243.github.io/OI-transit/records/uoj356%3Bloj2391%3Bac2534.html 代码 #include<bits/stdc++.h> using namespace std; ; vector<]; ][],a[],b[],bel[],],n,m,vis[]; inline int sf(int wh,int x){return fa[wh][x]==x?x:fa[wh][x]=sf(wh,fa[wh][x…
最近写的一些 WC2019 上讲的一些题.还是怕忘了,写点东西记录一下. LOJ2983 「WC2019」数树 题意 本题包含三个问题: 问题 0:已知两棵 \(n\) 个节点的树的形态(两棵树的节点标号均为 \(1\) 至 \(n\)),其中第一棵树是红树,第二棵树是蓝树.要给予每个节点一个 \([1, y]\) 中的整数,使得对于任意两个节点 \(p, q\),如果存在一条路径 \((a_1 = p, a_2, \cdots , a_m = q)\) 同时属于这两棵树,则 \(p, q\)…
考试考到自闭,每天被吊打. 还有几天可能就要AFO了呢... Luogu3602:Koishi Loves Segments 从左向右,每次删除右端点最大的即可. [HEOI2014]南园满地堆轻絮 答案一定是 \(\lceil \frac{max_{1\le i < j \le n}(a_i-a_j)}{2} \rceil\). 可以考虑一个二分答案 \(mid\),那么每个数 \(x\) 都是一个 \([x-mid,x+mid]\) 的范围. 当前面有一个 \(y\) 使得 \(y-mid>…
乱听课记录 关于树的分治问题&杂题选讲 张哲宇 边分治 (边分不是很鸡肋吗) 例题一 题目大意:给出两颗有正负边权的树,求出两个点\(u,v​\)使得两棵树中\((u,v)​\)距离的和最大.\(n \le 10^5​\). 点分治 例题二 题目大意:\(n\)个点的树,每个点有非负点权,求权值第\(k\)大的联通块.\(n,k \le 10^5\). 考虑点分治,对于每一个分治中心,进行的点分相当于多了一个"强制选该分治中心"的限制. 对于每一层的分治,我们dfs重标号,那么…