acwing abc dfs 97

Acwing.第126场周赛

Acwing.第126场周赛 比赛链接 之前忘记整理上传了,不能有遗留问题 A.蜗牛爬井 蜗牛在 n米深的井底往上爬,每天清晨到傍晚向上爬 5米,夜间又滑下来 4米,请问像这样从某天清晨开始,第几天爬到井口? 输入格式 一个正整数 n。 输出格式 一个整数,表示爬到井口的天数。 思路: 就是一个比较 ......
Acwing 126

ABC219H Candles

很显然的区间 dp+费用提前计算。 但是每个位置上的 \(a_i\) 还有一个上限的机制,走到某个位置上时似乎还需要判断该 \(a_i\) 是否已被减完。但其实不需要,因为一旦选到负的 \(a_i\),就一定不再是最优解了,所以我们可以将走到 \(a_i\) 不大于 \(0\) 的位置时的决策看作不 ......
Candles 219H ABC 219

acwing367证明

首先,\(max(p,q)\)是下界,因为连一条边最多只能减少一个零入度点和一个零出度点,而最终的图不可能有哪怕一个零出度点或者零入度点(最后的图刚好就是一个点) 根据这个下界,我们也很容易可以构造出来一种方法,让零出度点和另一个SCC的零入度点相连即可,就像下面一样(红色边是添加的边) ......
acwing 367

[ABC299G] Minimum Permutation

