题解codeforces round 879

题解 P4630 [APIO2018] 铁人两项

具体思路 题目问的是三元组 \((x,z,y)\) 使得 \(x\) 可以到达 \(z\),且 \(z\) 可以到达 \(y\),求三元组 \((x,z,y)\) 的数量。 我们转化一下问题,就是问 \(x,y\) 之间所有不重复路径的点的并集减 \(2\)。 显然,无向图中任意一个点都属于一个点双 ......
题解 铁人 P4630 4630 2018

[题解] P6773 [NOI2020] 命运

P6773 [NOI2020] 命运 给你一棵 \(n\) 个节点的树,要给每条边染成 \(0\) 或 \(1\)。 有 \(m\) 个限制 \((u, v)\) 满足 \(u\) 是 \(v\) 祖先,表示 \(u\) 到 \(v\) 的路径中至少有一条边被染成了 1。 求方案数。 \(n, m ......
题解 命运 P6773 6773 2020

Atcoder Beginner Contest 321 G - Electric Circuit 题解 - 状压dp | 指定最低位

为了更好的阅读体验,请点击这里 题目链接:G - Electric Circuit 看到了 \(N\) 的数据范围,因此是显然的状压 dp。 不妨设 \(f_S\) 为仅使用 \(S\) 集合中的所有点,能够连成恰好 \(1\) 个连通块的方案数。\(g_S\) 为仅使用 \(S\) 集合中的所有点 ......
题解 Beginner Electric Atcoder Contest

CodeCraft-21 and Codeforces Round 711 (Div. 2)

CodeCraft-21 and Codeforces Round 711 (Div. 2) A. GCD Sum 题意 定义 \(gcdSum(x)=gcd(x,sum\ of\ digits\ of\ x)\)。 请你输出最小的 \(x\) 满足 \(x\ge n\),且 \(gcdSum(x) ......
Codeforces CodeCraft Round 711 and

P9194 [USACO23OPEN] Triples of Cows P 题解

Description 给定一棵初始有 \(n\) 个点的树。 在第 \(i\) 天,这棵树的第 \(i\) 个点会被删除,所有与点 \(i\) 直接相连的点之间都会两两连上一条边。你需要在每次删点发生前,求出满足 \((a,b)\) 之间有边,\((b,c)\) 之间有边且 \(a\not=c\) ......
题解 Triples P9194 USACO 9194

wzOI 202311.8-9 模拟赛题解

2023.11.9 competion 复盘 时间安排不太好,然后就是太纠结于一个想法了导致第二题不知道在想什么鬼东西,心态还是要放平啊。 A 明显大模拟,我想逃避一下,所以就skip了半个小时,发现后面三道一点思路都没有,然后就回来打 T1 大模拟。这个大模拟非常考验对工具的使用,幸好我造的数据比 ......
模拟赛 题解 202311.8 202311 wzOI

[题解] P5901 [IOI2009] Regions

P5901 [IOI2009] Regions 给你一棵树,每个点有颜色 \(h_i\)。 多次询问,每次询问有多少对 \((u, v)\) 满足 \(u\) 是 \(v\) 的祖先且 \(u\) 的颜色是 \(r_1\) 且 \(v\) 的颜色是 \(r_2\)。 \(n, q \le 2 \ti ......
题解 Regions P5901 5901 2009

[题解] CFgym103069G Prof. Pang's sequence

G. Prof. Pang's sequence 给一个长度为 \(n\) 的序列 \(a\),多次询问区间 \([l, r]\) 内有多少个子区间的颜色数是奇数。 \(n, m \le 10^5\)。 先按照 HH 的项链 的套路,对于每个数记一下 \(lst_i\) 表示 \(a_i\) 上一次 ......
题解 sequence 103069G 103069 CFgym

[题解]CF938G Shortest Path Queries

Shortest Path Queries 给你一张无向连通图,支持三种操作: 插入一条边 \((u, v, w)\)。 删除一条边。 求 \((u, v)\) 之间的异或最短路。 \(n, m, 1 < 2^{30}\)。 先考虑异或最短路怎么求,这部分和 最大XOR和路径 是一样的。就是把图上的 ......
题解 Shortest Queries 938G Path

Educational Codeforces Round 126 (Rated for Div. 2)

https://codeforces.com/contest/1661/ B题数据很小,直接bfs预处理就行 C题随便猜了一下,设mx=\(max\{a_i\}\)最后的值应该是 mx,mx+1,mx+2,mx+3之类的吧 D题刚开始从前面考虑,陷入僵局,一度非常的困,学习凯库勒睡了一会,就突然想到 ......
Educational Codeforces Round Rated 126

[CSP-J 2021] 小熊的果篮 题解

题目链接 既然只有两种东西,我们不妨分开考虑,这里也借鉴了很多二分图题目的切入点。 假设苹果和桔子下标分别如下图所示: 苹果:1 3 6 7 9 10 桔子:2 4 5 8 那么第一次取,应该是这样取: 1 2 3 4 6 8 9 也就是先取开头比较小的,然后轮流取,注意一定保证递增,也就是对于苹果 ......
果篮 题解 CSP-J 2021 CSP

[题解]CFgym103470E Paimon Segment Tree

Paimon Segment Tree 区间加,求一段时间内的区间平方和。 \(n, m, q \le 5 \times 10^4\)。 对时间维差分一下,变成询问区间历史平方和。 离线下来扫描线,扫描线维护时间维,数据结构维护序列维。 考虑维护二元组 \((a, s)\) 表示当前位置值为 \(a ......
题解 103470E Segment 103470 Paimon

A2OJ Ladder 21 简要题解

https://earthshakira.github.io/a2oj-clientside/server/Ladder21.html 只记录 Difficulty level >= 8 的。有很多题是口胡的。写了的会标注提交记录。还有些很久以前写过的题就懒得搬提交记录了。 71. CF444E D ......
题解 简要 Ladder A2OJ 2OJ

题解:疯狂lcm

%你赛打到一半来写个题解 link:疯狂lcm 题意,求: \[\sum_{i=1}^{n}lcm(i,n) \]不多说废话,直接开推: \[\begin{aligned} &=n\sum_{i=1}^{n}\frac{i}{gcd(i,n)}\\ &=n\sum_{d\mid n}\sum_{i= ......
题解 lcm

【题解】CF1142E - Pink Floyd

CF1142E - Pink Floyd https://www.luogu.com.cn/problem/CF1142E 粉边构成 dag 的做法显然。 然后就是不构成 dag,那么我们可以枚举没有遍历到的点求一个 dfs 生成树,dfs 生成树的性质是删掉的边只会是返祖边,返祖边连接的两个点就不 ......
题解 1142E Floyd 1142 Pink

P5521 题解

一道比较不错的思维题。 对于树上的每一个节点,我们考虑设节点 \(i\) 要放 \(w_i\) 朵梅花,如果从梅岭带出 \(ans_i\) 朵梅花,就在节点 \(i\) 上放 \(w_i\) 朵梅花。 具体地,有以下两种情况: 第一种情况,梅花直接放所有子节点再放父节点。则易知 \(w_i+\sum ......
题解 P5521 5521

Codeforces Round 908 (Div. 2) D. Neutral Tonality

题目链接 题面翻译 给定两个序列 \(a,b\),将 \(b\) 中所有元素以任意顺序在任意位置插入 \(a\) 中,使得形成的新序列 \(c\) 的最长上升子序列最短,输出你的序列 \(c\)。 思路 首先我们可以确定一点,a数组的元素,在c数组中他们的顺序是不会有任何变化的。 说明LIS(C)> ......
Codeforces Tonality Neutral Round 908

Codeforces Round 428 (Div. 2) B. Game of the Rows

题目链接 题面翻译 现在有 \(K\) 个队,飞机有 \(N\) 排座位,每排能坐 \(8\) 个人,不同队伍的人不能坐相邻的位置。 相邻情况有 \(5\) 种 \((1, 2), (3, 4), (4, 5), (5, 6), (7, 8)\)。请问这 \(n\) 排座位是否够坐。 (\(K\) ......
Codeforces Round Game Rows 428

Codeforces Round 908 (Div. 2) C. Anonymous Informant

题目链接 题面翻译 给定长度为 \(n\) 的数列 \(a\),定义一次轮换为将 \(a_1,a_2,\cdots,a_n\) 变为 \(a_2,a_3,\cdots,a_n,a_1\)。 定义一次操作为,先选择一个满足 \(a_x=x\) 的数 \(x\),然后对数列做 \(x\) 次轮换。 再给 ......
Codeforces Anonymous Informant Round 908

leetcode322题解

今天来解析一下一道中等的leetcode题,题目如下: 给你一个整数数组 coins ,表示不同面额的硬币;以及一个整数 amount ,表示总金额。 计算并返回可以凑成总金额所需的 最少的硬币个数 。如果没有任何一种硬币组合能组成总金额,返回 -1 。 你可以认为每种硬币的数量是无限的。 示例 1 ......
题解 leetcode 322

cf908(div2)题解(补题)

纪念这次div2让我上绿名,但还是有点遗憾,差一点就可以过三题超神了 比赛链接cf908div2 A 这题是个骗人题,整个比赛会停下来就是一个人赢够了回合数,那么在谁这停下来就是谁赢了整个比赛,不用管每回合赢得规则。 #include<iostream> using namespace std; # ......
题解 div2 908 div cf

Codeforces Round 908 (Div. 2)

A. Secret Sport 题意:A与B选手在下棋,规定下赢X把看作赢一局,一共赢Y把的那个是最后的赢家。 思路:因为不知道x,y到底是多少,n的范围是到20,所以只需要枚举x即可,时间复杂度不高,注意的是,如果枚举结果是A赢,那么给定字符串的最后一个值一定是A,反之也是。 #include<b ......
Codeforces Round 908 Div

P4069 题解

简要题意 给定一棵 \(n\) 个点的树,树有边权。 对每个点维护一个集合 \(S_u\),一开始集合均包含整数 \(123456789123456789\)。 设 \({\rm dis}_{a,b}\) 为树上两点 \(a\),\(b\) 的距离。 共 \(m\) 次操作,分为如下两种: s t ......
题解 P4069 4069

CF650D 题解

一、题目描述: 给你一个长度为 $n$ 的序列 $a_1\sim a_n$,$0 \le a_i \le 1\times 10^9$。 现在有 $m$ 次操作,第 $i$ 次操作将位置 $p_i$ 的数变为 $v_i$,$1\le v_i\le 1\times 10^9$。 操作仅对本次有效,并不会 ......
题解 650D 650 CF

『题解』CF213E - Two Permutations

Luogu CodeForces 首先数据范围是 \(2\mathrm{e}5\),支持枚举,问题留给了判断子序列。不简单想到了哈希,一开始想到的是树状数组,发现树状数组比较菜,就转向了线段树。 一开始先把 \(b\) 中的 \(1\sim n\) 加到线段树里,然后不断的删除最小的,加入最大的,这 ......
题解 Permutations 213E 213 Two

## [HNOI2010] 取石头游戏题解

[HNOI2010] 取石头游戏 前言: 个人感觉这道题很有难度,很有思维,这种博弈方式也值得积累。 正文: 确定博弈:首先你得知道,很多博弈题目都是假的,可能是贪心啊什么的。这道题看起来是两个人都想要自己的得分更大,但是实际上为了让自己得分更大,就必须让对方在对方的回合中取的少一些。因此这肯定是博 ......
题解 石头 HNOI 2010

P2146 [NOI2015] 软件包管理器 题解

[NOI2015] 软件包管理器 题目背景 Linux 用户和 OSX 用户一定对软件包管理器不会陌生。通过软件包管理器,你可以通过一行命令安装某一个软件包,然后软件包管理器会帮助你从软件源下载软件包,同时自动解决所有的依赖(即下载安装这个软件包的安装所依赖的其它软件包),完成所有的配置。Debia ......
题解 软件包 P2146 软件 2146

Codeforces Round 908 (Div. 2)

https://codeforces.com/contest/1894 A题题意说一堆,还看了好几次,读懂之后就很简单,直接输出最后的。 B题直接数一下有多少个大于2的块即可。 C题每次找到最后一个,判断一下即可,同时打上标记,保证时间复杂度。 D题手玩之后发现我们可以用以下方式插入b 将大于等于a ......
Codeforces Round 908 Div

Codeforces Round 908 (Div. 2) A-C

Codeforces Round 908 (Div. 2) A. Secret Sport 题意: 一个长为n的字符串,A表示A赢,B表示B赢。当一局比赛中A或B赢下X场,则A或B赢得此局。当A或B赢下Y局,则其胜利。结束比赛 思路: 最后一场比赛的获胜者就是整个比赛的获胜者 代码: #includ ......
Codeforces Round 908 A-C Div

CodeTON Round 5 (Div. 1 + Div. 2, Rated, Prizes!)

https://codeforces.com/contest/1842 C题很像leetcode上买股票那几题的套路,直接dp就行 \(z=max\{i-j+1+g[j-1] (a[i]=a[j]) \}\),g[j]表示以i结尾的最大值,很显然可以将跟j有关的项分离出来,然后对于每种ai维护最大值 ......
Div CodeTON Prizes Round Rated