acwing abc dfs 97

文心一言 VS 讯飞星火 VS chatgpt (97)-- 算法导论9.3 3题

三、用go语言,假设所有元素都是互异的,说明在最坏情况下,如何才能使快速排序的运行时间为O(nlgn)。 文心一言: 快速排序是一种基于分治策略的排序算法,其平均时间复杂度为O(nlgn)。在最坏情况下,快速排序的时间复杂度为O(n^2),这是因为当输入数组已经排序或接近排序时,快速排序的性能会退化 ......
文心 导论 算法 chatgpt VS

abc188F - +1-1x2

F - +1-1x2 做过好几道类似的题了,跟之前杭电的一道题很像。 反正就是在一个y的位置上下抖一抖再除2就行。 #include<algorithm> #include<cstdio> #include<cstring> #include<vector> #include<queue> #inc ......
188F abc 188 1x

AcWing.5151.程序调用

AcWing.5151.程序调用 有 \(n\) 个程序,编号 \(1∼n\)。 初始时,这 \(n\) 个程序都在一个调用队列当中,位于队列第 \(i\) 位的是编号为 \(a_i\) 的程序。 每个程序都有一个调用级别,根据程序在队列中的排位,排在第 \(1∼k\) 位的程序属于 \(1\) 级 ......
程序 AcWing 5151

AcWing.5150. 顶牛

AcWing.5149.简单计算 约翰的农场有\(n\)头奶牛,编号 \(1∼n\)。 为了决出谁才是牛中强者,它们之间决定来一场顶牛大赛。 已知,每两头奶牛之间都会有一场一对一对决,对决可能产生以下几种结果:没有牛被顶翻、一头牛被顶翻、两头牛都被顶翻。 所有对决的结果已经用一个 \(n×n\) 的 ......
AcWing 5150

AcWing.5149.简单计算

AcWing.5149.简单计算 给定三个整数 \(x,y,z\),请你计算并输出 \(⌊(z-y)/x⌋*x+y\) 的值。注意,⌊ ⌋ 表示向下取整。 输入格式 第一行包含整数 T,表示共有 T组测试数据。 每组数据占一行,包含三个整数 \(x,y,z\)。 输出格式 每组数据输出一行结果。 数 ......
AcWing 5149

acwing 294 计算重复

