第五周专题(8.8-8.14):数学 比赛链接 线性代数 A题 轮状病毒(递推,DP,矩阵树定理) 这题是可以暴力打表找规律来求通项,或者硬推出 DP 方程,但是作为数学场的第一题,我们还是小小思考一下这题背后的数学性质:矩阵树定理。 定义 \(G\) 是一个 \(n\) 顶点的无向图,那么有度数矩阵 \(D(G)\) 为: \[D
把赛中没有过的题争取补一下 题目链接:https://codeforces.com/gym/103861 C: 其实,最后每一种字符只有两种状态: 1.出现了x,此时就已经知道该字符有多少个了 2.没有出现x,那么相当于知道了这个字符至少有多少个记为\(L_I\) 同时,我们可以维护出每一个位置不可以填某个字符 考虑从左往右
我们现在要求1~n在mod m意义下的逆元(n<m,m为素数)。 对于一个[1,n]中的数i,我们令\(k=\lfloor\frac{m}{i}\rfloor,r=m \ mod \ i\) 然后\(ki+r \equiv 0 (mod \ m)\) 两边同时乘上\(i^{-1}r^{-1}\),得到\(kr^{-1}+i^{-1} \equiv 0 (mod \ m)\) 因此\(i_{-1} \equiv -kr^{-1}(mod \
闲话 卡了一下午今天 T3 包括但不限于 卡ull 卡非正解ac自动机 《你是不是精神变态啊》 - By 某人 但是最后数据除了卡ull和ac自动机的都没用就是了 今天的歌是Meltyland Nightmare! Meltyland Nightmare 案外そんなフューチャー 那般的未来难以预料 先天的なフューチャー 天生天
求解如下形式的一元线性同余方程组(其中 \(n_1, n_2, ···, n_k\) 不 两两互质) \[\left\{ \begin{matrix}x & \equiv & a_1 & (mod \ n_1)\\ x & \equiv & a_2 & (mod \ n_2)\\ \vdots\\ x & \equiv & a_k & (mod \ n_k)\end{matrix
题传 世纪诈骗题 首先,所有子序列分别去重的和的意思是什么? 令可重集 \(S\) 为序列 \(a_l, a_{l+1}\dots a_r\) 的所有子序契合。 假设我们有一个序列 \(T\),对 \(T\) 去重后变为 \(T'\),令 \(f(T)=\sum_{x \in T'} x\),则题目所求为 \(\sum_{T \in S} f(T)\)。 显然我们不能把所有的
传送门 CF1083C Max Mex 求一条 \(\text{mex}\) 值最大的路径,相当于求一个最大的前缀 \(0,1,2,\cdots,k\) 使得点权为 \(0,1,\cdots,k\) 的点都可以被包含在同一条链中。 考虑使用线段树维护,第 \(i\) 个位置存树上点权为 \(i\) 的点的编号,如果我们能对每个区间求出其是否构成链以
扩展欧几里得 用途: 求解逆元、好像还可以解二元一次不定方程。 说句闲话:数学课老师让解二元一次方程组,讲题直接扩欧:“这显然是跑两遍EXGCD,求出最小解加膜数取个交集即可。” 于是我写了满满一黑板递归。。。 初初初阶 推导 我们已知 $a,b$ 要求 $x,y$, 使 $ax + by = \gcd(a,b)$
传送门 CF1616F Tricolor Triangles 诈骗题。限制相当于每个三元环三条边的 \(c_i\) 之和能被 \(3\) 整除,将每条边的 \(c_i\) 看做一个未知数,那么问题就是要求解若干个模 \(3\) 意义下的方程组。根据经典结论我们知道三元环最多有 \(O(m \sqrt m)\) 个,直接高斯消元复杂度为 \(O(m^
下发文件和题解 T1 接力比赛 既然要求取小白与小黑班级总 值相等时总 的最大值,那么这就可以转化为最简单的 背包问题. 设 和 分别表示小黑和小白班级中 值为 时 的最大值. 枚举 获得 和 ,那么转移显然: 然后扫一遍查询一下和的最大值即可. 点击查看代码 #include<bits/s
蚊子(A4) 作为一只明媚的兔子,要会叠被子,又得会打蚊子… 兔子住在兔子洞里。兔子洞可以看成是一棵无根树,有n个洞穴,有n-1条通道连接着n个洞穴。 每天晚上,兔子会在1号洞穴里缩成一团,睡一觉。同时,蚊子大军出动,去欺负兔子。 因为蚊子人多势众,所以它们分兵m*(m-1)路。m是整个兔子洞中只
rank 29 mark 150 题纲:T1:赛时全员AC,其他的应该不用说什么了 T2:图论,竞赛图统计强连通分量(位运算的应用) T3:计数类DP T4:线段树维护dfs序-->树剖-->染色 T2:定义竞赛图,任意两点之间都有且只有一条有向边。给你一个竞赛图n个节点,求强连通子图数量。n<=27 状压方法:就像线性筛一样,我在从
扩展欧几里得算法 acwing877.扩展欧几里得算法 裴蜀定理: 对于任意整数a、b,一定存在非零整数x、y使得\(ax + by = (a,b)\)(a和b的最大公约数) 扩展欧几里得算法可以在求得a、b的最大公约数的同时,能找到整数x、y(其中一个很可能是负数),使它们满足\(ax+by = gcd(a,b)\) 求出的x,y并不
铁锹:呃,其实我的名字是英文缩写,不是铁锹,你们不要再给我乱起外号了 什么是矩阵? 一个 \(n\times m\) 的矩阵是由数组成的 \(n\) 行 \(m\) 列的方阵。 什么是矩阵乘法? 假设有三个矩阵 \(A, B, C\),其中 \(A\) 的列数与 \(B\) 的行数相等(假设为 \(n\))。若 \(C=A\times B\),那么 \(C_{i,
沝黑。 首先这种统计路径的问题一般联想点分治,然后考虑如何处理经过一个点 \(u\) 的路径。 考虑有一个点 \(p\in u\) 的子树,然后记录路径 \(p\to u\) 和路径 \(u\to p\) 的答案。前者放入一个映射统计,后者存在数组 \(S\) 里面。 最后整体统计,枚举 \(x\in S\),设 \(x\lt M\),统计映射
算法: 1 int qmi(int a, int b, int mod) 2 { 3 //答案 4 int res = 1; 5 //乘数 6 int mul = a; 7 while (b) 8 { 9 //在二进制下b的第0位是否是1 10 //是1则要乘,否则不要 11 if (b & 1) 12 res
C. Constructive Problems Never Die 对于出现次数大于1的数字,用出现次数为0的数字填充。 剩下的数字一定两两互不相同,对这些数循环移位,最后进行判断即可。 #include<bits/stdc++.h> #define pii pair<int, int> #define fi first #define se second using namespace std; const
很萌萌的数数题。 考虑设 \(dp[n]\) 表示 \(n\) 的答案。 考虑对于一个长度为 \(n\) 的排列,令排列的所有元素 \(+1\),然后塞一个 \(1\) 进去。 容易发现,逆序对增加的数量和 \(1\) 塞的位置有关。如果 \(1\) 塞到 \(p[i]\),那么会增加 \(i-1\) 个逆序对。 所以就有 \(dp[n]=dp[n-1]\t
2022HDU多校第七场 过程 本场队友上场秒了08,是昨天刚出现的nim博弈,随后04模拟分类讨论,我巨大演员wa了2发过了,随后03一眼树形dp,想了想计数方法,随后忘情况演了一发,然后就过了。随后便开始坐牢,队友做06,我看09,09打了个\(n*m\)的暴力,发现了一点整除分块的性质,然而对于做题并没有什么卵
题意: 求有多少个 \(n × m\) 的矩阵满足 \(0\) \(≤\) \(a_i,_j\) \(≤\) \(m\) \(a_{i,j}\) \(<\) \(a_{i,j + 1}\) \(a_{i,j}\) \(<\) \(a_{i-1, j + 1}\) 首先观察到 \(a_{i,j}\) 的取值范围以及矩阵的列,得出矩阵的每一行必然有一个在 \(0\) ~ \(m\) 之间的数是不存在的。 通
CF512D Fox And Travelling 给定一张 \(n\) 个点 \(m\) 条边的无向图,每次选择一个叶子结点并将它和连接它的边删除。 对于每个 \(k\in[0,n]\),问有序选择 \(k\) 个点的方案数。 \(n\le 100\)。 显然如果有环,那么所有环上的点都无法被选择,可以选择的只是一棵棵树。 按照是否有环,可
A. Theramore 考虑只对长度为3的子串进行操作,发现偶数位置的字符不会出现在奇数位置,奇数位置的字符不会出现在偶数位置。 对奇偶位置字符进行排序即可。 #include<bits/stdc++.h> using namespace std; const int MAXN = 1e5 + 5; string S; char T[MAXN]; int num[3], n; void
A. 直接pow,代码略 B 分子分母分开处理 \(a/b\)转移到\(\frac{\frac{a}{b}+\frac{b}{a}}{2} = \frac{a^2+b^2}{2ab}\) 然后\(a'=a^2+b^2, b'=2ab\)所以\(a'+b'=(a+b)^2, a'-b' = (a-b)^2\) 可以找规律完成递推 %:pragma GCC optimize(3) #include<bits/stdc++
rank 56 grade 146 T1:水题二分 T2:数论 T2:定义f(f(f(f(x)))).....是f(x)迭代n次的结果,f(x)=(x+1/x)/2.给出多组n,x,求f(x)这样迭代n-1的结果。(n<=1e18,x<=1e18) x= \(\frac{a}{b}\) ,原式可以化为\(\frac{a^{2}+b^{2}}{2*ab}\),假设f2(x)=a2/b2,发现a2+b2=\((a+b)^{2}\),a2-b2=\((
代码拍卖会 题意 问有[ L - R ]有多少个数满足每一位都至少有 1,从左到右不减同时要能被P整除,位数<=\(1e18\). p<=500) 思路 位数贼大,基本上别想着枚举有关位数的东西 单调不减,说明什么,说明一个合法的方法我前面的 +1 后面的至少要 +1 ,如果把他们看成最多 9个 长度为 n的01串的和,