Atcoder ABC393游记
太爽了 Atcoder ABC393游记(A~F) 比赛链接 A.Poisonous Oyster 题目描述 有四个东西,编号为1 41~41 4,其中有一个有毒,如果吃了有毒的东西就会挂掉。 第一个人吃了编号为1,21,21,2的东西,第二个人吃了编号为1,31,31,3的东西。 现在给你两个字符串S1S_1S1和S2S_2S2,分别代表两个人的状态,如果是sick表示这个人挂了,如果是fine说明还活着。 问你哪个东西有毒? 思路 没啥好说的 代码 123456789101112131415161718#include<bits/stdc++.h>using namespace std;int main(){ string s1, s2; cin >> s1 >> s2; bool c1 = (s1 == "sick"), c2 = (s2 == "sick"); if (c1 && c2) { cout << 1; } else if (c1 && !c2)...
对拍,但是构造题
对拍是什么?对拍是一种校验程序正确性的方法,通过比较两个程序的同一个测试样例的输出结果,就可以做到判断正确性。 想必各位dalao们都会对拍吧,在oi这种shabi赛制中,对拍就显得尤为重要。 但是,如果你哪天运气不好,遇到了构造题,应该怎么办呢? 其实说的高大上,这个玩意其实不难,营养并不多,比赛的时候动动小聪明其实也能想到 ...
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...