05 2022 档案
摘要:P4017 最大食物链计数 P6145 [USACO20FEB]Timeline G P2419 [USACO08JAN]Cow Contest S P1807 最长路 P1137 旅行计划 P6560 [SBCOI2020] 时光的流逝 P7860 [COCI2015-2016#2] ARTUR
阅读全文
摘要:简单分块。 用一个 map 来维护每块里的出现次数就行了。 /* Work by: TLE_Automation */ #include<map> #include<cmath> #include<queue> #include<cstdio> #include<cstring> #include<
阅读全文
摘要:就是求三个点到同一个点的最短路径。 Solution 我们知道在一颗树上,三个点的 \(LCA\) 只有两个点。 那最后肯定是移动到其中一个点上。 那移动到哪个点上更优呢。 我们都求出来然后取个 \(\min\) 不就行了嘛 /qd 于是这个蓝题就变成了 \(LCA\) 板子。 /* Work by
阅读全文
摘要:思维题。 我们考虑用倍增。 \(f[i][j][k]\) 表示从 \(i\) 到 \(j\) 有一条长度为 \(2^k\) 的路径。 转移方程为: 假设有三个点 \(i, j, k\)。 如果 \(f[i][j][M - 1] = 1\) 且 \(f[j][k][M - 1] = 1\), 则 \(
阅读全文
摘要:乱搞思路 他卡我顺序,那我打乱不就行了嘛 我直接一个 rand(),不断的交换就行了。 交了 \(10\) 遍才过。 /* Work by: TLE_Automation */ #include<cmath> #include<queue> #include<cstdio> #include<cst
阅读全文
摘要:求解线性方程组。 首先,我们要知道 \(\frac{x}{0.01}\) 和 \(\frac{x}{100}\) 的精度是 \(\frac{x}{100}\) 要大的,后面的数要小,所以精度大。 然后就是简单的模拟消元的过程了,高斯约旦消元法最后的解是一个对角线矩阵。 我构造的是一个对角线矩阵,所以
阅读全文
摘要:\(Solution\) 我们考虑模拟退火。 我们随机一个点作为炸弹炸的地方,至于炸弹的半径,贪心的想肯定是越大越好啊,所以我们先根据建筑物来找炸弹的半径。 然后再来计算这个炸弹能炸死的敌人数目即可。 然后就是愉快的调参数环节。 /* Work by: TLE_Automation */ #incl
阅读全文
摘要:题意很清楚就不说了。 \(Solution\) 看到重复的路径会重复计算异或和,再看到求异或最大值,能想到用线性基,那该怎么搞呢。 我们要从 \(1\) 号节点走到 \(8\) 号节点,我们首先要找到一条从 \(1\) 到 \(8\) 的链,是 \(1->2->7->8\)。 我们要让异或和最大,既
阅读全文
摘要:\(Solution\) 我们看到这个魔法抵消,也就是不能有异或和为 \(0\) 的子集,我们想到了线性基的性质: 线性基里没有异或和为 \(0\) 的子集。 证明非常明显:\(P_i\) 的最高位都不同,异或后肯定不为 \(0\)。 我们再考虑贪心,我们想让他的价值最大,我们就要尽量的把价值大的先
阅读全文
摘要:把 O 看成了 0 调了一上午。 \(Solution\) 我们考虑用线性基来搞,然后有几个 \(P_i\),答案就是 \(2^x\)。 /* Work by: TLE_Automation */ #include<cmath> #include<queue> #include<cstdio> #i
阅读全文
摘要:$1.$ $\gcd(0, x) = x$ 不能除 $0$ 和 $\bmod 0$ 倍增求LCA的时候 f数组开成 f[N][30] 比 f[30][N] 快一倍!!! 莫队的排序要 sort (q + 1, q + Qnum + 1, cmp)!! 是真正的询问的个数!! 做题的时候要考虑到循环是
阅读全文
摘要:定义 线性基是一个数的集合,取线性基中若干个数异或起来可以得到原序列中的任何一个数。 我们设 \(P\) 为线性基的集合,\(a\) 为原数组。 那么 \(a_i\) 都能被若干个 \(P\) 内的元素的异或和表示出来。 用途: 通常可以解决有关异或的一些题目。 线性基的性质: \(P_i\) 的最
阅读全文
摘要:前言 这篇题解可能有点啰嗦,个人还是觉得比较通俗易懂的。 这道题可能会用到点矩阵的知识,没学过矩阵的可以参考我的这篇博客: 【矩阵浅谈】 题意: 给你两个序列 \(\{a_n\},\{b_n\}\)。 告诉你一个矩阵 \(A\) 是满足 \(A_{i,j} = a_i \times b_j\) 的。
阅读全文
摘要:矩阵: 前置知识: 矩阵,定义太长了,其实就是个屑二维数组。( 他的运算也比较毒瘤。 加减法: 太屑了。 比如两个矩阵相加,其实就是对应位置加减去对应位置的数就行了。 乘除法: 乘法很毒瘤,但这就是定义,只有一个 \(a \times b\) 和一个 \(b \times c\) 的矩阵才能相乘,这
阅读全文
摘要:思路来自:@wsyear 大佬,十分感谢。 题意: 给你 \(n\) 个 \(01\) 字符串,每次取一个串后删除第一个字符,将剩下的串加入到答案串中,最大化答案串中相邻字符相等的对数。 思路: Sub1:爆搜。 我的爆搜写的比较奇怪。 记录 暴力代码 Sub2,Sub3 我们考虑贪心,首先我们把所
阅读全文
摘要:题意: 给定一个序列 \(a\),给定 \(T\) 组 \(p, k\),每次操作为 \(p = p + a_p + k\),问需要操作几次才能使得 \(p > n\)。 思路: 我们考虑根号分治。 模拟的时间复杂度为 \(\mathcal{O}(\frac{n}{k})\),如果全部数据按照模拟会
阅读全文
摘要:停课后一周补完。 分块: 数列分块入门 1: 题目描述: 给出一个长为 \(n\) 的数列,以及 \(n\) 个操作,操作涉及区间加法,单点查值。 修改操作: 如果 \(L\) 和 \(R\) 在同一个块内,直接暴力加上,复杂度不超过 \(\mathcal{O}(\sqrt n)\)。 如果 \(L
阅读全文
摘要:很明显吧,这题是分块打表的板子题。 分块打表很快啊,快如闪电,啪一下就切了。 这题连块长都不用卡,简直是分块打表的模板。 题意: 幸运数字的定义:每一位只含有 \(4\) 或 \(7\)。 找到从 \(1\) 到 \(n\) 内幸运数字的个数。 思路: 分块打表,数据范围是 \(1e9\),块长就设
阅读全文
摘要:题意: 给你 \(n\) 个人,还有他的五场成绩,第六场成绩不知道,但成绩在 \([0,500]\) 中,问每个人的最优和最劣排名。 思路: 简单模拟题。 对于每个人,他的最大排名就是自己拿 \(500\),别人都是 \(0\) 分。 他的最小排名是自己拿 \(0\) 分,别人都是 \(500\)
阅读全文
摘要:简单结论题。 题意: 有一个能装 \(z\) 个木板的桶,你有 \(x\) 个金色木板, \(y\) 个银色木板,每放进一个金色木板,下面的银色木板都会拿出来了,问是否存在方案使所有的木板都被放进去过。 思路: 最后的情况肯定是把所有的金色木板放到桶里,如果 \(z<x\),肯定无解。 然后我们贪心
阅读全文

珂朵莉树
浙公网安备 33010602011771号