题解p9580 round game

Educational Codeforces Round 150 (Rated for Div. 2) B. Keep it Beautiful

数组 \(a = [a_1, a_2, \cdots, a_n]\) 被称为是美丽的,如果可以将 \([1, x]\) 段移到 \([x + 1, n]\) 段后面,\(x \geq 0\) ,数组可以构成非降序。 现在有一个数组 \(a\) (一开始为空)和 \(q\) 个询问,第 \(i\) 个 ......
Educational Codeforces Beautiful Round Rated

Codeforces Round 884 (Div. 1 + Div. 2) B. Permutations & Primes

给一个正整数 \(n\) ,你需要构造一个 \(n\) 的排列 \(p_1, p_2, \cdots, p_n\) 。对于排列 \(p\) 的每个子段 \([l, r]\) ,\(mex_{i = l}^{r} a_i\) 的结果为质数的次数尽可能多。 此处的 \(mex\) 最小排除值最低为 \( ......
Permutations Codeforces Div Primes Round

题解 CF1651F【Tower Defense】

一个塔防游戏。 一共有 $n$ 个塔按 $1 \sim n$ 的顺序排成一列,每座塔都有魔力容量 $c_i$ 和魔力恢复速率 $r_i$。对于一座塔 $i$,每过一秒它的魔力 $m_i$ 会变为 $\min(m_i+r_i, c_i)$。每座塔初始时满魔力。 一共有 $q$ 个怪物,每个怪物有两... ......
题解 Defense 1651F Tower 1651

【题解 CF840C & P4448】 On the Bench & 球球的排列

On the Bench 题面翻译 给定一个序列 \(a(a_i\le 10^9)\),长度为 \(n(n\le 300)\)。 试求有多少 \(1\) 到 \(n\) 的排列 \(p_i\),满足对于任意的 \(2\le i\le n\) 有 \(a_{p_{i-1}}\times a_{p_i} ......
题解 amp Bench P4448 4448

P9506 题解

blog。First solution /kx。 容易想到断环成链。打开标签发现是 DP,于是就可以 DP 了。 code,时间复杂度 \(O(\text{能过})\)。 ......
题解 P9506 9506

NOIP2018PJ T3 摆渡车(2023.10第二版题解)

题目链接 题意: 时间轴上分布着$n$位乘客($1\le n\le 500$),$i$号乘客的位置为$t_i$(0\le t_i\le 4\times 10^6),用互相距离不小于$m$的车次将时间轴分为若干部分,并管辖以自己为右端点的这个区间(除了第一趟车包括$0$,其他车次左开右闭),求最小费用 ......
题解 摆渡 2023.10 NOIP 2018

Codeforces Round 882 (Div. 2) B. Hamon Odyssey

给一个长为 \(n\) 的数组 \(a_1, a_2, \cdots, a_n\) 。定义 \(f(l, r) = \&_{i=l}^{r} a_i\) 。 你需要对 \(a\) 进行分段,使得各段的 \(f(l, r)\) 之和最小。在各段 \(f(l, r)\) 之和最小的情况下,尽可能分出更多 ......
Codeforces Odyssey Round Hamon 882

AT_arc100_b 题解

题意 这道题是让我们把一段区间分成四个不为空的连续子序列,并算出每个区间的和,最后用四个和的最大值减去最小值,算出最终答案。 分析 大家首先想到的肯定是暴力法用三个循环枚举四个区间,对于每一个区间,在单独算和,这样的时间复杂度 $O(n^4)$,肯定会超时。 现在我们进行优化:最后求和的过程我们可以 ......
题解 AT_arc 100 arc AT

SP26719题解

考虑动态规划。 思路 设 \(dp_{i,j}\) 为 \((1,1)\) 到 \((i,j)\) 的方案数,而如果要到这个点,肯定是从左边和上边来。 所以递推公式为:\(dp_{i,j}= dp_{i,j-1} + dp_{i-1,j}\)。 预处理:将横或纵坐标为 1 的点赋值为 1,因为到达这 ......
题解 26719 SP

P9700题解

思路 看数据范围,发现范围很小,直接用搜索。 搜索时枚举每个点,如果有棋子就枚举方向,如果这个方向合法,则将剩余棋子数减一,继续搜索。 搜索时参数只需要传当前棋子数就行了。 有以下几点需要注意 多组数据每次需要初始化。 判断是否合法时要注意。 每次记得回溯棋子。 AC CODE #include<b ......
题解 P9700 9700

CF1873B题解

这题其实可以数学方法差小积大解决。 差越小积越大,那肯定是让最小的数加一啦。将所有数的积除以最小值再乘上最小值加一。 #include<bits/stdc++.h> using namespace std; signed main(){ int T; cin>>T; while(T--){ long ......
题解 1873B 1873 CF

AT_abc134_d Preparing Boxes题解

简述题意 这什么破翻译,看了 AtCoder 的英文才看懂。 给定一个长度为 \(n\) 序列 \(a\),要求构造一个数列 \(b\),使得对于任意 \(i\),满足: \(1 \le i \le n\) 将 \(b\) 序列下标为 \(i\) 的倍数的值相加使得这个总和模 2 等于 \(a_i\ ......
题解 Preparing AT_abc Boxes 134

P4899 [IOI2018] werewolf 狼人 题解

P4899 [IOI2018] werewolf 狼人 题解 题目描述 省流: \(n\) 个点,\(m\) 条边,\(q\) 次询问,对于每一次询问,给定一个起点 \(S\) 和终点 \(T\) ,能否找到一条路径,前半程不能走 \(0\thicksim L-1\) 这些点,后半程不能走 \(R+ ......
题解 werewolf P4899 4899 2018

【题解 P8773】 选数异或

[蓝桥杯 2022 省 A] 选数异或 题目描述 给定一个长度为 \(n\) 的数列 \(A_{1}, A_{2}, \cdots, A_{n}\) 和一个非负整数 \(x\), 给定 \(m\) 次查询, 每次询问能否从某个区间 \([l, r]\) 中选择两个数使得他们的异或等于 \(x\) 。 ......
题解 P8773 8773

CF1868C Travel Plan 题解

原题 翻译 发现所有长度相同的简单路径的权值可能情况相同,且最长的简单路径长度为 \(O(\log n)\) 级别,考虑维护所有长度的简单路径在一棵树上出现的次数,每种简单路径的权值在所有树上出现的次数,相乘即使答案。 我们考虑长度为 \(x\) 的路径对答案的贡献,考虑枚举这条路径的贡献 \(k\ ......
题解 Travel 1868C 1868 Plan

【dp】【竞赛图的性质】ARC163D Sum of SCC 题解

ARC163D 发现这个竞赛图一定能被分为两个集合 \(A\),\(B\)。满足 \(\forall u\in A,v\in B\),均有 \(u\to v\in E\)。答案就是划分这两个集合的方案数。 证明: 首先,竞赛图缩完点后一定是一条链,对强连通分量进行标号,满足编号小的强连通分量指向编号 ......
题解 性质 163D ARC 163

【根号分治】P9212 「蓬莱人形」 题解

P9212 看到除法相关容易想到根号分治。 先对 \(x,y\) 进行讨论,不妨令 \(0\le x,y<m\)。 \(x<y\) 时,当满足 \(a_i+y < m\) 或 \(a_i+x\ge m\) 时,即当 \(a_i<m-y\) 或 \(a_i\ge m-x\) 满足 \((a_i+x)\ ......
根号 题解 人形 P9212 9212

【前缀和优化 dp】CF1542E1 Abnormal Permutation Pairs (easy version) 题解

CF1542E1 首先时间复杂度肯定是 \(\mathcal{O}(n^3)\) 的。 容易想到先枚举最长公共前缀,然后枚举 \(p_{len+1}\) 和 \(q_{len+1}\),再枚举逆序对数进行统计。 令 \(f_{i,j}\) 表示有 \(j\) 个逆序对的 \(i\) 阶排列的个数。 ......
题解 前缀 Permutation Abnormal version

【前缀和优化 dp】CF1542E2 Abnormal Permutation Pairs (hard version) 题解

CF1542E2 首先时间复杂度肯定是 \(\mathcal{O}(n^3)\) 的。 容易想到先枚举最长公共前缀,然后枚举 \(p_{len+1}\) 和 \(q_{len+1}\),再枚举逆序对数进行统计。 令 \(f_{i,j}\) 表示有 \(j\) 个逆序对的 \(i\) 阶排列的个数。 ......
题解 前缀 Permutation Abnormal version

【树上背包】CF1856E1 PermuTree (easy version) 题解

CF1856E1 发现题目的要求只需要相对的大小关系,考虑一个子树时,不妨令子树内部编号连续。类似于一个 dp,这样也可以更好地将信息由儿子转移到父亲。 设 \(u\) 的孩子为 \(v_1,v_2,\dots,v_k\)。由于每棵子树内的编号是连续的,令以 \(v_i\) 为根的子树的编号为 \( ......
题解 背包 PermuTree version 1856E

【区间 dp】P5189 [COCI2009-2010#5] ZUMA 题解

P5189 容易想到区间 dp,考虑设计状态。 首先如果只有 \(l,r\) 两维的话,是无法转移的。然后发现 \(m\) 是转移的一个必要的条件,可加入 \(m\) 这一维。由于是区间 dp,所以只需考虑向左或向右加珠子,不妨令 \(f_{i,j,k}\) 消除 \([i,j]\) 以及 \(i\ ......
题解 区间 P5189 5189 2009

【dp】【进制】P3464 [POI2007] WAG-Quaternary Balance 题解

P3464 显然的,先将原数变为四进制的数。 由于算的是进位/不进位的代价最小值和方案数,容易想到 dp。 这里假定该四进制数是从高位到低位的,顺序显然是由低位到高位。 令 \(f_{i,0/1}\) 表示第 \(i\) 位进 / 不进位的最小代价,\(g_{i,0/1}\) 表示的是最小代价下的方 ......

3D Math for Graphics and Game笔记

这个机器人的原点在世界坐标系下的(4.5,1.5),而她右肩膀上的那个灯的模型坐标系为(-1,5),怎样计算这个灯的世界坐标呢? 开始: 获取原点,这个原点为(4.5,1.5) 向右移动一个位置,机器人的"左边"是[0.87,0.50],这样得到的位置为(4,5,1.5) + (-1)X[0.87, ......
Graphics 笔记 Math Game for

Educational Codeforces Round 152 (Rated for Div. 2) B. Monsters

有 \(n\) 个怪物,第 \(i\) 个怪物的血量为 \(a_i\) 。英雄一次攻击可以造成 \(k\) 点伤害,但只会攻击当前生命值最高的怪物。若有多个最高血量的怪物,则选择编号最小的怪物攻击。当怪物的血量 \(\leq 0\) 时则被消灭。 输出一个排列,表示怪物被消灭的编号顺序。 容易想到, ......
Educational Codeforces Monsters Round Rated

Codeforces Round 888 (Div. 3) C. Tiles Comeback

有 \(n\) 个瓷砖和一个正整数 \(k\) ,第 \(i\) 个瓷砖染色为 \(c_i\) 。你一开始在第 \(1\) 块瓷砖上,可以向右跳到任意一个位置的瓷砖。你可以得到一个长为 \(p\) 的路径,长度代表你曾经站过的瓷砖。 你需要确定是否存在一条长度为 \(p\) 的路径满足以下条件: 路 ......
Codeforces Comeback Round Tiles 888

Codeforces Round 888 (Div. 3) C. Tiles Comeback

有 \(n\) 块瓷砖和一个正整数 \(k\) ,第 \(i\) 块瓷砖染色为 \(c_i\) 。一开始站在第 \(1\) 块瓷砖往,然后可以开始往右跳吗,到第 \(n\) 块瓷砖停止。你可以得到的路径长度 \(p\) 为你从 \(1\) 到 \(n\) 踩过瓷砖的数量。 你需要确定是否存在一条长度 ......
Codeforces Comeback Round Tiles 888

Codeforces Round 893 (Div. 2) C. Yet Another Permutation Problem

有一个 \(gcd\) 游戏,按以下步骤进行: 选择一个 \(n\) 的排列 \(p_1, p_2, \cdots, p_n\) 。 对于每个 \(i\) ,\(d_i = gcd(p_i, p_{i \% n + 1})\) 排列 \(p\) 的 \(score\) 为数组 \([d_1, d_2 ......
Permutation Codeforces Another Problem Round

[题解] CF1790E - XOR Tree

CF1790E - XOR Tree 题意 给定一颗无根树,在可以改变任意一个点的点权操作基础上,让树上任意简单路径的异或和不为 \(0\) ,问最少需要多少次操作。 思路 假设某个点为根,设 \(pre_x\) 为 \(x\) 点到根的树上前缀异或和, \(a_x\) 为 \(x\) 的点权,则 ......
题解 1790E 1790 Tree XOR

Codeforces Round 892 (Div. 2) B. Olya and Game with Arrays

一系列 \(n\) 个数组,第 \(i\) 个数组的大小 \(m_i \geq 2\) 。第 \(i\) 个数组为 \(a_{m_1}, a_{m_2}, \cdots, a_{m_i}\) 。 对于每个数组,你可以移动最多一个元素到另一个数组。 一系列 \(n\) 个数组的 \(beauty\) ......
Codeforces Arrays Round Olya Game

Codeforces Round #870 (Div. 2) A. Trust Nobody

题解 #include <cstdio> #include <vector> #include <queue> #include <cstring> #include <algorithm> #include <iostream> #include <stack> #include <bitset> ......
Codeforces Nobody Round Trust 870