自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(30)
  • 收藏
  • 关注

原创 小程序前端代码/素材提取

小程序前端代码提取准备提取Android端小程序(微信、支付宝):a. 一部已经root的Android手机, 打开开发者模式USB调试b. 安装adb (官方下载链接: https://developer.android.com/studio/releases/platform-tools)c. python运行环境 (本人使用WSL)d. 安装微信或支付宝提取PC端(微信):a. python、python3(含pip3)运行环境 (本人使用WSL)b. 安装PC端微信微信小程序

2022-05-27 15:42:16 456

原创 Messiel Lahmer 质数筛法

目的: 求111到nnn的质数和本文设定: n=20n=20n=20求出⌊ni⌋\lfloor\frac{n}{i}\rfloor⌊in​⌋的所有取值⌊20i⌋=1,2,3,4,5,6,10,20\lfloor\frac{20}{i}\rfloor={1,2,3,4,5,6,10,20}⌊i20​⌋=1,2,3,4,5,6,10,20排除数字111, 并假设所有数字都是质数求出⌊n⌋\lfloor\sqrt{n}\rfloor⌊n​⌋以内的所有质数444以内的质数有数字222和333

2020-09-23 20:32:10 267

原创 2-3树 叶子节点删除

本文不再阐述关于2-3树的定义、节点的插入以及将删除的非叶子节点转换为叶子节点的方法注意: 本文仅对2-3树 叶子节点的 删除操作 进行分类与讨论定义:2-节点: 如果某个节点包含1个权值, 那么我们称之为2-节点, 如果该节点并非叶子节点, 那么它一定包含2个非空子树3-节点: 如果某个节点包含2个权值, 那么我们称之为3-节点, 如果该节点并非叶子节点, 那么它一定包含3个非空子树...

2020-04-18 21:10:35 989 1

原创 高维标记

ll md(ll x){ if(0<=x) { if(x<mod)return x; if(x<(mod<<1))return x-mod; return x%mod; } if(x<=-mod)x%=mod; return x+mod;}struct Matrix...

2019-05-01 12:32:09 232

原创 差分与树状数组

一维树状数组长度为nnn的序列: a1,a2,⋯&amp;amp;amp;ThinSpace;,ana_1,a_2,\cdots,a_na1​,a2​,⋯,an​一阶差分与前缀和一阶差分数组: di=ai−ai−1(a0=0)d_i=a_i-a_{i-1}\qquad(a_0=0)di​=ai​−ai−1​(a0​=0)考虑序列aaa第mmm项:am=∑i=1mdia_m=\sum\limits_{i=...

2019-03-03 21:45:32 545

原创 拉格朗日插值

给出n+1n+1n+1个xxx互不相同点(xi,yi)(x_i,y_i)(xi​,yi​), 可以唯一确定一个nnn次多项式即: f(x)=∑i=0nai⋅xif(x)=\sum\limits_{i=0}^{n}a_i\cdotp x^if(x)=i=0∑n​ai​⋅xi 的系数a0,a1,a2,⋯&amp;amp;amp;ThinSpace;,ana_0,a_1,a_2,\cdots,a_na0​,a1​,a...

2018-10-18 23:48:57 733

原创 差分

给定一个离散序列: a0,a2,⋯,an,⋯a0,a2,⋯,an,⋯a_0,a_2,\cdots,a_n,\cdots零阶差分(原序列): Δ0hn=anΔ0hn=an\Delta^0h_n=a_n一阶差分: Δ1hn=an+1−anΔ1hn=an+1−an\Delta^1 h_n=a_{n+1}-a_n二阶差分: Δ2hn=Δ1hn+1−Δ1hn=an+2−2⋅an+1+anΔ2hn...

2018-09-07 15:30:47 1943

原创 杜教筛

作用: 在低于线性复杂度内解决某一类函数的前缀和求数论函数f(x)f(x)f(x)的前缀和s(n)s(n)s(n), 即: s(n)=∑i=1nf(i)s(n)=∑i=1nf(i)s(n)=\sum\limits_{i=1}^n f(i)找到一个数论函数g(x)g(x)g(x), 使得g(x)g(x)g(x)与f(x)f(x)f(x)的狄利克雷卷积(f×g)(n)=∑d|ng(d)⋅f(n...

2018-08-28 18:25:34 619

原创 gcd求和的几种方法

最大公约数: Greatest Common Divisor, 简称: gcd 定义符号: d|nd|nd|n: n%d=0n%d=0n\%d=0 定义函数: φ(n)φ(n)\varphi(n): 欧拉函数 定义函数: μ(n)μ(n)\mu(n): 莫比乌斯函数一维形式: ∑i=1ngcd(n,i)∑i=1ngcd(n,i)\sum\limits_{i=1}^{n}gcd(n,i)...

2018-08-24 15:47:41 3382 2

原创 整除分块

⌊ni⌋(0&amp;lt;i≤n)⌊ni⌋(0&amp;lt;i≤n)\lfloor\frac{n}{i}\rfloor\quad(0\lt i\le n)的不同取值不超过: 2n−−√2n2\sqrt n种令: ⌊ni⌋=x⌊ni⌋=x\lfloor\frac{n}{i}\rfloor=x那么: x⋅i≤n≤(x+1)⋅i−1x⋅i≤n≤(x+1)⋅i−1x\cdotp i\le n\le (x+1)...

2018-08-21 16:17:27 507

原创 狄利克雷卷积 与 莫比乌斯反演

定义: f(n)f(n)f(n), g(n)g(n)g(n)是两个数论函数(定义域均为正整数)定义卷积运算”××\times”: (f×g)(n)=∑i⋅j=nf(i)⋅g(j)=∑n%d=0f(d)⋅g(nd)(f×g)(n)=∑i⋅j=nf(i)⋅g(j)=∑n%d=0f(d)⋅g(nd)(f\times g)(n)=\sum\limits_{i\cdotp j=n}f(i)\cdotp ...

2018-08-17 11:18:23 434

原创 反演原理

已知: f(n)=∑i=0nani⋅g(i)f(n)=∑i=0nani⋅g(i)f(n)=\sum\limits_{i=0}^na_{ni}\cdot g(i)即: ⎧⎩⎨⎪⎪⎪⎪⎪⎪f(0)=a00⋅g(0)f(1)=a10⋅g(0)+a11⋅g(1)⋯f(n)=an0⋅g(0)+an1⋅g(1)+⋯+ann⋅g(n){f(0)=a00⋅g(0)f(1)=a10⋅g(0)+a11⋅g(1)⋯...

2018-08-16 00:54:07 2896

原创 二项式反演

已知f(n)=∑i=0nCin⋅g(i)f(n)=∑i=0nCni⋅g(i)f(n)=\sum\limits_{i=0}^n C_n^i\cdotp g(i), 求g(n)g(n)g(n)二项式定理:(a+b)n=∑i=0nCin⋅ai⋅bn−i(a+b)n=∑i=0nCni⋅ai⋅bn−i(a+b)^n=\sum\limits_{i=0}^nC_{n}^i \cdotp a^i\cdot...

2018-08-15 00:51:28 309

原创 辛普森公式

已知一个初等函数f(x)f(x)f(x), 求解∫baf(x)∫abf(x)\int_a^bf(x) 先将f(x)f(x)f(x)近似为某二次函数g(x)=A⋅x2+B⋅x+Cg(x)=A⋅x2+B⋅x+Cg(x)=A\cdotp x^2+B\cdotp x+C 那么: ∫bag(x)=(A3⋅x3+B2⋅x2+C⋅x+D)∣∣ba=A3⋅(b3−a3)+B2⋅(b2−a2)+C⋅(b−a)...

2018-08-06 09:54:26 3841

原创 2018年成都信息工程大学第七届ACM程序设计竞赛 题解报告

Problem A(读信)签到题: 把所有字母全部转换成大写(或小写), 然后判断一下是否是回文串(正着和倒着是否完全相等)就可以了 时间复杂度:O(n)O(n)O(n)Problem B(Anxdada的询问1)签到题:for(int i=1;i&lt;n;++i) for(int j=i+1;j&lt;=n;++j) if(a[i]+a[j]...

2018-05-06 16:57:38 2090 3

原创 Anxdada的询问(two stack)

很多人会很自然的想到用two pointer来维护区间乘积, 但是从区间[l,r][l,r][l,r]转移到[l+1,r][l+1,r][l+1,r]的时候, 如果a[l]a[l]a[l]在模ppp意义下的逆元不存在, 那么就无法转移two stack:用2个栈来维护区间[l,r][l,r][l,r]中数的乘积 其中一个栈S1S1S_1维护的是区间[l,k](l≤k)[l,k](l≤...

2018-03-17 18:09:16 488

原创 fold的毒瘤题

easy:做法1.可以仿照最小生成树的Kruskal做法, 将边权按照从小到大排序 对于每个询问: 按边权从小到大依次连接各个边, 同时用并查集维护特殊点的连通性, 一旦某条边加入后, 遍历所有的特殊点发现它们属于同一集合, 那么答案就是这条边的边权 复杂度: O(m⋅logm+q⋅m⋅n)O(m\cdotp logm+q\cdotp m\cdotp n)做法2.对于某个权值xx, 如果权值不超

2018-03-10 20:51:02 726

原创 分块

1.区间加, 查询单点值struct block{ static const int __=50005; static const int _b_=300; ll a[__];int n,bsz,bel[__]; ll ad[_b_]; ll operator[](int x){return a[x]+ad[bel[x]];} void build()

2018-02-06 21:31:16 305

原创 线性同余方程组

⎧⎩⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪x1≡r1(%m1)x2≡r2(%m2)⋯xi≡ri(%mi)⋯xn≡rn(%mn)\begin{cases} x_1\equiv r_1(\%m_1)\\ x_2\equiv r_2(\%m_2)\\ \cdots\\ x_i\equiv r_i(\%m_i)\\ \cdots\\ x_n\equiv r_n(\%m_n)\\ \end

2018-01-23 22:48:09 510

原创 线性同余方程

线性同余方程求解: a⋅x≡b(%p)a\cdot x\equiv b(\%p)设: a⋅x=p⋅(−y)+ba\cdot x=p\cdot (-y)+b得: a⋅x+p⋅y=ba\cdot x+p\cdot y=b根据拓展欧几里得: a⋅x+p⋅y=gcd(a,p)a\cdot x+p\cdot y=gcd(a,p)得到一个解为x′0x_0'那么: a⋅x+p⋅y=ba\cdot x+p\cdo

2018-01-23 22:46:58 292

原创 Chinese Remainder Theore

⎧⎩⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪x1≡r1(%m1)x2≡r2(%m2)⋯xi≡ri(%mi)⋯xn≡rn(%mn)\begin{cases} x_1\equiv r_1(\%m_1)\\ x_2\equiv r_2(\%m_2)\\ \cdots\\ x_i\equiv r_i(\%m_i)\\ \cdots\\ x_n\equiv r_n(\%m_n)\\ \end

2018-01-23 22:45:28 258

原创 欧拉函数

定义: φ(n)\varphi(n)为: ∀x∈[1,n)\forall x\in[1,n), gcd(x,n)=1gcd(x,n)=1的个数定理1: φ(1)=1\varphi(1)=1定理2: φ(p)=p−1(p\varphi(p)=p-1\qquad(p是素数))定理3: φ(pk)=pk−pk−1=pk(1−1p)\varphi(p^k)=p^k-p^{k-1}=p^k(1-

2018-01-12 20:24:28 296

原创 Extended Euclidean algorithm

求解: a⋅x+b⋅y=gcd(a,b)a\cdot x+b\cdot y=gcd(a,b)设: c=b, d=a%b=a−⌊ab⌋⋅bc=b,\ d=a\%b=a-\lfloor\frac{a}{b}\rfloor\cdot b {a⋅x+b⋅y=gcd(a,b) c⋅x′+d⋅y′=gcd(c,d)=gcd(b,a%b)=gcd(a,b) \begin{cases} a\cdot x+b

2018-01-07 21:28:40 741

原创 数据结构的非经典解法

1.分块(在线)把要维护的序列分成⌈n√⌉\lceil\sqrt n\rceil块, 每块长度⌊n√⌋\lfloor\sqrt n\rfloor(\big(最后一块的长度为n−⌊n√⌋2n-{\lfloor\sqrt n\rfloor}^2)\big) 对于单次区间操作: 被该区间包含的整块打上标记, 左端和右端剩余部分(小于2n√2\sqrt n个)直接暴力操作, 复杂度为O(n√)O(\sq

2017-10-19 14:12:47 721

原创 树状数组 区间修改

树状数组 区间修改利用单点修改我们可以做到 1.单点加, 询问区间和 2.区间加, 询问单点值下面是关于树状数组的区间修改, 询问区间和 假设: aia_i是储存原数据的数组 令: xi=ai−ai−1                (a0=0)x_i=a_i-a_{i-1}\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ (a_0=0) 那么: xn+xn−1+⋯+x1=

2017-10-04 00:46:16 735

原创 大数模板

#include <cmath>#include <map>#include <vector>#include <cstdio>#include <cstdlib>#include <iostream>#include <algorithm>#include <cstring>#include <set>#include <bitset>#include <memory.h>#

2017-09-17 23:48:40 329

原创 matrix fast pow

const int mod=998244353; //改modstruct matrix{ int n,m; ll ma[105][105]; matrix(int x,int y):n(x),m(y) { memset(ma,0,sizeof(ma)); } matrix operator*(matrix& x) {

2017-09-16 22:11:51 555

原创 矩阵快速幂 黑科技

ll qpow(ll x,ll y){ ll res=1; for(;y;y>>=1,x=x*x%mod) if(y&1)res=res*x%mod; return res;}int n;namespace xx{const int N=10010;ll res[N],base[N],z[N],md[N];vector<int>G;void mu

2017-09-04 20:10:55 481

原创 Fast Fourier Transform

快速傅里叶变换(FFT)这几天在家没事慢慢研究了一下集训最后的一个专题FFT, 陈犇讲完还是有点不是很懂, 网上的很多资料都讲的不是很清晰, 由于这个算法太美了, 我有必要写点什么东西表示对前人智慧的赞美! (顺便练练打公式)1.FFT这玩意是什么?有什么用?FFT(fast Fourier transform)的中文名是快速傅里叶变换, 在信号领域有很大的作用, 在ACM中我们常用FFT来求解多项

2017-08-30 22:09:22 615

原创 公式

组合数公式:Ckn=n!k!(n−k)!C_n^k={\frac{n!}{k!(n-k)!}} 错排公式:D(n)=(n−1)[D(n−2)+D(n−1)]D(n)=(n-1)[D(n-2)+D(n-1)]

2017-08-10 19:09:03 465

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除