acwing abc dfs 97

2023 ABC做题记录

AGC037F 题目传送门 第一步,考虑判断序列是否合法。 通过对于属于等级 $k$ 的定义将定义反推:$s$ 中最小的元素 $x$,找到所有 $x$ 的连续段。设一个连续段的长度是 $len$,若 $len < l$ 则不合法,否则将这一段合并为 $\lfloor \frac {len}l \rf ......
2023 ABC

AtCoder Beginner Contest(abc) 314

B - Roulette 难度: ⭐ 题目大意 有一个猜数字的游戏, 有n个人参加, 每人都猜了若干个数; 最后给出答案数字; 在所有猜中数字的人中输出猜数数量最少的人的编号;(可能不止一个); 解题思路 数据不大, 暴力即可; 神秘代码 #include<bits/stdc++.h> #defin ......
Beginner AtCoder Contest 314 abc

abc194f O(nk)题解

前言 洛谷唯一的题解似乎是 \(O(nk^2)\) 的,怎么卡过去的orz 这里提供一种与 AT 官方题解时间复杂度相同的 \(O(nk)\) 做法。 Solution 题意很显然,就不解释了。 一眼丁真,考虑数位 dp。 设 \(dp_{i,j}\) 表示做到第 \(i\) 位,不同的个数有 \( ......
题解 194f abc 194 nk

acwing300任务安排1对“费用提前计算”的解释

我们考查对任意一种方案答案的构成 假设最终方案只有这三段 那么很显然,答案为$$(S+sumT_[i])\cdot sumC_{i}+(2S+sumT_[j])\cdot (sumC_{j}-sumC_{i})+(3S+sumT_[n])\cdot (sumC_{n}-sumC_{j})$$ 我们换 ......
费用 任务 acwing 300

AtCoder Beginner Contest(abc) 313

B - Who is Saikyo? 难度: ⭐ 题目大意 选择有n个人, 给出m个强弱关系, 例如a比b强, 这种强弱关系是可以传递的, 如果b比c强, 那么a就b强; 请问这n个人中最强的是谁, 如果根据给出的强弱关系无法确定最强者, 那么就输出-1; 解题思路 我们可以用建树的思想找入度即可, ......
Beginner AtCoder Contest 313 abc

力扣1026. 节点与其祖先之间的最大差值(DFS)

给定二叉树的根节点 root,找出存在于 不同 节点 A 和 B 之间的最大值 V,其中 V = |A.val - B.val|,且 A 是 B 的祖先。 (如果 A 的任何子节点之一为 B,或者 A 的任何子节点是 B 的祖先,那么我们认为 A 是 B 的祖先) 示例 1: 输入:root = [ ......
差值 节点 祖先 之间 1026

[ABC326D] ABC Puzzle 题解

题意: 给定整数 \(N\),字符串 \(R,C\),构造满足以下条件的 \(N\times N\) 矩阵: 1.每一行和每一列中 \(A,B,C\) 各有且仅有一个。 2.第 \(i\) 行的第一个字母等于字符串 \(R\) 的第 \(i\) 个字符。 3.第 \(i\) 列的第一个字母等于字符串 ......
题解 ABC Puzzle 326D 326

AtCoder Beginner Contest(abc) 312

B - TaK Code 难度: ⭐ 题目大意 题目定义一种矩阵X: 该矩阵的是一个长度为9的由黑白色块组成正方形矩阵; 该矩阵的左上角和右下角都是一个3*3的黑色矩阵(总共18个), 这两个黑色矩阵外面(边缘不算)包围一圈白色色块(总共14个); 现在一个 n * m的黑白矩阵, 问这个大矩阵中有 ......
Beginner AtCoder Contest 312 abc

[ABC235G] Gardens

[ABC235G] Gardens 题目描述: 有三种不同颜色的球,分别有 \(A,B,C\) 个。(相同颜色的球之间不区分) 将球放入 \(N\) 个不同的盒子中,要求: 每个盒子至少放了一个球 每个盒子不能存在两个相同颜色的球 可以不放完所有的球 求放置方案数对 \(998244353\) 取模 ......
Gardens 235G ABC 235

归并排序 Acwing 787

归并排序最重要的一部便是归并,我们的模板顺序为: 定义一个中间值,将我们的区间范围一分为二,我们将 这两部分看成两个数组,我们分别将这两个数组进行归并 排序,并且定义一个新的数组,将这两个数组排序好后导入 到这个新数组中,并最后将这个定义的数组输出为原数组,即可 实现归并排序。 1 #include ......
Acwing 787

二分模板 Acwing 789 数的范围

二分一定有解,若出现无解,一定是题目中无解二分步骤:定义check函数,先找到一个x,使得区间左边满足条件区间右边不满足条件, 定义mid = l + r >> 1去判断于x的关系,此时需要判断边界关系,例如当a[mid]小于x时,说明二分值在x的左边,此时缩小范围为【mid,r】, 即令 l = ......
范围 模板 Acwing 789

题解 ABC326E【Revenge of "The Salary of AtCoder Inc."】

根据期望的线性性,总工资的期望等于在每一个 \(i\) 处获得的工资的期望之和,而在 \(i\) 处获得的工资的期望 \(E(i)=A_i\times p(i)\),其中 \(p(i)\) 表示掷骰子掷到 \(i\) 且有效的概率。 初始 \(p(0)=1\),则只有从 \(0\sim i-1\) ......
题解 quot Revenge AtCoder Salary

《AT_abc326_g Unlock Achievement》解题报告

考场上压根没想到网络流,感觉这题是做过的网络流里算质量比较高的了。 首先我们肯定是想直接贪心,但是发现怎么贪心都没办法,而且数据范围非常小,一般数据范围非常小,且贪心不了但又只能贪心的题就用网络流实现。 考虑如何建模,首先我们发现权值有正有负,考虑最大权闭合子图,正权值连汇点,负权值连源点。 正权值 ......
Achievement 报告 AT_abc Unlock 326

AT_abc326_d ABC Puzzle 题解

AT_abc326_d ABC Puzzle 题解 看题 事实上,即使在 \(N=5\) 的情况下,也只有 \(66240\) 个网格满足「每行/每列恰好包含一个 A、B 和 C」。——官方题解 其实看到这道题,就感觉是搜索,这很显然。 但是我们会发现,最最最 native 的搜索,是 \(4^{5 ......
题解 AT_abc Puzzle 326 ABC

AT_abc325_g offence 题解

AT_abc325_g offence 题解 一道不难但是需要想一想的区间 DP。 有一个比较复杂的例子:ooofofxxx,简单的分析可知,一个 of 后面删除多少,与其前、后都有关,于是考虑区间 DP。 想到这里,其实问题已经解决一半了。 状态设计 设 \(f(l,r)\) 为闭区间 \([l, ......
题解 offence AT_abc 325 abc

AT_abc326_f Robot Rotation 题解

AT_abc326_f Robot Rotation 题解 经典问题,以前遇到过一个类似的问题:[ABC082D] FT Robot。 建议对比着看一看这两道题,是两种不同的思路。 (那一道题不用输出方案,因此可以用 bitset 优化;而此题需要输出方案,因此需要双向搜索。 思路 注意到每次只能「 ......
题解 Rotation AT_abc Robot 326

AT_abc325_f Sensor Optimization Dilemma 题解

AT_abc325_f Sensor Optimization Dilemma 题解 Date 20231025:修复手滑公式 \(\min\)、\(\max\) 写反了。 动态规划。类似背包问题。 朴素算法 记 \((x,y)\) 表示使用 \(x\) 个 (1) 传感器、\(y\) 个 (2) ......
题解 Optimization Dilemma AT_abc Sensor

AT_abc326_e Revenge of "The Salary of AtCoder Inc." 题解

AT_abc326_e Revenge of "The Salary of AtCoder Inc." 题解 一道简单的概率论+动态规划题目(然而我赛时没看这道题 题意 有一个长度为 \(n\) 的序列 \(A\)、一个 \(n\) 面骰子,掷若干次骰子,如果这一次掷骰子的点数小于等于上一次的点数, ......
题解 quot Revenge AtCoder AT_abc

AtCoder Beginner Contest(abc) 311

B - Vacation Together 难度: ⭐ 题目大意 给定n个人的工作计划, 'o'表示这天休息, 'x'表示工作; 请找出一段最长的所有人都休息的连续休息的天数; 解题思路 数据不大, 暴力即可; 神秘代码 #include<bits/stdc++.h> #define int lon ......
Beginner AtCoder Contest 311 abc

AtCoder Beginner Contest 321(ABC321)

A. 321-like Checker 直接模拟。 Code B. Cutoff 直接暴力枚举 \([0\sim100]\),每次把第 \(n\) 个数当作当前枚举的 \(i\),然后看看条件是否满足。 Code C. 321-like Searcher Description 给你一个 \(K\) ......
321 Beginner AtCoder Contest ABC

Atcoder Beginner Contest 326 (ABC326)

不知道为什么拖到现在,我是摆怪。 A. 2UP3DOWN 模拟,略。 B. 326-like Numbers 模拟,略。 C. Peak 双指针板子。 D. ABC Puzzle 基础 dfs。 但是赛时不知道为什么觉得状态数不会很少,于是写了一个巨大复杂的状压。这里粗略算算有效状态数: 仅考虑每行 ......
326 Beginner Atcoder Contest ABC

题解 ABC326G【Unlock Achievement】

题解 ABC326G【Unlock Achievement】 problem 有 \(n\) 项属性,第 \(j\) 个属性的等级 \(l_j\) 初始为 \(1\),每提升一级花费 \(c_j\) 的钱。又有 \(m\) 项成就,第 \(i\) 项成就要求对于所有 \(1\leq j\leq n\ ......
题解 Achievement Unlock 326G ABC

字符串、线性表、队列、栈、哈希表、dfs、bfs

题目列表: 1. 字符串 无重复字符的最长子串 (中等难度) 给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。 AC代码,展开查看 class Solution { public: int lengthOfLongestSubstring(string s) { int res ......
队列 字符串 线性 字符 dfs

第 369 场周赛(简单位运算,分类讨论,dfs,树形dp)

简单位运算模拟 class Solution { public: int findKOr(vector<int>& nums, int k) { vector<int> bit(32, 0); for(int i = 0; i < 31; i ++ ) { int cnt = 0; for(auto ......
树形 369 dfs dp

AcWing 3559. 围圈报数

考点:约瑟夫环问题,环形链表,队列 #include <bits/stdc++.h> using namespace std; const int N = 55; int ne[N];//链表指针数组 int main() { ios::sync_with_stdio(false), cin.tie ......
AcWing 3559

Acwing127周赛第三题 构造矩阵 (套路)

题目链接:构造矩阵 题目描述 我们希望构造一个 n×m 的整数矩阵。 构造出的矩阵需满足: 每一行上的所有元素之积均等于 k。 每一列上的所有元素之积均等于 k。 保证 k 为 1 或 −1。 请你计算,一共可以构成出多少种不同的满足条件的矩阵。 由于结果可能很大,你只需要输出对 109+7 取模后 ......
套路 矩阵 Acwing 127

AT_abc_326

好久没打 abc 了,久违的 rated 一场比赛,结果被 D 创飞了。 \(9\) 分钟把 ABC 题切掉,然后看 D 题,觉得是个简单的模拟,错了 \(5\) 次,直接把我人整懵了,一看题目 字符a,b,c只出现一次,我以为是 字符a,b,c至少出现一次,妈妈生的。 E 求期望,有个很显然的东西 ......
AT_abc 326 abc AT

ABC326

此前也没有写一整场比赛题解的习惯,那就从现在开始吧。 D: 简单的一道题,直接搜就行了。 代码: #include <bits/stdc++.h> using namespace std; typedef long long ll; template<class T>bool chmax(T &a, ......
ABC 326

ABC326

上次说我的写法low的人的AT号在这里!! 我又来提供 low 算法了。 从 D 开始。 T4 我们把 \(\text{A}\) 看成 \(1\),把 \(\text{B}\) 看成 \(2\),把 \(\text{C}\) 看成 \(3\)。 那么就可以想到状压,然后把每一行和每一列的情况状态即可 ......
ABC 326

AtCoder Beginner Contest(abc) 310

B - Strictly Superior 难度: ⭐ 题目大意 给定n个商品的价格, 每个商品还有若干个属性, 请问是否存在一个商品是另外一个商品的上位品; 上位品的定义分两种, 一是价格相同, 但是商品A的属性不仅包括了商品B的属性, 还比商品B多了至少一个属性; 二是如果两商品的属性相同, 但 ......
Beginner AtCoder Contest 310 abc