上一页 1 ··· 8 9 10 11 12 13 14 15 16 ··· 19 下一页
摘要: 看见某大佬在做,决定补一发题解$qwq$ 首先跑出最大生成树(注意有可能不连通),然后我们要求的就是树上两点间路径上的最小边权。 我们用倍增的思路跑出来$w[u][j]$,表示$u$与的它$2^j$的祖先路径上的最小边权(其实是为了配合$lca$),然后求$lca$时顺便记一下最小边权。 码风清奇别 阅读全文
posted @ 2019-06-10 21:11 LuitaryiJack 阅读(152) 评论(0) 推荐(1)
摘要: 注意到这个在哈希时要考虑循环同构。。。所以哈希函数是$\sum a_i+\prod a_i$ 如果发现有哈希值相等的了就$ck$一下。 最后$ck$时可以用最小表示法的知识提高效率,,,先咕着。 2019.06.10 阅读全文
posted @ 2019-06-10 13:35 LuitaryiJack 阅读(160) 评论(0) 推荐(0)
摘要: 这道题可以$O(nlogn)$,当然也可以$O(n)$做啦$qwq$ $O(nlogn)$的思路是枚举每个回文中心,通过哈希预处理出前缀和后缀哈希值备用,然后二分回文串的长度,具体的就是判断在长度范围内,前缀哈希值和后缀哈希值是否相等。 还有一个$Manacher$算法,可以在$O(n)$时间里解决 阅读全文
posted @ 2019-06-10 13:30 LuitaryiJack 阅读(235) 评论(0) 推荐(0)
摘要: 首先向颜神犇致敬。。。还是自己太菜,又不仔细思考,上来就翻题解$qwq$ 首先有一种贪心方法:即,$ans=2*max(dirty_i)$ 证明:若现在的答案为$ans$,考虑一个新的数$x$对答案的贡献 然后有一种很强的做法 再次致敬。。。在$OI$中如果不能仔细思考,也只能$retire$了 2 阅读全文
posted @ 2019-06-09 23:31 LuitaryiJack 阅读(161) 评论(0) 推荐(0)
摘要: 又因为调一道水题而浪费时间。。。不过细节太多了$qwq$,暴露出自己代码能力的不足$QAQ$ 设$d=gcd(a,b)$,这题不是显然先解出来特解,即解出 $\frac{a}{d}x_0+\frac{b}{d}y_0=d$,中的$x_0,y_0$ 然后根据 $x=\frac{c}{d}x_0+k\f 阅读全文
posted @ 2019-06-09 21:07 LuitaryiJack 阅读(168) 评论(0) 推荐(0)
摘要: 又一道。。。分数和取模次数成正比$qwq$ 求:$\sum_{i=1}^N\sum_{j=1}^Mlcm(i,j)$ 原式 $=\sum_{i=1}^N\sum_{j=1}^M\frac{i*j}{gcd(i.j)}$ $=\sum_{d=1}^{N}\sum_{i=1}^{\lfloor\frac 阅读全文
posted @ 2019-06-09 17:35 LuitaryiJack 阅读(203) 评论(0) 推荐(1)
摘要: 刚学的欧拉反演(在最后)就用上了,挺好$qwq$ 题意:求$\sum_{i=1}^{N}\sum_{j=1}^{M}(2*gcd(i,j)-1)$ 原式 $=2*\sum_{i=1}^{N}\sum_{j=1}^{M}gcd(i,j)\space-m*n$ $=2*\sum_{i=1}^{N}\su 阅读全文
posted @ 2019-06-09 13:18 LuitaryiJack 阅读(224) 评论(0) 推荐(1)
摘要: 设$f(d)=\sum_{i=1}^N\sum_{j=1}^M[gcd(i,j)==d],\\F(n)=\sum_{n|d}f(d)=\lfloor \frac{N}{n} \rfloor \lfloor \frac{M}{n} \rfloor$ 则$f(n)$ $=\sum_{n|d}\mu(\f 阅读全文
posted @ 2019-06-09 11:39 LuitaryiJack 阅读(161) 评论(0) 推荐(1)
摘要: 第一道莫比乌斯反演。。。$qwq$ 设$f(d)=\sum_{i=1}^n\sum_{j=1}^m[gcd(i,j)==d]$ $F(n)=\sum_{n|d}f(d)=\lfloor \frac{N}{n} \rfloor \lfloor \frac{M}{n} \rfloor$ $f(n)=\s 阅读全文
posted @ 2019-06-09 10:12 LuitaryiJack 阅读(173) 评论(0) 推荐(0)
摘要: 1.定义 $\epsilon(n)=\begin{cases} 1& n=1 \\ 0& n >1 \end{cases}$ $I(n)=1$ $id(n)=n$ $d(n)$因子个数 $\sigma(n)$因数和 $\mu (n)$莫比乌斯函数 $\varphi (n)$欧拉函数 2.狄利克雷卷积 阅读全文
posted @ 2019-06-08 21:53 LuitaryiJack 阅读(741) 评论(0) 推荐(2)
摘要: 本文讲了 线性筛质数 线性筛$\varphi(n)$ 线性筛$\mu(n)$ 线性筛$d(n)$(因数个数) 线性筛$\sigma(n)$(约数和) 一、线性筛质数 就扔个代码吧,具体详见欧拉线性筛 和 欧拉函数的求值 inline void PRI(int n) { for(R i=2;i<=n; 阅读全文
posted @ 2019-06-08 20:37 LuitaryiJack 阅读(335) 评论(0) 推荐(0)
摘要: 心路历程:震惊,我竟然得了$90$分!!。。。康康数据。。。奥。。(忽然有了邪恶的卡数据的想法) 于是把$for(int \space i=0;i<n;++i)$改成了$for(int \space i=n-1;i>0;--i) $ 然后,我$90$~ 然后,我开了$O2$,$A$了$OvO$。。。 阅读全文
posted @ 2019-06-06 21:17 LuitaryiJack 阅读(165) 评论(0) 推荐(0)
摘要: 分两种情况:$k|n$和$k$不整除$n$ 如果$k|n$,那么长度为$n$的二进制数就能被恰好分成$n/k$个块;所以若某个数长度是$x$个块,由于每个块内能填不同的$2^k-1$个数,那么就有$C_{2^k-1}^{x}$ 所以整除时答案是$\sum_{i=2}^{n/k} \space C_{ 阅读全文
posted @ 2019-06-05 15:25 LuitaryiJack 阅读(262) 评论(0) 推荐(0)
摘要: 神仙。。。。 当时以为是,$x$代表$1$,$y$代表$0$,所以不能过$y=x$的路径数。。。结果不会。。。 然后康题解。。。ヾ(。`Д´。)竟然向右上是$1$,向右下是$0$。。。。 所以现在就是不能过$y=-1$; 所以我们可以这样想:如果有非法路径的话,那么就把他第一次与$y=-1$交点与起 阅读全文
posted @ 2019-06-05 00:42 LuitaryiJack 阅读(193) 评论(0) 推荐(1)
摘要: 接着压位OvO。。。 我不会告诉你答案就是卡特兰数。。。 为什么呢? 首先,$ans[0]=1,ans[1]=1,ans[2]=2$ 对于$ans[3]$,我们可以发现他是这样来的: $ans[3]=\sum_{i=0}^{3-1}ans[i]*ans[n-i-1]$ 而$ans[4]$呢? $an 阅读全文
posted @ 2019-06-05 00:08 LuitaryiJack 阅读(216) 评论(0) 推荐(0)
摘要: 都不知道说什么好。。。咕咕到现在。。 求:$\sum_{i=1}^n \space k\space mod \space i$ 即求:$n*k-\sum_{i=1}^n\space \lfloor \frac{k}{i} \rfloor *i$ 我们发现,在一定范围内,$\lfloor \frac{ 阅读全文
posted @ 2019-06-04 11:49 LuitaryiJack 阅读(239) 评论(0) 推荐(1)
摘要: 好吧。。。一直咕。。现在才过。。。被卡常卡到爆。。。 写的垃圾版本,$n^2$无脑删边。。可以发现走出来的是棵树。。。更优秀的及数据加强版先咕着。。。一定写。qwq 2019.06.04 阅读全文
posted @ 2019-06-04 00:16 LuitaryiJack 阅读(240) 评论(0) 推荐(1)
摘要: 双倍经验:BZOJ 2393 Cirno的完美算数教室 做法:先把$[1,r]$中所有的幸运数字筛出来,然后用这些幸运数字来筛$[l,r]$中的近似幸运号码; 剪枝:当一个幸运数字$a[i]$是另一个幸运数字$a[j]$的倍数时,那么应该把$a[i]$去掉; 贡献用容斥搞一下好了(就是dfs部分)。 阅读全文
posted @ 2019-06-04 00:12 LuitaryiJack 阅读(267) 评论(0) 推荐(1)
摘要: 考虑如果没有个数的限制,那么就是一个完全背包,所以先跑一个完全背包,求出没有个数限制的方案数即可。 因为有个数的限制,所以容斥一下:没有1个超过限制的方案=至少0个超过限制-至少1个超过限制+至少2个超过限制-至少3个超过限制+至少4个超过限制 如何求上面的方案数?有限制时,把$c[i]$这个硬币取 阅读全文
posted @ 2019-06-02 23:20 LuitaryiJack 阅读(238) 评论(0) 推荐(1)
摘要: 一,鸽巢原理的证明 1.定义: 若有$n$个鸽巢和$k*n+1$只鸽子,所有的鸽子都进入鸽巢,那么至少有一个巢中有$k+1$只鸽子(n,k≥0)。 2.证明(反证法): 若每个鸽巢中的鸽子数都不大于$k$,则总鸽子数$<=kn$,与已知矛盾。得证。(其实挺显然的吧,,,qwq) 二,小应用 1.Ra 阅读全文
posted @ 2019-06-02 22:53 LuitaryiJack 阅读(941) 评论(0) 推荐(0)
上一页 1 ··· 8 9 10 11 12 13 14 15 16 ··· 19 下一页