divisor 1864c chain cf
[Codeforces] CF1740D Knowledge Cards
CF1740D Knowledge Cards 题意 有一个 \(n \times m\) 的棋盘。现在\((1,1)\)中有一个栈,你可以按照一定的顺序进行出栈操作,每次都可以移动一个卡片到一个相邻的空白位置,但是卡片不能重合。问,能否通过若干次操作,将\((1,1)\)中全部的卡片移动到\((n ......
[Codeforces] CF1722G Even-Odd XOR
CF1722G Even-Odd XOR 题意 给定一个正整数 \(n\),请你找出一个长度为 \(n\) 数组 \(a\),满足数组是由互不相同的非负且小于 \(2^{31}\) 的整数组成,并且该数组中奇数项上元素的异或值与偶数项上元素的异或值要相等。 思路 根据异或的交换律,可以发现:奇偶位异 ......
[Codeforces] CF1690E Price Maximization
CF1690E Price Maximization 题意 我们有 \(n\) 个礼物,而最终我们需要将所有的礼物两两包成 \(\frac{n}{2}\) 个包裹。 每一个礼物 \(i\) 都有其价值 \(a_i\),而含有礼物 \(i\) 与礼物 \(j\) 的包裹的价值是 \(\lfloor \ ......
CF1784C Monsters (hard version) 题解 线段树
题目链接:https://codeforces.com/problemset/problem/1784/C 题目大意: 你面前有 \(n\) 只怪兽,每只怪兽都有一个初始血量,你可以进行两类操作: 操作1:选择任意一个血量大于 \(0\) 的怪兽,并将它的血量降低 \(1\); 操作2:将所有存活的 ......
CF1320D Reachable Strings
110和011互相转化,相当于就是0在连续两个1的情况下,移动两个位置 能够发现,0的位置的奇偶不会改变,且很多个0之间的相对位置不会改变 猜想考虑这个答案只跟0的奇偶性有关,下面小证一下:(注意下面所说的“奇偶”指的是两个字符串的分别第一个字母为奇数时的奇偶,不是总字符串的奇偶) 若0的相对位置奇 ......
CF 1303 E
显然O(n)划分之后可以用一个三维dp写 可以用bitset优化 也可以 化简为二维 dp i j 表示第i位 能搞到 a的j位 并且 搞到b位的 最大值 int dp[410][410]; bool check(string &s,string &pre,string &suf) { memset ......
CF 1904 D. Set To Max
Easy Version Hard Version Hard Version的做法可以从Easy Version 用数据结构优化得到。 首先我们想一下,什么情况需要进行操作?显然是\(a_i!=b_i\)的时候,并且当\(a_i>b_i\)的时候将会无解。 那么当\(a_i<b_i\)的时候,应该怎 ......
CF 记录
CF 1903F: 考虑二分答案 \(ans\)。 可以得到这样的限制: 若选择了 \(x\),则不可以选择 \(x+1,x+2,...,x+ans\)。 若未选择 \(u_i\),则必须选择 \(v_i\)。 这是一个 2-sat 的形式。但限制 1 建边太多,可以用线段树优化建图。 ......
「杂题乱刷」CF1620E
一道好题。 题目链接 考虑离线操作。 我们可以设 \(a_i\) 为当前 \(i\) 表示的数字,然后直接倒序操作,运用并查集的思想,可以 \(O(n)\) 通过此题。 参考代码: #include<bits/stdc++.h> using namespace std; long long n,a[ ......
CF1481D
考虑二元环 要是二元环相同 那么显然怎么构造都可以了 否则 我们考虑 没有二元环相同 要是m是奇数 我们随便跑跑就行 要是m是偶数 情况呢 我们需要构造一种情况 我们肯定用的点数越少越好 我们考虑三个点 要是两个二元环都是 a 出 或者 b 出的 就可以构造出来了 void solve(){ int ......
CF1493C
以前写挂了 今天又拿出来写 手玩一下样例发现 我们从高位贪是肯定的 尽可能让该位置和原串一样 然后我们可以枚举该位改成什么字母 然后计算后面的放是否合法 写的很屎 其实就是复制粘贴了一坨 我们先找到 最远的位置可以修改 再修改为最小的即可 void solve(){ int n,k;cin>>n>> ......
CF1379C
想了好久的策略发现都wa了 后面仔细思考了一下 我们肯定只选一种bi 那我们不妨枚举bi 然后比bi大的ai我们都选 我的写法有点问题 要加特判 其实是可以二分找到大于bi的点 更好写一些 明天吧这个题 和 上一个拓扑的题写一下简单写法 void solve(){ int n,m;cin>>m>>n ......
CF1385 E
我们发现好像和拓扑序有关 我们做拓扑序的时候 要是一个点没有 有向边出去 或者进来 我们好像可以随意钦定该点其他无向边 要是有 有向边入 和 有向边出 那么肯定寄 有一种就直接钦定为该点其他有向边的方向就可以了 其实 具体实现的时候我们可以直接有向边拓扑序 之后 无向边钦定 由拓扑序小的指向拓扑序大 ......
[CF980D] Perfect Groups 题解
[CF980D] Perfect Groups 题解 思路 第一个观察就很难观察到: \[ab = x^2, bc = y^2\Longrightarrow \exist z, ac = z^2(a, b, c \ne 0) \] 证明: 两个条件式相乘得到: \[ab^2c = x^2y^2\\ ......
CF1205题解
CF1205 Expected Value Again 首先算 \(\sum f^2(s)\),一个很经典的转化:任选 \(i,j < n\) 满足 \(i,j\) 同时是 border。 摆出几个结论: \(r\) 是 \(s\) 的 border 等价于 \(|s| - r\) 是 \(s\) ......
CF1592F2 Alice and Recoloring 2
题意 给定一个矩阵,有两种颜色 \(W\) 和 \(B\)。 你可以花 \(1\) 的代价反转一个包含 \((1, 1)\) 的矩阵。 你可以花 \(3\) 的代价反转一个包含 \((n, 1)\) 的矩阵。 你可以花 \(4\) 的代价反转一个包含 \((1, m)\) 的矩阵。 你可以花 \(2 ......
CF213E Two Permutation 题解
CF213E Two Permutations 题解 题意: 给出两个排列$a,b $,长度分别为 \(n,m\),你需要计算有多少个 $ x $,使得 \(a_1 + x,a_2 + x,...a_n + x\) 是 \(b\) 的子序列。 \(n \leq m \leq 2 \times 10^ ......
CF571E Geometric Progressions
CF571E Geometric Progressions 洛谷:CF571E Geometric Progressions Codeforces:CF571E Geometric Progressions Problem 给定 \(n\) 以及 \(n\) 个正整数对 \(a_i, b_i\)。 ......
CF301D Yaroslav and Divisors
因为是排列,所以数对总数是调和级数的 \(O(n\log n)\),可以暴力枚举。 容斥,区间左右端点均在 \([l,r]\) 中的数对数量等于左右端点均在 \([1,r]\) 中的数对数量减去左右端点均在 \([1,l-1]\) 中的数对数量,再减去左端点在 \([1,l-1]\) 中且右端点在 ......
CF1500F Cupboards Jumps 题解
题目链接 点击打开链接 题目解法 感觉是一个融合了许多技巧的题,很巧妙 题目要求 \(\max(h_i,h_{i+1},h_{i+2})-\min(h_i,h_{i+1},h_{i+2})=w_i\),这可以转化成另一个只和两项有关的形式为:\(\max(|h_i-h_{i+1}|,|h_i-h_{ ......
CF 1612 E
看到k等于20 我们大胆猜测这个选择的个数不会超过20条 枚举我们要选i条 然后计算权值的话 要是大于等于i的k都是算1的 否则就算 k/i 我们按照这个给每一个计算一下权值 选最大的i条即可 void solve(){ int n;cin>>n; vector<int>t[21],cz[21],v ......
[Codeforces] CF1737C Ela and Crickets
CF1737C Ela and Crickets 题意 给定一个 \(n\times n\) 的棋盘,棋盘上有且仅有三颗排成 \(\text{L}\) 形的棋子。 对于 \(\text{L}\) 形的定义,有且仅有以下四种情况: 棋子的移动规则和跳棋相同。它可以水平、垂直或斜向移动。当且仅当一个棋子 ......
[CF839E] Mother of Dragons
最优方案一定是选择一个团,并在团里平均分配点权。 实际上,定义一个点 \(u\) 的权重 \(w_u\) 为 \(\sum\limits_{(u,v)}s_v\),那么如果方案中 \(w_x>w_y\),将 \(y\) 去掉并将其点权加在 \(x\) 上一定更优,所以答案一定会被调整成一个团。 对于 ......
CF1900D Small GCD
Link 这是一个需要欧拉反演的题目 首先,可以知道只和数字之间的大小有关,数列的顺序无关,那么就可以首先排一个序方便解决该问题。 根据欧拉函数的性质,知道\(n=\sum_{d|n}\phi{(n)}\) 那么我们每次先确定中间的数\(a_j\),然后根据公式,得他它得贡献是\(\sum_{i=1 ......
CF1388D
最开始以为有环 发现没环之后 发现是有负数的 把第三个样例画出来 发现疑似是拓扑序之后要是该点为正肯定 放前面 否则放后面 但是发现好像 有些点为负数的可以通过+变回正的也要放前面 那我们贪心跑一遍即可 void solve(){ int n;cin>>n; vector<int>a(n+1),b( ......
CF1793C Dora and Search
CF1793C Dora and Search Difficulty:1200 题意翻译 题目描述 给定一个长度为 \(n\) 的排列 \(a\) ,问是否存在正整数 \(l,r\) 使得 \(a_l,a_r\) 均不为 \(a_{l...r}\) 中的最大值或最小值。 输入输出格式 第一行一个正整 ......
CF1368H2 Breadboard Capacity
题面传送门 首先这个是比较经典的最大流:从源点向红点连 \(1\) 流量的边,网格中每条边流量为 \(1\),蓝点向终点连流量为 \(1\) 的边,最大流就是答案。 最大流不好算,我们考虑最小割。最小割相当于给每个点染上红色或者蓝色,要使得两端点异色的边最少。 直接做还是不好做,我们考虑挖掘一点性质 ......
CF1253F Cheap Robot
题意 给定一个图,走过一条边的花费为权值,其中有 \(k\) 个充电点。 你需要确定一个电量的上限,使得满足从 \(a\) 走到 \(b\)。 Sol 先对于每个点求出她走到充电点最近的距离,用 \(dij\) 随便跑跑。 考虑从 \(a \to b\) 一条边的贡献。设当前的电量上限为 \(c\) ......
CF 思维题随记
CF1487B Cat Cycle 首先小猫 A 的行动是确定的,我们可以算出它走的圈数和最后的位置。然后根据 \(n\) 分情况讨论: 偶数不会相遇,直接做。 奇数。如果猫 A 不动那么猫 B 每圈只需要走 \(n-1\) 步。现在猫 A 会动其实就是猫 A 每多走一圈,它们就多相遇一次,猫 B ......