摘要: 矩阵树定理 想必大家应该都会高斯消元吧,不会的话可以看 "模板" ,我们现在着重讲一下建矩阵的方法。 前置知识:我们用到的矩阵,也就是基尔霍夫矩阵的任意一个代数余子式是所有生成树的边权积的和。 当所有边边权为1时求的就是生成树的个数了。 我们以下设 $(x,y,z)$ 为 $x$ 到 $y$ 有一条 阅读全文
posted @ 2020-03-05 17:53 wljss 阅读(481) 评论(0) 推荐(1)
摘要: 几何+双指针 题目大意:现在有 $n$ 个向量,请你选出来一些向量使它们的和的长度最大,输出最大值的平方。 假如我们已经知道了最终向量的方向,我们要想使长度最大,就需要将所有投影在最终向量正方向上的向量都加起来。 所以我们可以按角度枚举最终向量的方向,我们需要加起来的就是一段移动的区间,我们可以用双 阅读全文
posted @ 2020-02-22 09:23 wljss 阅读(143) 评论(0) 推荐(0)
摘要: 忽略数据范围,我们就可以用二分图搞一搞,但事实证明我们并不能忽略(滑稽) Hall定理:对于一个二分图,设左边有个n点,右边有个m点,则左边个点能完全匹配的充要条件是:对于1 include define LL long long define lson (k 1; build(lson,l,mid 阅读全文
posted @ 2020-02-16 07:26 wljss 阅读(80) 评论(0) 推荐(0)
摘要: 题目描述 给定一个\(n\),求\(\displaystyle \sum_{i=1}^n\sum_{p|i}d(p)\),d(n)表示n的约数个数。 \(n \le 10^{11}\) 方法一: 原式等价于\(\displaystyle \sum_{i=1}^{n}\lfloor \frac{n}{ 阅读全文
posted @ 2020-02-15 15:46 wljss 阅读(205) 评论(0) 推荐(0)
摘要: 本来考试遇到一个类似的,结果没动脑子直接上的杜教筛。。 g函数取$\mu$函数就行了,f就是约数个数函数(相当于$1 1$),套用杜教筛公式就好啦,但貌似$\mu$也要杜教筛.. 注意$\displaystyle \sum_{i=1}^{n}(f g)(i)=\sum_{i=1}^{n}(1 1 \ 阅读全文
posted @ 2020-02-15 14:23 wljss 阅读(322) 评论(0) 推荐(0)
摘要: 听说要建可持久化Trie树,但是我太 ~~懒~~ 菜了,所以自己就yy了一种不用可持久化的想法。 我们先建一棵Trie树,顺便记录一下树上节点的size,这样我们就能求出一个值和所有n个数异或起来后第k小。 我们维护一个优先队列,里面的元素hao表示数列中的第hao个数,val表示a[hao]和整个 阅读全文
posted @ 2020-02-14 18:38 wljss 阅读(134) 评论(0) 推荐(0)
摘要: 题意: 给定一个$k$维的$n^k$的超立方体,超立方体的元素$A(i1,i2,...,ik)$的值为$f(i1+i2+...+ik k+1)$,f为斐波那契数列 求该超立方体的所有元素和 $1 \le n,k \le 10^9$ 输入样例 3 2 2 4 1 1 3 输出样例 5 7 1 题解 自 阅读全文
posted @ 2020-02-12 21:16 wljss 阅读(169) 评论(0) 推荐(0)
摘要: "模式字符串" 今天考了一道类似点分治的模板题,结果没做出来。 正解就是对每一个分治中心处理出前后缀的个数,统计的时候拼接一下就行了。 阅读全文
posted @ 2020-01-18 19:58 wljss 阅读(223) 评论(0) 推荐(0)
摘要: T1 \(n \le 20 ,m \le n!\) 这道题可以证明一定有解,我们每次找出 比我们要凑成的数小且是n!的约数 里最大的数就可以了。跑得飞快~ #include<iostream> #include<cstring> #include<cstdio> #define LL long lo 阅读全文
posted @ 2020-01-17 19:40 wljss 阅读(204) 评论(2) 推荐(0)
摘要: "T1" $n \le 5 \times 10^5 , a_i \le 10^8$ 今天就临时测了这么一道题。 考场上用单调栈水了70分,结果那30分还是因为少取模(捂脸) 正解是分治,先计算左半部分,再计算右半部分,跨区间的:在左区间用一个指针从右向左枚举,右边用一个j,k, 表示能在左区间取到最 阅读全文
posted @ 2020-01-16 21:02 wljss 阅读(201) 评论(3) 推荐(0)