原题 首先\(conn(conn(s_2,n_2),m) = conn(s_2,n_2 \times m)\),因此我们可以找一个最大的\(m'\)满足\(conn(s_2, m')\)能由\(conn(s_1, n1)\)生成,然后再通过\(m = \lfloor \frac{m'}{n_2} \ ......
acwing 294

ABC319题解

直接从 D 开始了。 D 可可爱爱的二分捏。 check 就按照题目里写的就行了。 然后 \(l\) 的初值要注意一下,就是 \(\max^{i \le n}_{i=1}a_i\)。 代码: #include<bits/stdc++.h> #define int long long using na ......
题解 ABC 319

dfs 序 O(nlogn)-O(1) 求 LCA

学点分树,发现不会询问复杂度 \(O(1)\) 的 LCA。于是被迫递归式学习。 我们设 \(dfn_i\) 表示点 \(i\) 在 dfs 过程中第几个被访问到,把点按访问到的顺序排序得到的序列叫 dfs 序。 考虑 \(u\) 和 \(v\) 在 dfs 序上的位置之间的这一段序列有什么。 设 ......
nlogn dfs LCA

abc278题面

A 问题陈述 给你一个长度为 \(N\) 的序列 \(A = (A_1, A_2, \dots, A_N)\)。 你正好执行了下面的操作 \(K\) 次: 删除\(A\)的初始元素,并在\(A\)的尾部追加一个\(0\)。 操作后打印 \(A\) 的所有元素。 限制因素 \(1 \leq N \le ......
abc 278

Acwing393. 雇佣收银员 题解 差分约束

题目链接:https://www.acwing.com/problem/content/description/395/ 解题思路: 差分约束。 为了方便起见,定义第 \(i\) 个时间段为 \(i-1:00\) 到 \(i:00\) 这个时间段。 首先,为了方便开一个额外的点,令 \(R_i\) ......
题解 收银员 Acwing 393

《看了受制了》第二十天,7道题,合计97道

2023年9月19日 牛客,ACWING图论!思前想后,这个图论一定要从0到0.1!!! 牛客周赛 游游的字符串 题目理解 输出k个you,然后剩下的都是o即可 代码实现 #include <iostream> #include <algorithm> #include <cstring> #inc ......

abc287F - Components

F - Components 一眼经典的树上背包 \(f[x][s][0/1]\)表示在x的子树中有s个连通块,选不选x的方案数 那么转移的话就是按照背包的转移即可 然后隐约记得这个是\(O(n^2)\)的 但是一直TLE,后面发现是有一个地方写法有问题,应该在计算完当前子树后再更新的size,这样 ......
Components 287F abc 287

Acwing 5220

Acw 5220 题意 自己看 思路 假设串N长度为\(n\),串H长度为\(m\),遍历串H,对于\([i,i+n-1]\)这一段子串,如果所含字母个数与串N所含字母个数相同,则认为匹配,问题在于 如何判断 排列重合 的问题。字符串哈希。匹配的话直接将这一段的哈希值放入set中,去重,最后set的 ......
Acwing 5220

abc320f <dp >

题目 F - Fuel Round Trip 总结 关键在于状态的定义。因为每个位置尽可加油一次,因此往返会相互影响,因而必须考考虑状态中定义去时经过此地的油量j与回时经过此地的油量k,这样才能成功转移; 此外,本题状态转移比较奇特,相邻两个位置的状态的转移,在时间上包含去和回两个不同的时刻,较难理 ......
320f abc 320 lt dp

ABC 320

博主打这一次 abc 有点乱打,加上晚来了,倒开的,所以赛时只做了 abcg,def 没看。 ef 现在还没想,所以这篇文章:abcg 正常写,d 口胡(应该是对的) submissions A 可以直接 for 循环求值。(但是我用了快速幂) B 枚举左右端点,\(O(|S|)\) 判断是否回文。 ......
ABC 320

abc265F - Manhattan Cafe

F - Manhattan Cafe 暴力dp是显然的,f[s1][s2] 假设a,b是第i维中p,q两个向量分别对应的数。 那么分类讨论一下 不妨设 a<c<b \[f[i][s1][s2]= \sum f[i-1][s1-(c-a)][s2-(b-c)] \]\[=\sum f[i-1][s1+ ......
Manhattan 265F Cafe abc 265

abc320

A 题意 给你\(A\)和\(B\),输出\(pow(A,B)+pow(B,A)\) #include<bits/stdc++.h> using namespace std; typedef long long ll; #define len(x) ((int)((x).size())) #defi ......
abc 320

Atcoder abc の 初体験

[ABC320F] Fuel Round Trip 若只考虑单程的,设一个 \(dp_{i,j}\) 表示走到第 \(i\) 个加油站剩下的油为 \(j\) 的最小花费。 但是还需要考虑回来可能也要加油,所以综合考虑,设 \(dp_{i,j,k}\) 表示到第 \(i\) 个加油站去的途中有 \(j ......
Atcoder abc

[ABC320E] Somen Nagashi题解

2023-09-16 题目 题目传送门 翻译 翻译 难度&重要性(1~10):4 题目来源 AtCoder 题目算法 优先队列 解题思路 水题一道。 需要两个优先队列: 因为每一次是队首的人拿到面条,即队列中编号最小的拿面条,就用一个优先队列用来维护当前队列中的编号最小的人。 由于每一次拿了面条后再 ......
题解 Nagashi Somen 320E ABC

【题解】AtCoder-ABC320

AtCoder-ABC320A Leyland Number 依题意计算。 提交记录:Submission - AtCoder AtCoder-ABC320B Longest Palindrome 直接 \(O(n^2)\) 枚举,\(O(n)\) 判断。 提交记录:Submission - AtC ......
题解 AtCoder-ABC AtCoder ABC 320

[ABC320F] Fuel Round Trip 题解

题意 在坐标轴上给定 \(N\) 个点,坐标依次为 \(X_1, X_2, \cdots, X_N\),你需要从原点前往 \(X_N\) 并折返,其中在第 \(1\) 个到第 \(N - 1\) 个点上有加油站,其中第 \(i\) 个加油站可以花费 \(P_i\) 购买 \(F_i\) 升汽油,汽油 ......
题解 Round 320F Fuel Trip

[ABC320F]FuelRoundT

[ABC320F] Fuel Round Trip 这道题我们首先观察数据范围,发现 \(n,h\le 300\),于是就可以围绕它想一个三次方的复杂度。 这个数据范围,一般明摆着就是 DP,所以我先往 DP 方向思考。 首先思考如果只要一趟的情况,发现十分简单,令 \(dp_{i,j}\) 表示到 ......
FuelRoundT 320F ABC 320

ABC320

T1:Leyland Number 模拟 代码实现 a, b = map(int, input().split()) print(a**b+b**a) T2:Longest Palindrome 模拟 代码实现 #include <bits/stdc++.h> #define rep(i, n) f ......
ABC 320

Acwing.第121场周赛

Acwing.第121场周赛 比赛链接 这次怎么出的这么简单,偷懒了是吧哈哈哈 A. 简单计算 题目链接 #include<bits/stdc++.h> using namespace std; typedef long long ll; void solve(){ int a,b,c; cin>> ......
Acwing 121

abc253F - Operations on a Matrix

F - Operations on a Matrix 初看起来感觉不是很好搞,主要是有赋值操作,我们需要知道的是最近一次在这个行上的赋值操作以及之间的贡献 那么我们离线处理,每个3操作都往前找一个最近的同行2操作,然后两个做差就能得到中间的和。 #include<algorithm> #includ ......
Operations Matrix 253F abc 253

AtCoder Beginner Contest 126 D (图论、LCA性质、DFS、思维、*1200)

D - Even Relation 给你一棵树 (结点个数为 $ n(n \le 10^5) $, 现在需要将树上所有结点染成白色或黑色, 打印一种可行的方案(将 $ i $ 号点染成白色则输出 0, 否则, 输出 1), 满足:同一种颜色的点之间的距离是偶数。 思路: ......
Beginner 性质 思维 AtCoder Contest

多叉树应用 包括构建 dfs遍历

力扣17. 电话号码的字母组合 给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。答案可以按 任意顺序 返回。 给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。 示例 1: 输入:digits = "23" 输出:["ad","ae","af","bd","be ......
dfs

有关dfs序求lca的相关问题及常见问题

本文主要是用于警示自己避免犯错。 参考代码 dfs 序求 lca 的参考代码如下。 #include<bits/stdc++.h> using namespace std; const int MAXN=5e5+10,MAXLOG2N=20; int N,M,S,cnt,head[MAXN],dfn ......
问题 常见问题 常见 dfs lca

[ABC313F] Flip Machines 题解

题意 有 \(N\) 张卡片,第 \(i\) 张卡片正面印着一个数 \(A_i\),反面印着一个数 \(B_i\)。一开始所有数正面朝上。 有 \(M\) 种操作,第 \(i\) 种操作表示为: \(50\%\) 的概率将卡片 \(X_i\) 翻转,否则将 \(Y_i\) 翻转。 求一个集合 \(S ......
题解 Machines 313F Flip ABC

C++ 算法竞赛、08 周赛篇 | AcWing 第94场周赛 ⭐

AcWing 第94场周赛 4870. 装物品 - AcWing题库 4870 装物品 4870. 装物品 - AcWing题库 巨简单题 #include <bits/stdc++.h> using namespace std; int main() { int n; cin >> n; if ( ......
算法 AcWing