Tarjan算法笔记
今天是2025年2月12日,这是洛谷的占卜结果: 显然适合学习新算法,今天早上正好学了tarjan,来稍微写一写。 tarjan tarjan求SCC SCC是什么 度娘说了: 有向图强连通分量:在有向图G中,如果两个顶点ViV_iVi,VjV_jVj间(Vi>VjV_i>V_jVi>Vj)有一条从ViV_iVi到VjV_jVj的有向路径,同时还有一条从VjV_jVj到ViV_iVi的有向路径,则称两个顶点强连通(strongly connected)。如果有向图GGG的每两个顶点都强连通,称GGG是一个强连通图。有向图的极大强连通子图,称为强连通分量(strongly connected...
tqq和mmm的神奇冒险
...
Atcoder ABC392游记
Atcoder ABC392游记(A~E) 比赛链接 注:这次比赛因为有事情所以没有打,都是赛后代码,特此说明。 holy shit这次比赛这么简单我怎么没打,qwq A.Shuffled Equation 题目描述 给你一个整数序列A=(A1,A2,A3)A=(A_1,A_2,A_3)A=(A1,A2,A3)。 让B=(B1,B2,B3)B=(B_1,B_2,B_3)B=(B1,B2,B3)为A的任意一个排列。 问你有没有可能B1∗B2=B3B_1*B_2=B_3B1∗B2=B3 思路 你跑一遍全排列也不是不行,不过我们简单一点可以直接从小到大排序判断就欧克了。 代码 12345678910#include<bits/stdc++.h>using namespace std;int main(){ vector<int> a(3); cin >> a[0] >> a[1] >> a[2]; sort(a.begin(), a.end()); cout...
Atcoder ABC391游记
Atcoder ABC390个人游记(A~C,E) 比赛链接 妙啊,比taqingqiu都要苗妙妙 这次比赛是不是有个印度选手用ai三分钟一道f被atcoder封了( 乐子重开吧 话说你们是不是也不能用deepl了 A - Lucky Direction 问题陈述 您将得到一个字符串 DDD ,表示八个方向(北、东、西、南、东北、西北、东南、西南)中的一个。方向和它们的表示字符串之间的对应关系如下。 -北:‘ N ’ -东:“E” -西方:“W” -南方:“S” -东北:“NE” -西北:“NW” -东南:“SE” 西南:“SW” 打印与 DDD 表示的方向相反的字符串。问题陈述 您将得到一个字符串 DDD ,表示八个方向(北、东、西、南、东北、西北、东南、西南)中的一个。方向和它们的表示字符串之间的对应关系如下。 -北:‘ N ’ -东:“E” -西方:“W” -南方:“S” -东北:“NE” -西北:“NW” -东南:“SE” 西南:“SW” 打印与 DDD 表示的方向相反的字符串。 思路 EASY ...
ABC390游记(A~D)
Atcoder ABC390个人游记(A~D) 比赛链接 作者今天很无语,被dmy恶心后状态不好,以为atc会简单,结果又被恶心了,脑子抽了,写的不如以前详细,但是我还是不会改的( A. 12435 题面 给你一个整数序列 A=(A1,A2,A3,A4,A5)A=(A_1,A_2,A_3,A_4,A_5)A=(A1,A2,A3,A4,A5) ,它是通过对 (1,2,3,4,5)(1,2,3,4,5)(1,2,3,4,5) 进行置换得到的。 请判断 AAA 是否可以通过对 AAA 中相邻的两个元素进行1次的交换操作来按升序排序。 思路 把正确的数组弄出来,比较差异就行了,很简单。 有没看到相邻结果挂1发的乐子吗 代码 123456789101112131415161718192021222324#include<bits/stdc++.h>using namespace std;int main(){ int a[5]; cin >> a[0] >> a[1] >> a[2] >>...
ABC389游记(A~D)
Atcoder ABC380个人游记(A~D) 比赛链接 A. 9x9 题面 给你一个 333 个字符的字符串 SSS ,其中第一个字符是数字,第二个字符是字符 x,第三个字符是数字。 求 SSS 中两个数字的乘积。 思路 嗯嗯嗯嗯嗯嗯模拟就好了 代码 123456789#include<bits/stdc++.h>using namespace std;int main(){ string s; cin >> s; cout << (s[0] - '0')*(s[2] - '0'); return 0;} B. tcaF 题面 给你一个不小于 222 的整数 XXX 。 求正整数 NNN ,使得 N!=XN! = XN!=X . 这里, N!N!N! 表示 NNN 的阶乘,可以保证正好有一个这样的 NNN 。 2≤X≤3×10182 \leq X \leq 3 \times 10^{18}2≤X≤3×1018 ...
ABC388游记(A~E)
Atcoder ABC388个人游记(A~E) 比赛链接 A. ?UPC 题面 给你一个字符串 SSS 。在这里, SSS 的第一个字符是大写英文字母,第二个和后面的字符是小写英文字母。 打印由 SSS 的第一个字符和 UPC 按此顺序连接而成的字符串。 思路 a题难度稳定依旧炒鸡简单,按题意模拟即可。 代码 123456789#include<bits/stdc++.h>using namespace std;int main(){ char s; cin >> s; cout << s << "UPC"; return 0;} B.Heavy Snake 题面 有 NNN 条蛇。 最初, iii (条)蛇的厚度是 TiT_iTi ,长度是 LiL_iLi 。 蛇的重量定义为其厚度和长度的乘积。 对于满足 1≤k≤D1 \leq k \leq D1≤k≤D 的每个整数 kkk ,求每条蛇的长度增加 kkk 时最重的蛇的重量。 1≤N,D≤1001 \leq N, D \leq...