ABC229G洛谷链接 atcoder链接 容易发现如果最终答案有两个相邻的数 \(b_i,b_{i+1}\) 满足 \(b_i>b_{i+1}\) 且 \(b_i\) 之后出现过,则显然可以找到另一个不劣的答案不满足这个性质 先说一个错误的结论:从前往后考虑,用链表维护答案,对于加入的一个数 \( ......
Permutation Minimum 299G ABC 299

acwing318 划分大理石

有价值分别为 1..6 的大理石各 a[1..6] 块,现要将它们分成两部分,使得两部分价值之和相等,问是否可以实现。 其中大理石的总数不超过 20000 。 输入格式 输入包含多组数据! 每组数据占一行,包含 6 个整数,表示 a[1]∼a[6] 。 当输入为 0 0 0 0 0 0 时表示输入结 ......
大理石 acwing 318

ABC219 H 区间dp 费用提前计算

ABC219 H 跟关路灯很像。 很容易注意到我们拿走的只能是一个区间,观察n的范围发现区间dp是个好想法。 朴素的想法是定义 \(f_{i,j,k,0/1}\) 为拿走i到j里面的所有数,走了k秒,现在在 i/j 的方案数。 然后发现k太大了。 咱当时的想法是希望优化复杂度,把k去掉结果发现不能保 ......
区间 费用 ABC 219

AtCoder Beginner Contest(abc) 309

B - Rotate 题目大意 给定一个n*n的矩阵, 要求把矩阵的最外围按照顺时针转动一个数据, 输出转动后的矩阵; 解题思路 数据不大, 暴力即可; 神秘代码 #include<bits/stdc++.h> #define int long long #define IOS ios::sync_ ......
Beginner AtCoder Contest 309 abc

abc203

C - Friends and Travel costs 168 模拟。 D - Pond 1622 在给定矩阵中找固定尺寸的子矩阵,使中位数最小。 中位数好像经常都是用这个性质吧。 二分答案,在01矩阵上用二维前缀和验证。 E - White Pawn 1750 \([0,2n]\times [0 ......
abc 203

abc204

D - Cooking 832 物品分两组,使重量差最小 经典背包,容量为所有物品重量和的一半,最大化重量 E - Rush Hour 2 1710 给定图,每条边 \(u\to v\) 有参数 \(C,D\),若在 \(t\) 时刻从 \(u\) 出发,则能在 \(t+C+\lfloor \fra ......
abc 204

数据结构与算法 | 深搜(DFS)与广搜(BFS)

在查找二叉树某个节点时,如果把二叉树所有节点理理解为解空间,待找到那个节点理解为满足特定条件的解,对此解答可以抽象描述为: _在解空间中搜索满足特定条件的解_,这其实就是搜索算法(Search)的一种描述。当然也有其他描述,比如是“指一类用于在数据集合中查找特定项或解决问题的算法”,又或者是“指通过... ......
数据结构 算法 结构 数据 DFS

[ABC256E] Takahashi&#39;s Anguish

题目 https://www.luogu.com.cn/problem/AT_abc256_e 图论题,是个环套树 发现环上的边要取掉一条(min),其他的不用取 https://www.luogu.com.cn/record/131488937 ......
Takahashi Anguish 256E ABC 256

P9669 [ICPC2022 Jinan R] DFS Order 2

Description P 有一棵树,根节点是 \(1\),总共有 \(n\) 个节点,从 \(1\) 到 \(n\) 编号。 他想从根节点开始进行深度优先搜索。他想知道对于每个节点 \(v\),在深度优先搜索中,它出现在第 \(j\) 个位置的方式有多少种。深度优先搜索的顺序是在搜索过程中访问节点 ......
P9669 Jinan Order 9669 2022

[ABC176F] Brave CHAIN

[ABC176F] Brave CHAIN 洛谷:[ABC176F] Brave CHAIN Atcoder:[ABC176F] Brave CHAIN Problem hhoppitree 有 \(3n\) 张卡片,其中每张卡片上都写着 \(1\sim n\) 中的一个数,他会重复以下操作 \(n ......
Brave CHAIN 176F ABC 176

abc205

B - Permutation Check 16 检查给定数组是不是一个排列 C - POW 63 判断 \(a^c\) 和 \(b^c\) 谁大(int 范围,\(c\ge 1\),\(a,b\) 可能是负数) c = c % 2 ? 1 : 2,然后特判相等的情况,最后直接做pow比较 D - ......
abc 205

AT_abc260_e

给出 n 对点 ai ,bi ,在[1,m] 之间取一段区间。 当每一对点都有一个点在这个区间内时,这个区间合法。 求出不同长度的合法区间分别有多少个。 枚举 l, 右边r有个最小值R(l), 而 (l, j) j>r 之后的点都是合法点, 后面就是区间加,用差分维护 考虑这个 R (l) , 可以 ......
AT_abc 260 abc AT

洛谷题解 | AT_abc321_c Primes on Interval

目录题目翻译题目描述输入格式输出格式样例 #1样例输入 #1样例输出 #1样例 #2样例输入 #2样例输出 #2样例 #3样例输入 #3样例输出 #3题目简化题目思路AC代码 题目翻译 【题目描述】 你决定用素数定理来做一个调查. 众所周知, 素数又被称为质数,其含义就是除了数字一和本身之外不能被其 ......
题解 Interval AT_abc Primes 321

[ABC231E] Minimal payments 题解

题目传送门 一道贪心题。 感觉很裸啊,模拟赛时随便乱写了个暴力递归就能过。每次找最接近钱数 \(x\) 的面额 \(num\),如果比钱数少那么答案为剩下 \(x \bmod num\) 钱数的答案加上 \(x \div num\)。否则答案则为剩下 \(num-x\) 钱数的答案加上 \(1\)。 ......
题解 payments Minimal 231E ABC

[ABC234E] Arithmetic Number 题解

题目传送门 一道枚举题。 暴力枚举数字位数、首位、等差数列的公差即可。注意公差的枚举范围,并且需要看看末尾合不合法。顺便提一下,我是用字符串存储枚举的数字的,所以写了一个 check 函数代替大于号。 Code #include <bits/stdc++.h> using namespace std ......
题解 Arithmetic Number 234E ABC

[ABC118D] Match Matching 题解

题目传送门 一道 dp 题。 在 dp 之前,我们需要明确以下几个东西: 状态的表示,状态转移方程,边界条件跟答案的表示。 状态的表示 \(dp_i\) 表示恰好用完 \(i\) 根火柴能拼出来的最大数字。 状态转移方程 \[dp_i = \max\{j \times 10^{len(dp_{i-w ......
题解 Matching Match 118D ABC

对acwing355异象石引理的证明

首先我们抽象一下这道题的模型,然后把引理记住 模型:对于一棵树上选定的一些点,把他们连通起来的最小边数 我们先考虑一种朴素做法,对于任何一种方案,任取其中两个点,那么这个方案一定包含这两个点之间的路径 就是说,我们依次添加每个点,对于每一个新添加进来的点,让这个点与其已经添加的点求路径,然后把路径上 ......
acwing 355

ABC323D题解

ABC323D Merge Slimes 题目简述 小 A 有 \(N\) 种橡皮泥。对于第 \(i\) 种橡皮泥,它的大小为 \(S_i\) 且一共有 \(C_i\) 个。 小 A 可以合成两个大小相同的橡皮泥,若这两个橡皮泥大小为 \(X\),则新和成的橡皮泥大小为 \(2X\)。 小 A 想知 ......
题解 323D ABC 323

ABC325

T1:Takahashi san 模拟 代码实现 #include <bits/stdc++.h> using namespace std; int main() { string s, t; cin >> s >> t; cout << s << ' ' << "san"; return 0; } ......
ABC 325

Codeforces Round 875 (Div. 2) C. Copil Copac Draws Trees( DFS )

Codeforces Round 875 (Div. 2) C. Copil Copac Draws Trees 思路: 在输入树的边的同时记录他们的输入顺序 从 1 开始跑 DFS ,遇到未连上的边时 , 有两种情况(用 q 表示当前点的顺序序号) 1.边的顺序在这个点连上之前,那么 DFS 的 ......
Codeforces Round Copil Copac Draws

DFS 剪枝

DFS 剪枝 \(DFS\) 是一种常见的算法,大部分情况下,很少会爆搜为正解的题目。因为 \(DFS\) 的时间复杂度特别高。 我们可以先写一段 dfs 的伪代码 int ans = 最坏情况, now; // now 为当前答案 void dfs(传入数值) { if (到达目的地) { ans ......
DFS

abc206

C - Swappable 171 数组中不相等的数对数量 D - KAIBUNsyo 879 每次操作可以把数组中等于 \(x\) 的数全变成 \(y\),问变成回文数组至少需要几次操作 简单的不错的并查集模拟题 #include <bits/stdc++.h> using namespace s ......
abc 206

ABC209E Shiritori 题解

ABC209E Shiritori 题解 原题:洛谷AT_abc209_e 分析 博弈,可重复选,一眼图论,将每个单词的前三个字符向后三个字符连边,并用后三个字符代表这个单词。 看一下样例。 5 eaaaabaa 1 2 eaaaacaa 1 3 daaaaaaa 4 5 eaaaadaa 1 4 ......
题解 Shiritori 209E ABC 209

[ABC267F] Exactly K Steps

多次询问 给出x,给出任意点y满足 dis(x,y)==m 以直径端点为根,dfs 可以发现 至少有一个y 在这个路径上 https://www.luogu.com.cn/record/130467795 ......
Exactly Steps 267F ABC 267

Acwing 最长上升子序列

题目 给定一个长度为 N 的数列,求数值严格单调递增的子序列的长度最长是多少。 输入格式 第一行包含整数 N。 第二行包含 N 个整数,表示完整序列。 输出格式 输出一个整数,表示最大长度。 数据范围 1≤N≤1000 −10^9≤数列中的数≤ 10^9 输入样例: 7 3 1 2 1 8 5 6 ......
序列 Acwing

AtCoder Beginner Contest(abc) 308

B - Default Price 题目大意 小莫买了n个寿司, 现在给出m个寿司的名称和m+1个价格, 如果小莫买的其中一个寿司不在这m个寿司之中就用价格m0; 请问小莫买的寿司花了多少钱 解题思路 数据不大, 暴力哈希即可; 神秘代码 #include<bits/stdc++.h> #defin ......
Beginner AtCoder Contest 308 abc

[ABC207F] Tree Patrolling 题解

[ABC207F] Tree Patrolling 弱智 DP 题,设 \(f(i,j,0/1/2)\) 表示在点 \(i\),子树中有 \(j\) 个点被覆盖,且 \(i\) 点自身状态是未被覆盖/被自身覆盖/被某个儿子覆盖,然后树上背包更新就行了。 代码: #include<bits/stdc+ ......
题解 Patrolling 207F Tree ABC