随笔分类 - ACM
摘要:总起 目前做到的有向图的强联通分量大多是模板题,按照基本套路可以完成。对于该类题目,基本解决方法如下: tarjan算法 缩点、去重边、建图 在新建的拓扑图中找出问题答案 基础结论 知识讲解 基本概念 算法原理 基础结论 tarjan缩点后的图为拓扑图 按照scc_cnt编号,倒序为拓扑序 将一个有
阅读全文
摘要:题意 牛牛们将26个字母加密,没有字母映射到自身,也没有两个字母映射到同一个字母(否则解将是不明确的)。 牛牛们只喜欢"MOO"这一个字符串,这个字符串可以在8个方向上连续。 给定加密后的图(n * m),寻找一种映射方式,使得原图中的"MOO"最多。 数据范围 \(1 \le n, m \le 5
阅读全文
摘要:题意 农夫约翰希望从 S 中删除子串 T。 他在 S 中从头开始寻找子串 T,一旦找到,就将它从 S 中删除,然后再次从头开始寻找(而不是接着往下找)。 他重复这个操作直到 S 中没有子串 T 为止。 注意,删除一个子串 T 可能会导致一个新的子串 T 的出现。 请帮助约翰完成这些操作并输出最后的
阅读全文
摘要:题意 给出三个矩形的左下角和右上角的坐标,前两个矩形代表广告牌,第三个矩形代表卡车,卡车可能会遮挡广告牌,求两个广告牌未被遮挡的面积的和。 ##输入格式 第一行包含四个整数 x1,y1,x2,y2,其中 (x1,y1) 和 (x2,y2) 表示在贝茜的二维视野中,第一个广告牌的左下角和右上角坐标。
阅读全文
摘要:797. 差分 题目链接 模板题:根据原数组构造差分数组,原数组为差分数组的前缀和数组 #include <iostream> #include <cstdio> #include <cstring> #include <algorithm> using namespace std; const i
阅读全文
摘要:1960. 闪烁 题目链接 https://www.acwing.com/problem/content/1962/ 分析 状态压缩:将二进制转化为十进制 状态转移:在十进制状态下进行转移 int last = num & 1; int temp = (num >> 1) + (last << n
阅读全文
摘要:**题目链接:**https://www.luogu.com.cn/problem/P5650 AC代码: //想出做法是一时灵感,深入理解可以模拟一下代码 #include <iostream> #include <cstdio> #include <cstring> #include <algo
阅读全文
摘要:【题目描述】 给定一个质数 n,问能否写成两个质数 a, b 的和,即 n = a + b, a, b, n均为质数; 【输入格式】 输入包括一个整数n (2 <= n <= 1e7); 【输出格式】 如果不存在这样的整数n, 输出 -1; 如果存在,输出a,b,以空格间隔开; 【解题思路】 (1)
阅读全文
摘要:【题目描述】 给定一个整数n,判断 n 是否有大于1 的奇数因数; 【输入格式】 第一行一个整数 t,表示测试数(1 <= t <= 1e4); 接下来 t 行,每行一个整数 n(2 <= n <= 1e14); 【输出格式】 若存在大于1的奇数因子,输出“YES”,否则输出“NO”; 【解题思路】
阅读全文
摘要:【题目描述】 把一个长度为n的字符串,分成(2 * k + 1)份小非空字符串。其中第i 个小字符串与第2 * k + 1 - i个字符串对称(abc与cba对称),问能不能做到; 【输入格式】 第一行输入一个整数 t (1 <= t <= 100),表示测试组数; 每组样例的第一行分别为 n, k
阅读全文
摘要:【题目描述】 满足 f(x)= x 的所有点的集合称为不动点,求 f(x)= (ax)1/2 + b 的所有不动点; 【输入格式】 第一行一个 t (1 <= t <= 100)表示数据组数; 接下来 t 行,每行两个数据 a 和 b(-1000 <= a, b <= 1000), 保证该函数至少有
阅读全文
摘要:【题目描述】 给定一个 n * m 的矩阵,求其中有多少个本质不同的正方形;(本质不同:不完全重合) 【输入格式】 第一行一个数据 t(1 <= t <= 100),表示数据组数; 接下来 t 行,每行两个数据表示 n、m(1 <= n, m <= 1e5); 【输出格式】 每行一个数据表示本质不同
阅读全文
摘要:【题目描述】 一元多项式求导,问求导后系数; 【输入格式】 第一行输入n 、k(1 <= n, k <= 100),表示多项式次数和求导次数; 第二行输入 n+1 个非负数,空格间隔,分别表示 n、n - 1、n - 2、...、0次项系数(系数范围0 - 100); 【输出格式】 输出一行(n +
阅读全文
摘要:【题目描述】 给定一个 n * m [n 行 m 列] 的矩阵,现有一人位置为(i,j)[第 i 行,第 j 列] ,只能上下左右移动,给出平面上两点(x1, y1),(x2, y2),这个人每次会以最短路线从起点位置经过到达两点再返回起点,这两个点的位置坐标可以相同,请确定两点位置,使这个人所走距
阅读全文