1872

CF1872C-Non-coprime-Split-题解

title: CF1872C Non-coprime Split 题解 date: 2023-09-18 21:09:14 categories: - 题解 一个很怪的分讨想法。 当 \(l \neq r\) 时,区间内一定有一个偶数。设最大的偶数为 \(x\) ,那么当 \(x > 2\) 时,可 ......

CF1872E Data Structures Fan 题解

CF1872E 翻译 请把数据加强到 \(\sum n \leq 10^8\) 后重新思考。 我们维护全局中被标记的所有点的异或和。发现对于一次 \(1\) 操作,相当于让答案异或上区间的 \(a_i\) 异或和,因为这会让被标记的点变成没被标记的,而没被标记的点会产生贡献。 查询的话直接查询即可 ......
题解 Structures 1872E 1872 Data

CF1872B The Corridor or There and Back Again

CF1872B The Corridor or There and Back Again 观察第二组样例的解释,注意这句话:“第二个陷阱限制了你”。这启发我们计算经过每个陷阱之后最多还能向前走到哪里,然后取 \(\min\) 得到答案。 现在的问题是如何求出每个陷阱限制的最远可到达点。 由于要求折返 ......
Corridor 1872B Again There 1872

CF1872G Replace With Product 题解

原题 翻译 初看此题,显然感觉有点不对劲,因为感觉如果 \(a_i\) 很大的话肯定是选越多越优秀,但之后并没有什么思路,反而想到线段树上去了(值域这么大做 nm 线段树) 发现如果 \(\prod a_i > 2 \times 10^{14}\) ,那就把做右端点收敛到都不是 \(0\) 的最远位 ......
题解 Replace Product 1872G 1872

CF1872E

\(Solution\) 性质题。 \(\mathcal{part\ 1}\) \(n\leq 10^5\) 的数据范围一定会让人敏锐的想到线段树,本题可以使用线段树求解,但是细节很多,在考场上很难调对。 \(\mathcal{part\ 2}\) 考虑异或的性质:偶数次异或同一个数,对答案没有影响 ......
1872E 1872 CF

CF1872E Data Structures Fan

考查异或的基本性质。 对于操作2,用两个变量 \(X_0,X_1\) 记录 \(s_i=0/1\) 位置的异或和,在查询时直接输出即可。那么,在操作 1 如何更新 \(X_0,X_1\)? 如果操作 1 只改变一个数,比如将 \(s_i\) 从 \(0\) 改为 \(1\),那么我们只需将 \(a_ ......
Structures 1872E 1872 Data Fan

CF1872

Link A Two Vessels 十分甚至九分地简单 #include<bits/stdc++.h> using namespace std; int t; int a,b,c; int main(){ scanf("%d",&t); while(t--){ scanf("%d%d%d",&a, ......
1872 CF

CF 1872 E

## [E. Data Structures Fan](https://codeforces.com/contest/1872/problem/E) 这道题可以先对数组$a$进行异或前缀和操作,得到数组$b$,并在初始情况下记录下所有$s[i]$为0/1的异或和为$x0$,$x1$,之后处理询问操作 ......
1872 CF

CF 1872 D

## [D. Plus Minus Permutation](https://codeforces.com/contest/1872/problem/D) 这道题要使$(p_{1 \cdot x} + p_{2 \cdot x} + \ldots + p_{\lfloor \frac{n}{x} \ ......
1872 CF

CF 1872 C

## [C. Non-coprime Split](https://codeforces.com/contest/1872/problem/C) 这道题可以先进行分类讨论。 - 当$r #define endl '\n' using namespace std; typedef long long ......
1872 CF

CF 1872 B

## [B. The Corridor or There and Back Again](https://codeforces.com/contest/1872/problem/B) 由题意可知,对于每一个***d~i~***和***s~i~***,必须要在进入房间***d~i~***的***s~i ......
1872 CF

CF 1872 A

## [A. Two Vessels](https://codeforces.com/contest/1872/problem/A) 简单题。先计算杯子a和杯子b里水的差值,在计算需要用c杯子舀几次水就行 $$Ans=ceil(|a-b|/2c)$$ #### 代码 ```cpp #include ......
1872 CF

CF1872D Plus Minus Permutation

## 思路 又又又是一道 CF 诈骗题。 对于 $x$ 选出来的数,我们尽量放大的,对于 $y$ 选出来的数,我们尽量放小的,但是呢,存在同时被 $x$ 和 $y$ 选出来的数,就随便放。 但是可以发现按照题目给的数据范围,这么找选择的数,然后放最大或者是放最小,肯定是超时。 所以我们可以直接算出有 ......
Permutation 1872D Minus 1872 Plus

CF1872E Data Structures Fan

## 思路 一眼顶真,这不就是线段树吗?还挺板的,然后速打了一个线段树。 就是用两个变量分别存这个区间的两个异或值,修改就是交换这两个变量的值,询问都是询问整体的,应该很好写,就不细讲了。 ## AC code ```cpp #include using namespace std; struct ......
Structures 1872E 1872 Data Fan

CF1872F Selling a Menagerie

## 思路 对于每一个动物,我们都尽量让它比它害怕的动物先被卖。 考虑拓扑排序,每次输出出度为 $0$ 的点,然后再删点删边。 但是 $n$ 个点,$n$ 条边,必然存在环,所以只用拓扑排序是不行的。 自然想到 tarjan 缩点,对于环外,就拓扑排序好了,对于一个环,显然无法满足所有的点,所以我们 ......
Menagerie Selling 1872F 1872 CF

CF1872C Non-coprime Split

## 思路 CF 典型的诈骗题。 假设分出来的 $a$ 和 $b$ 都有因子 $k$,那么 $a+b$ 也一定有因子 $k$,并且至少还存在另一个最小为 $2$ 的因子,才能分出 $a$ 和 $b$。 所以可以发现,质数是不满足要求的,考虑一个合数,一定可以拆成 $k\times a$ 的形式,那么 ......
Non-coprime coprime 1872C Split 1872

CF1872B The Corridor or There and Back Again

## 思路 假设第 $0$ 时刻走进有陷阱的房间,那么必须在第 $t_i$ 时刻前返回到这个房间之前,因为出去还需要回来,假设到达这个房间后的第 $k$ 个房间,那么到达需要 $k$ 的时间,回来需要 $k+1$ 的时间,因为陷阱会困住当前在房间里的人,所以我们需要提前回去。 那么如果走到一个有陷阱 ......
Corridor 1872B Again There 1872
共17篇  :1/1页 首页上一页1下一页尾页