首页 > TAG信息列表 > JOISC
JOISC 2022 乱做
非传统题不做。 Day1 T1 Jail 给定一棵 \(n\) 个点的树,有 \(m\) 个人,第 \(i\) 个人从 \(s_i\) 出发要到 \(t_i\),每次可以指定一个人走一条边。问是否存在一种方案让每个人都到 \(t_i\),且满足任何两个人不同时出现在同一个节点。 \(m \leq n \leq 1.2 \times 10^5\),\(s_i\) 互不相「JOISC 2016 Day 1」俄罗斯套娃(二维偏序)
「JOISC 2016 Day 1」俄罗斯套娃 思路清奇的呀,先在坐标轴上画图(R为横坐标,H为纵坐标),然后发现每个询问之间没有影响,考虑离线处理,因为询问的要求是选择>=R的,所以把横坐标从大到小排序,二维偏序?,那么在H对应的纵坐标上画一条线,就发现是在这以下的娃娃都满足,然后就树状数组维护不可以套起【题解】「JOISC 2014 Day1」有趣的家庭菜园
Description Solution 我们不难发现最终得到的是一个单峰序列,所以中间那个草一定放最高的,然后往两边依次放叫矮的。 由于每一次操作会增加一组逆序对,所以只需要思考如何让最终序列的逆序对数最少。 我们可以正反跑两次,放那边的逆序对最少,就是每一个草的贡献,就去那边,最后求和即可JOISC 2019 day2 两道料理
建模转化+维护差分序列 Statement 厨师比太郎正在参加一个厨艺比赛。在这场比赛中参赛者要烹饪两道料理:IOl盖饭和JOI咖喱。 l0I盖饭的烹饪过程中需要N个步骤。第i(1≤i≤N)步的用时是 \(A_i\) 分钟,最初他只能进行第1步,想要进行第i(2≤i≤N)步的条件是已经完成了第i―1步。 JOI咖「JOISC 2020 Day1」建筑装饰 4
题意: \(2n\)个位置,给长度为\(2n\)的序列A,B。问每一位置在\(A\)和\(B\)中任选一个,恰好\(n\)个A和B,得到不降的序列\(C\)的方案(多种任意输出一种)。 思路: 引理 猜了一个结论:能够造出C的A的个数是连续的。 和CF之前打过一道题,一样的技巧。 这里给简略构造证明: 处理出A个数最少(Amin「JOISC 2014 Day2」水壶 题解
题目链接:LibreOJ #2876. 「JOISC 2014 Day2」水壶 题意 给定一个 \(H\) 行 \(W\) 列的方格,其中每个方格可能是空地或者障碍。 方格图中存在着 \(P\) 个建筑物,第 \(i\) 个建筑物的坐标是 \((A_i,B_i)\)(保证建筑物的位置一定是在空地上)。 现在,JOI君需要在各个建筑物间往返,但是太阳很P7560-[JOISC 2021 Day1]フードコート【吉司机线段树】
正题 题目链接:https://www.luogu.com.cn/problem/P7560 题目大意 有\(n\)个队列,要求支持操作: 往\([L,R]\)的队列中插入\(k\)个\(c\)。 出队\([L,R]\)中的\(k\)个元素。(如果不足\(k\)个就全部出队) 求第\(a\)个队列中的第\(b\)个元素。 \(1\leq n,m,q\leq 25\times 10^4\) 解题「JOISC 2017 Day 1」开荒者
Description 开荒者要让一片长方形的平原长满草。这个长方形可视为 \(R\) 行 \(C\) 列的正方形网格,底平行于南北方向,高平行于东西方向。我们用 \((1,1)\) 表示网格的西北角,\((R,C)\) 表示网格的东南角。开始时有且只有 \(n\) 个网格内长有野草,其余网格内既没有草也没有草籽。开荒[JOISC 2017 Day 1] 港口设施
一、题目 点此看题 二、解法 首先考虑只有一个港口的情况,发现合法的充要条件是所有 \([a,b]\) 不交。 由于两个港口是独立的,所以问题转化成:求出有多少种二染色方案,使得同色的线段不交。我们把满足 \(a<c<b<d\) 的线段 \([a,b]\) 和 \([c,d]\) 之间连一条边,然后问题就变成了求连通[JOISC 2017 Day 1] 开荒者
一、题目 点此看题 二、解法 首先考虑一维的情况,设平面上的草位置分别是 \(1\leq x_1<x_2...<x_n\leq c\),那么答案是: \[\max\{x_1-1+c-x_n,\max_{1\leq i<n} x_{i+1}-x_i-1\} \]我们枚举上下方向的风,然后对每行独立做,时间复杂度 \(O(R^3)\) 可以把行离散化成若干个左闭右开的区间,【总结】JOISC 2019
「JOISC 2019 Day1」考试 三维偏序模板,直接跑 cdq 分治。 #define N 200005 int n, m, b[N], t, ed[N], c[N]; inline void add(int x,int y){for(; x <= t; x += x & -x)c[x] += y;} inline int ask(int x){int sum = 0; for(; x; x -= x & -x)sum += c[x]; return sum;} struct「JOISC 2022 Day4」鱼 2
考虑怎么样的鱼能取得最后的胜利,它一定是不断贪心地往两边吃,能吃就吃。 实现以上过程的一个朴素想法是,对左右两边分别维护”有效“单调栈,暴力扫一遍。 考虑用线段树维护上述过程,思考如何合并区间信息。 假设有 \(x\) 条鱼能在左子树中吃完所有的鱼,那么加入右区间后,它们的增广方向LOJ #3006. 「JOISC 2015 Day 4」防壁
LOJ #3006. 「JOISC 2015 Day 4」防壁 首先有一个很显然的结论是:对于每条线段,贪心地向询问点移动直到覆盖的方案一定是最优的。于是我们就得到了一个 \(\mathcal O(NM)\) 的暴力做法。 我们先考虑Subtask2也就是 \(a_i=0\) 的情况怎么做。对于线段 \([0,t]\) 我们定义询问「JOISC 2014 Day4」两个人的星座 题解
计算几何 Statement #2882. 「JOISC 2014 Day4」两个人的星座 - 题目 - LibreOJ (loj.ac) Solution 有性质:如果两个三角形相交或者内含,则一定不存在内公切线(即两个三角形在这条线两侧,并且线上分别有两个三角形的一个顶点) 由于题目保证了不存在三点共线,所以两个三角形相离有这样一LOJ2390 「JOISC 2017 Day 1」开荒者
能否证明,我们一定是横向或纵向填满之后再移动另一个维度的? 相当于你是将每一个都扩展成一个相同大小的矩形,同时能覆盖整个大矩形,问你矩形最小的周长是多少。 那我们对四个角分别找出到达的限制即可?不对。 当然存在一个暴力的想法就是枚举这个最终的矩阵,但是显然是不能通过的。 考「JOISC 2019 Day3」穿越时空 Bitaro
「JOISC 2019 Day3」穿越时空 Bitaro 数据结构,线段树 考虑每次行动 显然暴力贪心走是正确的 但时间的流逝很麻烦 可以将每对 \([L_i, R_i] \longrightarrow [L_i - i, R_i - i]\) 这样就可以抵消掉时间流动的问题,就像这样 对于当前时间 \(t\) ,当前这条路时间 \([L_i, R_i]\) \(t「JOISC 2014 Day4」两个人的星座
首先突破口肯定在三角形不交,考虑寻找一些性质。 引理一:两个三角形不交当且仅当存在一个三角形的一条边所在直线将两个三角形分为异侧 证明可以参考:三角形相离充要条件,大致思路是取两个三角形重心连线,将其中一个三角形延重心连线平移两三角形总会相交,同时也能根据相交情况找到一JOISC 2015 简要题解
目前还在咕咕咕咕的题目:#3001. 「JOISC 2015 Day 3」AAQQZ,#3006. 「JOISC 2015 Day 4」防壁 #2994. 「JOISC 2015 Day1」复制粘贴 2 考虑时间倒流,维护每个位置是从哪里来的,那么对于第 \(i\) 次插入,设 \(l_i = b_i - a_i + 1\), 对于位置 \(x\) : \(x < c_i\),没有影响。 \(c_i \le x「JOISC 2012」星座(凸包)
传送门 题意 平面上有 \(n\) 个点,保证任意三点不共线。有黑白两种颜色,一些点已经确定了一种颜色,其余点的颜色尚未确定。 对于一种染色方案,我们可以进行若干次操作,每次可以在两个同色点之间连一条直线段,但是要保证连的线段互不相交(除了在端点处可以相交)。如果最后每种颜色的点都能LOJ3040 「JOISC 2019 Day4」合并
这道题目需要我们 \(\text{check}\) 每一棵子树内是否存在完全位于该子树内的颜色。 这个我们可以利用 \(\text{dfn}\) 来实现。 具体的就是找到每一个颜色在 \(\text{dfn}\) 上的第一个出现位置和最后一个出现位置,每一次将当前子树的 \(\text{dfn}\) 区间与子树内所有颜色的这个【题解】「JOISC 2018 Day 3」比太郎的聚会
「JOISC 2018 Day 3」比太郎的聚会 \(\text{Solution:}\) 一定要看好数据范围!!! 从这题里面学到了太多…… 注意到连边一定是小点往大点连的,所以一定没有环。 询问总量是固定的,总输入量是 \(2\times 10^5\) 级别。 看到这里起码可以正常想题了…… 首先,如果我们去暴力,那不难想题解 loj2736 【「JOISC 2016 Day 3」回转寿司】
题解 loj2736 【「JOISC 2016 Day 3」回转寿司】 \(\texttt{Solution}\) 根据数据范围与时限猜测分块 首先考虑 \(l=1,r=n\) 的部分分 实际上,仅需把序列扔进大根堆里 对于一次询问 \(v\),比较堆顶与 \(v\) 的大小关系 如果堆顶大于 \(v\),丢掉堆顶,将 \(v\) 加入堆中,接下来的询问值定JOISC写题记录 2017
「JOISC 2017 Day 1」港口设施 思路一(自己): 同一个栈里的线段要么互不相交,要么就是包含关系. 假如我们将所有相交的两条线段连一条边,表示它们不能在同一个栈里.最后连成的每个联通块如果不是一个二分图的话,就是无解的.如果是二分图,那么我们只要数一数联通块的个数\(JOISC 2016 Day 1 棋盘游戏
题意 JOI 君有一个棋盘,棋盘上有 \(N\) 行 \(3\) 列 的格子。JOI 君有若干棋子,并想用它们来玩一个游戏。初始状态棋盘上至少有一个棋子,也至少有一个空位。 游戏的目标是:在还没有放棋子的格子上依次放棋子,并填满整个棋盘。在某个格子上放置棋子必须满足以下条件之一: 这个格子的上下「JOISC 2021 Day1」饮食区
考虑将所有所有修改和询问离线下来,并且将队列编号看成时刻。这样就可以将操作一二的修改拆开,变成在\(L_i\)时刻加入数据结构,在\(R_i+1\)时刻弹出数据结构。 考虑使用一棵普通的线段树维护,下标为操作的顺序(因为操作也是有顺序的),每个节点维护当前区间元素的个数(可以是负数),区间最大元