笔记
文章平均质量分 89
Huah_2018
湖南文理学院
展开
-
51nod1359 循环探求
求最小的x(x>1)x(x>1)x(x>1)满足nx=n(mod 10k)n^x=n(\mod 10^k)nx=n(mod10k)。值得注意的是这里并不能化成nx−1=1(mod 10k)n^{x-1}=1(\mod 10^k)nx−1=1(mod10k),因为nnn在mod 10k\mod 10^kmod10k下不一定有逆元,典型的例子是324=76(mod 100),325=32(mod 100)32^4=76(\mod 100),32^5=32(\mod 100)324=原创 2022-01-12 19:31:13 · 256 阅读 · 0 评论 -
Codeforces Round #699 (Div. 2)
A - Space Navigation设最终走到点(x,y)(x,y)(x,y),然后,删除一个LLL相当于x+1x+1x+1,删除一个RRR相当于x−1x-1x−1,删UUU相当于y−1y-1y−1,删DDD相当于y+1y+1y+1。判断(x,y)(x,y)(x,y)到点(px,py)(px,py)(px,py)是否可能通过上述操作到达即可。#include<bits/stdc++.h>using namespace std;typedef long long ll;const原创 2021-02-06 17:07:01 · 280 阅读 · 0 评论 -
卡特兰数
卡特兰数前几项:1,2,5,14,42,1321, 2, 5, 14, 42, 1321,2,5,14,42,132。1.进出栈问题栈是一种先进后出的数据结构,考虑用111表示进栈,用−1-1−1表示出栈,总共有nnn个元素进出栈,计算有多少种不同的进出栈序列。2.递推式用Cata(n)Cata(n)Cata(n)表示上述问题规模为nnn时的方案书,考虑最后一个出栈的元素,比其先进栈先出栈的元素有iii个,则比其后进栈先出栈的元素有n−i−1n-i-1n−i−1个,则得出卡特兰数递推式为∑i=0n−原创 2020-07-10 22:06:27 · 260 阅读 · 0 评论 -
字符串-最小表示法
1.问题描述给出一个长度为nnn的字符串SSS,其第iii个字符为Si(0<=i<n)S_i(0<=i<n)Si(0<=i<n)。可以重复执行操作:移除第000个字符,并将其插入到第n−1n-1n−1个位置。找出所有可以通过上述操作得到的字符串中字典序最小的字符串,这个字典序最小的字符串被称为字符串SSS的最小表示。2.算法流程1.定义两个指针i,ji,ji,j,定义变量kkk,初始时,让iii指向位置000,jjj指向位置111,k=0k=0k=0。2.比原创 2020-09-04 20:20:30 · 248 阅读 · 0 评论 -
字符串--Lyndon分解
1.定义一个字符串是LyndonWordLyndon WordLyndonWord,当前仅当这个字符串是其所有后缀中字典序最小的。一个字符串sss的LyndonLyndonLyndon分解是将字符串划分为若干个部分s1s2...sms_1s_2...s_ms1s2...sm使得∀1<=i<=m:si\forall 1<=i<=m:s_i∀1<=i<=m:si是一个LyndonWordLyndon WordLyndonWord,∀1<=i<m:si&原创 2020-09-05 18:52:22 · 398 阅读 · 0 评论 -
排列的置换运算
1.定义给定定两个排列P=p1,p2,...,pnP={p_1,p_2,...,p_n}P=p1,p2,...,pn,Q=q1,q2,...,qnQ={q_1,q_2,...,q_n}Q=q1,q2,...,qn。排列QQQ关于排列PPP进行置换运算得到的新排列为Ans=Q∗P=PQ1,PQ2,...,PQnAns=Q*P={P_{Q_1},P_{Q_2},...,P_{Q_n}}Ans=Q∗P=PQ1,PQ2,...,PQn。这就是排列的置换运算。即:某个排列关于排列P原创 2020-09-15 12:22:58 · 1940 阅读 · 0 评论 -
后缀自动机重启之后缀自动机归来
1.endpos对于字符串sss,sss的子串ttt,定义endpos(t)endpos(t)endpos(t)为一个集合,这个集合的元素为ttt每次在sss中出现的结束位置。例:s=abcaabcs=abcaabcs=abcaabc,endpos(a)={1,4,5},endpos(bc)={3,7}endpos(a)=\{1,4,5\},endpos(bc)=\{3,7\}endpos(a)={1,4,5},endpos(bc)={3,7}。特别的,定义endpos(空串)={0,1,2,...,原创 2020-09-12 00:18:07 · 210 阅读 · 0 评论 -
生成函数
简介生成函数用于解决以下问题:给定数列前几项和递推关系,求数列通项。定义一个数列a=a0,a1,a2,...a={a_0,a_1,a_2,...}a=a0,a1,a2,...的生成函数为f(x)=∑n≥0aixif(x)=\sum_{n\ge0}a_ix^if(x)=∑n≥0aixi。显然,函数f(x)f(x)f(x)中xix^ixi的系数就是数列的第iii项。生成函数的思想就是利用多项式运算求得f(x)f(x)f(x)系数的通项公式,即数列的通项公式。封闭形式设无穷幂级数f(x)=1+原创 2020-09-15 13:02:37 · 849 阅读 · 0 评论 -
多项式
拉格朗日插值引理:给定nnn个点(x1,y1),(x2,y2),...,(xn,yn)(x_1,y_1),(x_2,y_2),...,(x_n,y_n)(x1,y1),(x2,y2),...,(xn,yn),可以唯一的确定一个n−1n-1n−1次多项式f(x)=∑i=0n−1aixif(x)=\sum_{i=0}^{n-1}a_ix^if(x)=∑i=0n−1aixi。证:将nnn个点代入多项式...原创 2020-09-14 10:44:48 · 286 阅读 · 0 评论 -
npm ERR! code ELIFECYCLE npm ERR! 2019-7-24@0.1.0 start: `react-scripts start`
npm ERR! code ELIFECYCLEnpm ERR! 2019-7-24@0.1.0 start: react-scripts start在项目根目录下创建an.env记事本打开,在里面填写SKIP_PREFLIGHT_CHECK=true重新启动cmd,再npm start即可原创 2020-06-01 14:56:43 · 1067 阅读 · 1 评论