省队 题解day6 day
代码随想录 day18 找树左下角的值 路径总和 从中序与后序遍历序列构造二叉树
找树左下角的值 最简单就是想到层序遍历之后取第一个位置元素就是了 递归的话需要先判断哪里最深的节点 至于最左 保持中左右的遍历顺序 第一次得到最大深度处就是最左的 路径总和 有点像查找子树路径 所以递归回溯是比较好的选择 在求路径的适合,targetSum - node->val 是否为0的判断比一 ......
AT_arc125_c [ARC125C] LIS to Original Sequence 题解
题目传送门 前置知识 贪心 | 构造 解法 对于任意一个未加入序列 \(P\) 的数 \(x<A_{i}(1 \le i \le k-1)\),如果其放在了 \(A_{i}\) 的前面,会导致最长上升子序列长度加一,从而不符合题目要求。因此我们需要把 \(x\) 放在 \(A_{i}\) 后面,同理 ......
P5321 [BJOI2019] 送别 题解--zhengjun
由于大家的做法需要大量分类讨论和代码量,这里提供一种不怎么分类的,容易实现的做法。 首先,由于墙体会随时变化,所以直接对墙体本身维护不是很方便。 我们可以牺牲一点常数,对 \((i,j)\) 建立四个点 \(UL_{i,j},UR_{i,j},DL_{i,j},DR_{i,j}\) 分别表示 \(( ......
Scala编程语言day1
一、Scala概述 Scala是一种运行在JVM上的函数式的面向对象语言,它集成了面向对象编程和面向函数式编程的各种特性,以及更高层的并发模型 Scala的语言特点 Scala是兼容的:兼容Java,可以访问庞大的Java类库 Scala是精简的:Scala表达能力强,开发速度快 Scala是高级的 ......
2024-1-13 DAY4
2024-1-13 DAY4 B - Integral Array #include <bits/stdc++.h> #define endl '\n' #define int long long using namespace std; const int N = 1e6 + 10; int n, ......
算法学习Day26组合总和、分割回文串
Day26组合总和、分割回文串 By HQWQF 2024/01/13 笔记 39. 组合总和 给定一个无重复元素的数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。 candidates 中的数字可以无限制重复被选取。 ......
P9007 [入门赛 #9] 最澄澈的空与海 (Hard Version) 题解
Upd on 2023.10.14 08:21:修改了推式子和题意的一些小错误。 前言 一道恐怖的绿题。显然我认为应该是蓝题。(不过在这篇题解写到一半的时候升蓝了,感谢 @StudyingFather。) 名字挺好的。 题意 给定 \(n\),求出满足以下条件的三元组 \((x, y, z)\) 的 ......
P2198 杀蚂蚁 题解
题目大意 有一条长度为 \(n\) 个单位长度的路,蚂蚁们要从起点走到终点。蚂蚁们每走 \(1\) 个单位距离需要 \(T\) 秒钟。现在,出题人可以在路上修筑 \(3\) 种防御塔来阻挡蚂蚁的进攻,每个单位距离只能修筑 \(1\) 座塔,塔的作用分别如下: 激光塔:蚂蚁在塔前时每秒会受到 \(r\ ......
P3243 [HNOI2015] 菜肴制作 题解
前言 今天考试考到这道题,挂惨了。 题意 有 \(n\) 道菜肴,编号为 \(1 \sim n\)。有 \(m\) 个条件,形如 \((i, j)\),表示菜肴 \(i\) 必须在菜肴 \(j\) 之前制作。需求出一个菜肴的制作顺序,满足: 在满足所有限制的前提下,\(1\) 号菜肴尽量优先制作。 ......
AT_abc243_g [ABC243G] Sqrt题解
题目大意 有一个数列,初始时只有一个数 \(X\)。你可以对它进行一种操作:设末尾的数为 \(Y\),从 \(1 \sim \sqrt{Y}\) 中选一个数加到数列的末尾。如此进行 \(10^{100}\) 次操作,问数列一共有多少种可能的状态。 解法 考虑 DP。 设 \(dp_i\) 表示以数字 ......
AT_abc243_g [ABC243G] Sqrt题解
题目大意 有一个数列,初始时只有一个数 \(X\)。你可以对它进行一种操作:设末尾的数为 \(Y\),从 \(1 \sim \sqrt{Y}\) 中选一个数加到数列的末尾。如此进行 \(10^{100}\) 次操作,问数列一共有多少种可能的状态。 解法 考虑 DP。 设 \(dp_i\) 表示以数字 ......
P9754 题解
题意 不难理解,不多赘述。 思路 首先考虑对于性质 A 的情况,我们可以这样做: 定义一个代表变量的结构体,里面存几个参数:首先肯定要存种类(\(type\))和名称(\(name\)),其次为了方便,我们把该变量的大小(\(siz\)),起始位置(\(fir\))和对齐要求(\(mx\))也存了。 ......
AT_arc167_e 题解
题意 给定 \(k\) 和一个排列 \(P'\),问有多少个排列 \(P\) 以最少步数交换相邻两个元素来进行收敛,最终的排列可能是 \(P'\),一个排列是收敛的当且仅当对于每一个数,在该数前且比这个数大的数的个数不超过 \(k\) 个。 思路 考虑正向的让一个排列收敛,我们设在第 \(i\) 个 ......
AT_agc054_c 题解
题意 给定 \(k\) 和一个排列 \(P'\),问有多少个排列 \(P\) 以最少步数交换相邻两个元素来进行收敛,最终的排列可能是 \(P'\),一个排列是收敛的当且仅当对于每一个数,在该数前且比这个数大的数的个数不超过 \(k\) 个。 思路 考虑正向的让一个排列收敛,我们设在第 \(i\) 个 ......
AT_cf17_final_j 题解
题意 给定一棵既有点权也有边权的树,构造一个完全图,图中两点间边的边权为树中两点点权之和加上两点间的距离,求该图的最小生成树。 思路 发现完全图总边数太大,考虑减少边数。 这里有一个性质: 如果在一个图中选取任意个联通的边集,使得它们的并为全集,则整个图的最小生成树中的边一定在 分割后的两个边集的最 ......
UVA11380 题解
题意 一个 \(n\times m\) 的区域内,有以下 \(5\) 种地形: ~:无法通行。 .:只能通行 \(1\) 次。 @:可以通行 \(+\infty\) 次。 *:初始有一个人的 .。 #:安全位置,可以通行 \(+\infty\) 次,但至多能容纳 \(p\) 个人。 人每次可以走到相 ......
UVA12125 题解
题意 二维平面内有 \(n\) 个冰块,给出冰块的坐标,冰块上的企鹅数和最大跳出次数,企鹅可以在冰块间跳跃,每次跳跃的距离不能超过 \(d\),问哪些冰块可以让所有企鹅跳到上面? 思路 网络流,由于每个冰块有跳出次数限制,所以把一个冰块拆成入点和出点,入点向出点连一条流量为最大跳出次数的边,由源点向 ......
CF1900E 题解
题意 给你一张有向图,点有点权,现进行以下操作直到无法进行: 选择两条首尾相连的边 \((a,b)\) 和 \((b,c)\) 且 \(a\) 与 \(c\) 间没边,添加边 \((a,c)\)。 求操作完后图中最长的 不经过重复点的路径,并求这种路径中经过的点的点权和最小值。 思路 先考虑 DAG ......
CF1896E 题解
题意 给一个 \(n\) 阶全排列 \(a\),每次把不满足 \(a_i = i\) 的 \(a_i\) 向右循环移位一位,问从移位多少次后起所有 \(i \in [1,n]\) 都满足 \(a_i = i\)。 思路 先断环成链后再复制一次,可以发现此时的移位等价于向右移位。发现一条性质:若 \( ......
CF713D 题解
题意 给一个 \(01\) 矩阵,多次求在给定区间内最大的全 \(1\) 正方形边长。 思路 容易想到二分: 先预处理出以每个位置为右下角的最大合法正方形的边长 \(mx_{i,j}\),然后对于每个询问,我们二分边长 \(mid\),设当前询问的区间左上角为 \((x_1,y_1)\),右下角为 ......
UVA11380 题解
题意 一个 \(n\times m\) 的区域内,有以下 \(5\) 种地形: ~:无法通行。 .:只能通行 \(1\) 次。 @:可以通行 \(+\infty\) 次。 *:初始有一个人的 .。 #:安全位置,可以通行 \(+\infty\) 次,但至多能容纳 \(p\) 个人。 人每次可以走到相 ......
UVA12125 题解
题意 二维平面内有 \(n\) 个冰块,给出冰块的坐标,冰块上的企鹅数和最大跳出次数,企鹅可以在冰块间跳跃,每次跳跃的距离不能超过 \(d\),问哪些冰块可以让所有企鹅跳到上面? 思路 网络流,由于每个冰块有跳出次数限制,所以把一个冰块拆成入点和出点,入点向出点连一条流量为最大跳出次数的边,由源点向 ......
CF1900E 题解
题意 给你一张有向图,点有点权,现进行以下操作直到无法进行: 选择两条首尾相连的边 \((a,b)\) 和 \((b,c)\) 且 \(a\) 与 \(c\) 间没边,添加边 \((a,c)\)。 求操作完后图中最长的 不经过重复点的路径,并求这种路径中经过的点的点权和最小值。 思路 先考虑 DAG ......
【GDKOI 2024 TG Day2】染色(set) 题解
发现我们给一个点染上色后有: 我们称这是一个大小为 1 的十字。 进一步地,我们给这 5 个点再次染上色后有: 我们称这是一个大小为 2 的十字。 同理可得,我们给这 5 个点染上相同的大小为 2 的十字,可得一个大小为 4 的十字: 假设我们图的边长为 \(N=2^n\),我们只需要染上一个大小为 ......
题解 ARC140E【Not Equal Rectangle】
萌萌构造题,随便构造构造就做出来了。似乎跟官方题解思路一样。 首先解决以下问题:给定一个质数 \(P\),构造一个每个数在 \(0\sim P-1\) 的大小为 \(P^2\times P^2\) 的矩阵,满足不存在 \(x_1\ne x_2,y_1\ne y_2\) 使得 \(a_{x_1,y_1 ......
2024-1-12 DAY3
2024-1-12 DAY3 D - Max GEQ Sum 经典线段树调几个小时 #include <bits/stdc++.h> #define endl '\n' #define int long long using namespace std; const int N = 2e5 + 10 ......
代码随想录 day17 平衡二叉树 二叉树的所有路径 左叶子之和
平衡二叉树 之前一直写迭代代码 没有怎么写递归 正好这题不是很好写迭代 练习一下递归 这题递归逻辑相对简单 左右子树高度差判断是不是大于一 可以直接返回结果 不大于一就高度max(l,r)+1 二叉树的所有路径 关键要点 这题适合先序遍历 回溯过程和递归过程是一起写的 进来几次就回溯几次 这样才能回 ......
[AGC022F] Checkers 题解
题目链接 点击打开链接 题目解法 很妙的题!!! 考虑 \(x\) 是无穷大的数,所以可以认为 \(x^i\) 的系数是单独的一项,不会和 \(x^j(j\neq i)\) 合并 所以问题转化成了:每个数初始是 \(x^i\)(\(x\) 可以理解是元),进行题目中的操作,问最后形成的 \(n\) ......
day4: BigDecimal类, Arrays类, 包装类, String类 , Collection+迭代器,增强for
作业规范【必读】 命名要求: 1. 类名,接口名,枚举名,注解名使用大驼峰 2. 变量名,方法名,包名均使用小驼峰 3. 常量名全大写,多个单词下划线分割 4. 名字要见名知意,如果不知道对应的英文,可以使用拼音代替。不可使用无意义字符 代码规范: 格式要良好,使用IDEA格式化缩进(快捷键:Ctr ......