数学
文章平均质量分 68
cqbzcsq
这个作者很懒,什么都没留下…
展开
-
CTF密码学小结
3、yafu工具分解质因数,78位数分解约使用3分钟,非常好的工具,集成了试除法、fmt、pollar_rho、ecm等各种各样质因数分解方法,并且做了许多并行计算的优化,相当高效。SVP问题,就是求格中范数最小的向量,CVP问题,就是给定一个向量,求格中的向量离他距离的最小值。复杂的都是O(a^k)级别的(a是常数,k是格基的大小(一般和向量维数相近))1、random设置种子后随机的性质:同一个种子生成同一个序列,如果把生成的序列中的某个数又作为种子,这样迭代生成的序列,只与第一条序列的种子相关。原创 2024-08-17 18:45:05 · 1255 阅读 · 0 评论 -
Educational Codeforces Round 135 (Rated for Div. 2) E. Red-Black Pepper(贪心+数论)
假设我们全选bi,那么枚举下一种胡椒粉分配时,会把一个bi换成ai。我们发现第一段答案的最高点的位置就是ai-bi由正转负的位置。然后为了保证正确性,我们枚举一下这个k附近的所有解就好了。第一段是贪心求出所有红黑胡椒粉分配个数的最大价值。一个a胡椒粉套装含x包,一个b胡椒粉套装含y包。这样可以保证每次选择的bi换位ai是最优的。所以可以通过数学运算直接解出极值点附近的k。我们发现第一段的答案是一个上凸函数。第二段是数论求出可行解中的最优解。所以直接按照ai-bi大小排序。接下来我们应该枚举所有的可行解。原创 2022-09-09 10:49:54 · 402 阅读 · 0 评论 -
[LNOI2022] 吃(数学+贪心)
初始x=1,n个二元组(ai,bi),可以按照任意顺序对x依次使用这n个二元组,要么将x变为x*ai,要么将x变为x+bi,求最后x可得的最大值原创 2022-07-27 17:57:42 · 274 阅读 · 0 评论 -
CodeTON Round 1 (Div. 1 + Div. 2) E. Equal Tree Sums题解
题外话老年选手掉分的日常题目大意给一棵无根树的每个节点赋一个权值,使得删除树中任意一个节点后,剩下的连通块的点权和相等题解假设无根树的根为1号点设节点u权值为a[u],子树权值和为sum[u]u的某一个儿子为v,v的某一个儿子为w,u的儿子总数为son那么由条件知sum[1]-sum[u]=sum[v] (u!=1)移项可得:sum[1]=sum[u]+sum[v]同理可得sum[1]=sum[v]+sum[w]所以有sum[u]+sum[v]=sum原创 2022-03-25 11:48:13 · 617 阅读 · 4 评论 -
卡尔曼滤波KF与扩展卡尔曼滤波EKF算法
最近学习了一些预测算法原创 2022-01-14 11:55:25 · 961 阅读 · 0 评论 -
Codeforces Round #758 (Div.1 + Div. 2) D. Dominoes题解
一道脑筋急转弯的构造题对于重排类型的问题,一定要注意对数据分类型进行统计题意很简单,就不解释了首先,我们假设已经涂好了所有的多米诺骨牌那么所有的骨牌可以分为4类:BB、WW、BW、WB由于上一个骨牌的右方块的颜色与下一个骨牌的左方块颜色不同所以,黑色与白色的个数都等于n然后我们发现BW BW BW……可以一直往下连,WB WB WB……也可以一直往下连至此BW与WB的构造问题就解决了(排成一堆即可)如果存在BB或WW,那么它们一定会成对出现(即有一个BB必有一个WW)原创 2021-12-12 20:39:05 · 806 阅读 · 0 评论 -
Educational Codeforces Round 118 (Rated for Div. 2) D. MEX Sequences题解
题解题目大意是求mex-correct子序列的个数我们先来看一下mex-correct子序列的性质假设要在一个已经是mex-correct的子序列后面添加一个数设当前子序列结尾为x,那么由定义知mex值为x-1或x+1当mex=x+1时,接下来添加的数只能为x或x+1(后续无限制)当mex=x-1时,接下来添加的数只能为x或x-2(且后续添加的数都只能为x或x-2)于是我们大致得知了mex-correct子序列的增减情况我们可以把子序列分成两半来计数...原创 2021-12-02 13:26:26 · 1037 阅读 · 2 评论 -
恢复训练记录20210809
[NOI2018] 归程题面:https://www.luogu.com.cn/problem/P4768题解具有纪念意义的一道题AFO之后写的第一道题5555……竟然写了一个上午,不愧是老年选手咳咳……回归正题首先贪心一下,尽量选海拔大的边,于是按海拔建Kruscal最大生成树先来复习一下Kruscal生成树是什么回顾Kruscal的算法流程:按照权值大小顺序依次加边,用并查集判断连通性,如果不连通就加入该边。而Kruscal生成树是在加入一条边的时候,新建一个原创 2021-08-09 22:37:13 · 254 阅读 · 2 评论 -
[2020 年联考 A 卷] 作业题 (莫比乌斯反演+变元矩阵树定理)
题面:https://www.luogu.com.cn/problem/P6624题解一道套路题先来考虑gcd=1的情况如何求所有生成树的边权和?使用变元矩阵树,把每一条边的边权赋为1+wx(w为它原来的边权)然后求其在mod x^2意义下的答案那么x项的系数就是所有生成树的边权和因为要得到x项,只能有一条边贡献出自己的边权,其它的边都只能贡献1所以这样做是可以求出生成树的边权和的我们可以对矩阵上的数维护二元组如何求逆元呢?那么两边除一个a^2..原创 2020-06-22 10:36:03 · 389 阅读 · 0 评论 -
省选模拟赛Round1Day1(解码,排列,安排)
A、解码题解:这题比较推式子简单问题就出在对n快速分解质因数然后脑残写了个Pollard_Rho,和暴力一样慢了。。。。其实在数学一本通里还有一种分解质因数的方法叫Fermat方法设一个数有两个质因子p,q(p<q),设q=p+y则n=p*(p+y)=p^2+py解一下二次方程得p=(-y+sqrt(y^2+4n))/2如果要使p是整数,那么右边的式子也得是整数令a=y/2,b=sqrt(y^2+4n)/2=sqrt(a^2+n)则p=b-.原创 2020-06-08 22:31:24 · 241 阅读 · 0 评论 -
20200601数论总结
exgcd解不定方程ax+by=gcd(a,b)bx+(a%b)y=gcd(b,a%b)=gcd(a,b)bx+(a-(a/b)*b)y=gcd(a,b)ay+bx-(a/b)*by=gcd(a,b)ay+b(x-(a/b)*y)=gcd(a,b)递归即可excrt有贝祖定理可知,gcd(X,Y)|(x2-x1)两边同时除一个g=gcd(X,Y)写成mod Y/g的形式此时X/g与Y/g互质,存在X/g的逆元(用exgc..原创 2020-06-01 22:08:34 · 815 阅读 · 0 评论 -
LOJ#6496. 「雅礼集训 2018 Day1」仙人掌 (圆方树+分治NTT)
题面:https://loj.ac/problem/6496题解好毒瘤的一道题先把仙人掌转成圆方树我们考虑DP设f[u][0/1/2]表示点u如果向上方连0/1/2条出边,以u为根的子树的所有边的定向的方案数如果一个点u是圆点那么点u的答案f[u][0/1/2]就是满足(u的所有儿子贡献的出度和<=a[u]-(0/1/2))的所有方案数这种转移可以写成卷积的形式,而且每个多项式的最高次幂不超过2,可以进行分治NTT优化(这里的方点(原图的环)就可以...原创 2020-05-23 22:48:18 · 336 阅读 · 0 评论 -
20200521模拟赛A. island(笛卡尔树||分治+分类讨论计数)
题解:毒瘤分类讨论题我们先把所有格子纵向互相走的总贡献直接记录一下前缀和就O(n)了设F1(x)表示设F2(x)表示然后再把跨过0号点的路径的贡献算出来(这里的L[i]是负的)然后我们需要做的就是计算左边走到左边,右边走到右边的贡献了这里我们采取分治为了方便我们把图旋转90°考虑一个区间 [ l , r ] 的最小值A[x]我们对于这个最小值,它需要统计的路径有三种类型1、下边到下边的贡献(绿色线)2、上到下以及下到...原创 2020-05-21 22:02:46 · 839 阅读 · 1 评论 -
20200515省选模拟赛B、幻化成风(毒瘤容斥题+构造容斥系数+生成函数+hash状压DP+Trie树优化背包)
题解花了一上午+一中午终于把这道题A了首先,我们要求的是bi互不相同的合法方案数我们可以枚举一个a的集合S,来强制里面的b全部都相同,然后其它的随便放由于这个题的n的约数非常多,我们可以把它质因数分解一下再来做那么质因数分解之后怎么来算贡献呢?我们可以强制每一个质因子都在S中分配相同的幂次由于题目中的a在相等的情况下是无序的,而在不等的情况下又是有序的所以为了简化问题,我们干脆把ai都看作是不同的这样我们枚举集合就可以变成O(2^m)了(好像...原创 2020-05-16 17:01:48 · 497 阅读 · 0 评论 -
20200501省选模拟赛 a(概率生成函数+推式子)
题解好题,但是这个解法适用范围比较窄,也没有多大的用处 ____by Freopen我们先把p数组写成概率生成函数的形式,设我们发现x^i的系数表示我们走一步到位置 i 的概率是多少那么P^2(x)中x^i的系数就表示我们走2步到位置 i 的概率是多少我们发现答案的概率生成函数(设为Q(x))就是P^n(x),设最后我们只需要保留一下前面的0~t...原创 2020-05-05 23:46:03 · 246 阅读 · 0 评论 -
20200502省选模拟赛 C (莫队+数值分治)
题解或许这就是人生吧这题似乎比[Ynoi2015]此时此刻的光辉更毒瘤一些数的子集的gcd很难直接计算我们就来考虑每种质因子的贡献则答案就是f[p^k]表示在这段数中有多少个子集的gcd被p^k整除显然f[p^k]=2^g[p^k]-1,g[p^k]表示这段区间中有多少个数被p^k整除稍微变换一下形式最后的这个形式就比较简单我...原创 2020-05-05 08:17:18 · 286 阅读 · 0 评论 -
2020.4.29省选模拟赛 A B C(容斥、图论计数DP、树套树+set)
A题目描述或许前路永夜,即便如此我也要前进,因为星光即使微弱也会为我照亮前途。已知一个 n*m 的矩阵,矩阵的每个元素都是非负整数.已知第 i 行的最大值为 ri ,第 j 列的最大值为 cj .求矩阵数目.输入格式第一行一个数 T ,表示数据组数.对于每组测试数据,第一行两个数 n , m 表示矩阵大小.接下来一行 n 个数,表示 r 数组 接下来一行 m 个数,...原创 2020-04-29 21:48:12 · 608 阅读 · 0 评论 -
省选模拟赛20200417、A、签到(线性基+随机化)
题解思维题一开始觉得比较像最大XOR路径但是这里是点权考虑到是网格图,我们就可以来研究一下它的性质如果从1,1出发,随意地走一条路径,再按原路返回发现我们最后的贡献就是任意一个格子换句话说,我们每走一步,都可以选择任意一个格子的权值,异或到答案上因为两次可以选同样的值,所以我们选出来的格子数一定是与n+m-1同奇偶的问题就可以转化...原创 2020-04-18 21:06:32 · 216 阅读 · 0 评论 -
2020.4.15 省选模拟赛总结(打响回归OI的第一炮)
我回来了纵使日薄西山即便看不到未来此时此刻的光辉盼君勿忘开幕雷击题解大概想了30min然后从9:20开始写,写到了11:00(果然,老年选手的码力急剧下降)然后从11:00调到了考试结束13:00。。。后来发现要加一个倍增,于是又花30min写了一个倍增13:30交卷。。。回归正题正难则反,我们来统计不合法的方案数...原创 2020-04-15 21:40:11 · 350 阅读 · 0 评论 -
Matrix Multiplication (利用随机化检验矩阵乘法)
You are given threen×nmatricesA,BandC. Does the equationA×B=Chold true?InputThe first line of input contains a positive integern(n≤ 500) followed by the the three matricesA,Ban...原创 2020-03-06 12:24:47 · 401 阅读 · 0 评论 -
HDU5977 Garden of Eden(点分治+高维后缀和(超集和))
When God made the first man, he put him on a beautiful garden, the Garden of Eden. Here Adam lived with all animals. God gave Adam eternal life. But Adam was lonely in the garden, so God made Eve. Whe...原创 2020-03-05 16:14:19 · 536 阅读 · 0 评论 -
20200224省选模拟赛 总结
题解至今都没看懂std:#include <bits/stdc++.h>inline int read() { int ret, cc, sign = 1; while (!isdigit(cc = getchar())) sign = cc == '-' ? -1 : sign; ret = cc - 48; whil...原创 2020-02-25 22:17:57 · 222 阅读 · 0 评论 -
20200225省选模拟赛(by Master.Yi)总结
题解套路题,直接切掉(果然,我们学校的题温和多了,其他学校的题完全没有思路。。。)直接手算一下生成函数,再推出递推式就可以矩阵快速幂了具体方法:之前做过一道更难的题:https://blog.csdn.net/C20180602_csq/article/details/103823671代码:#include<cstdio>#include<...原创 2020-02-25 21:47:54 · 258 阅读 · 0 评论 -
省选模拟赛20200212 买买买 (状压DP+容斥原理)
题解考试一看到组合计数就直接跳了。。。其实还是比较好想的吧。。。正难则反先枚举集合S,计算S中的物品个数小于等于1的方案数然后看有哪些选数方案可以对这个S造成影响转换一下,我们可以设S中被影响的子集为T,然后枚举T由于不可能有两个人影响了同一位置方案合法,所以最多用|T|个人即可覆盖集合T剩下的人随便选择一个与S集合无交集的方案,就...原创 2020-02-13 20:21:21 · 168 阅读 · 0 评论 -
省选模拟赛20200212 算算算(巧用斯特林数+维护下降幂)
题解以后看到幂和并且幂次比较小的时候尽量往斯特林数方面想关于题解,有一个巧妙的巧妙的实现就是把 i!乘进组合数接下来就只需要维护每个值+1之后的下降k次幂之和(把k取0~100的下降幂之和都要动态维护)想了我好久。。。后来看到了标程,就一句话f[i][k]=f[i-1][k-1]*i+f[i-1][k],妙啊!!!!展开一下,发现每个数的下降k-1...原创 2020-02-13 19:55:53 · 291 阅读 · 0 评论 -
[Ynoi2015]此时此刻的光辉 (莫队+数值分治+Pollard_Rho)
题面:https://www.luogu.com.cn/problem/P5071题解(๑•̀ㅂ•́)و✧题面好评(๑•̀ㅂ•́)و✧٩(๑>◡<๑)۶人生第一道Ynoi٩(๑>◡<๑)۶先把所有数用PR分解质因数用莫队的话,思路就比较简单了,直接统计所有质因子的个数,就可以算出来乘积的约数个数(当然,要先离散化质因子,预处理...原创 2020-02-05 12:04:51 · 499 阅读 · 0 评论 -
2020寒假集训Day3 考试T2数论题(逆元+Pollard_Rho)
其实就是这道题的加强版把10^9改为10^16首先我们要会O(1)快速乘inline LL mul(LL x,LL y,LL mod){ LL ret=x*y-(LL)((long double)x*y/mod+0.5)*mod; return ret<0?ret+mod:ret;}然后要会miller_robin判断质数怎么推导miller_...原创 2020-02-05 22:07:22 · 242 阅读 · 0 评论 -
省选模拟赛第三场 T2 求和(莫比乌斯反演)
题解其实这道题有很多种做法std题解做法:我的做法1:原式:由于我们之前做过这道题:http://www.51nod.com/Challenge/Problem.html#problemId=1584(加权约数和)然后就可以直接利用它的结论推到这一步:考试的时候以为要把后面用线性筛筛出来,然后整除分块(脑抽时间到)然...原创 2020-01-31 21:15:53 · 199 阅读 · 0 评论 -
省选模拟赛第二场 T1质数拆分(多重背包方案计数+组合计数)
题解首先pi都是质数,一群质数的lcm不可能是一个有平方因子的数所以先把S分解一下质因数,如果有平方因子就全部都输出0剩下的就是完全背包来统计这几个质因子的和等于n的方案数其实前几步转换并不难想考试的时候就想到了这里,然后就联想到了生成函数(下面是脑抽环节)发现最后算的答案的生成函数就是然后可以把分母除过去,然后把前S项算出来,剩下...原创 2020-01-30 22:29:36 · 228 阅读 · 0 评论 -
省选模拟赛第一场 T2头目选举(组合计数+拉格朗日插值)
题解官方题解:因为一个人只要有一个技能不被碾压,它就可以成为n-j的那一部分人所以我们就只需要计算是哪些人在第 i 个技能胜过蒟蒻舵主其中k-j的那一部分人必须胜过舵主,剩下的就需要用已经在前面的某个技能胜过舵主的那一部分人来凑选好了人,就直接算他们可能的技能伤害的组合(预处理)有一个易错点,就是拉格朗日插值只能计算多项式,非多项式的函数就只能拟合...原创 2020-01-29 23:37:57 · 206 阅读 · 0 评论 -
LOJ#6682. 梦中的数论(min_25筛)
题目描述:https://loj.ac/problem/6682题解比较简单的一道题我们可以比较明显的看出,我们要求的式子是一个有实际意义的式子如果把 i 分解质因数,把j+k换成k'(k'>j)那么题目就是在求i的约数的无序对数,即然后问题就转化为了求和直接上两个min_25筛结果考试的时候把min_25写错了(各种错...原创 2020-01-16 22:53:13 · 249 阅读 · 0 评论 -
min25筛详解+如何推式子+杜教筛
Part.1 min25筛前情提要:应用特别广泛,代码难度一般,但理解难度较大若f(i)为积性函数求主要思路就是将积性函数分为三个部分来求和,当 i 是质数,当 i 是合数,还有i等于1它的思想类似DP首先需要了解一下埃氏筛法(圈一个质数,划去它的倍数)我们先不考虑1先来考虑如何表示一个埃氏筛的状态我们可以从筛子的范围与所圈质数的个数来表示一个筛子...原创 2020-01-15 09:36:49 · 962 阅读 · 2 评论 -
Toy(生成函数+Burnside引理+矩阵快速幂)
On birthday, Anthony got a toy. It is constructed with N+1(N>=3) balls and 2*N sticks. All balls are in a same plane. One of them is special, while the other N balls are connected to it by N sticks...原创 2020-01-03 22:57:19 · 401 阅读 · 0 评论 -
关于多项式、FFT的一些理解
前言最近写了一道题[HNOI2017]礼物,要用一下FFT,然而上一次写FFT已经是8months之前了。。。所以来复习一下然后就温故而知新了于是来博客写一下感悟内容一:泰勒展开它就是这个东西:(将f(x)在x0处进行泰勒展开)它的本质就是从点x0开始逼近函数f(x)这个有什么用呢?它可以定义复数的exp我们只需要把x带成z=a+b*i就可以计...原创 2019-12-25 20:35:36 · 319 阅读 · 0 评论 -
2019.12.11 B(矩阵树定理+拉格朗日插值)
问题 B: B时限:1Sec内存:256 MB题目描述有一棵由n个点n-1条边构成的树,点的标号从0到n-1;这棵树有一个神奇的功能,我们可以将它的一条边拆掉,再将一条边连上,当然,要保证这样操作之后它还是一棵树;现在我们想知道,在进行不超过k次的操作后,能够造出多少种不同的树。定义两棵树不同为:存在一棵树中有边(x,y)而另一棵树中没有;输入格式第一行...原创 2019-12-13 22:22:27 · 377 阅读 · 0 评论 -
2019.11.12CSP-S模拟赛 a b c
a时限:2Sec内存:512 MB题目描述输入格式输入样例64 2 2 4 2 5输出样例6提示题解想了30min如果把i看成x坐标,si看成y坐标发现就是快速维护在直线y=x-i下方的点的个数如果直线向左移动一位则直线下方的点会对答案造成-1的贡献,上方的点会对答案造成+1的贡献(两端的贡献...原创 2019-11-13 09:26:33 · 297 阅读 · 0 评论 -
2019.11.11CSP-S模拟赛 世界线 时间机器 密码
A: 世界线时限:2Sec内存:256 MB题目描述输入格式输出格式输入样例5 51 21 32 33 44 5输出样例5提示题解降智好题。。。。考场上秒切bitset求传递闭包,马上开始写,写完算一下内存发现800+MB。。。。然后就懵了。。。。然后删掉了bitset的代码,写了个n^2暴...原创 2019-11-11 13:34:57 · 288 阅读 · 1 评论 -
2019.11.2CSP模拟赛 最大K段和 双端队列xLIS问题 最大前缀和
问题 A: 最大K段和时限:1Sec内存:128 MB题目描述fzszkl有一个长度为N的序列A 。他希望从中选出不超过K个连续子段,满足它们两两不相交,求总和的最大值(可以一段也不选,答案为 0)。输入格式第一行输入两个正整数 N,K 。 第二行输入 N个整数Ai 。输出格式输出一行一个非负整数表示答案。输入样例7 2-1 9 -2 6 -8 1...原创 2019-11-02 17:13:45 · 674 阅读 · 0 评论 -
[SDOI2009]E&D (博弈论+SG函数打表找规律)
题目描述小E与小W进行一项名为“E&D”游戏。游戏的规则如下: 桌子上有2n堆石子,编号为1..2n。其中,为了方便起见,我们将第2k-1堆与第2k堆(1 ≤ k ≤ n)视为同一组。第i堆的石子个数用一个正整数Si表示。 一次分割操作指的是,从桌子上任取一堆石子,将其移走。然后分割它同一组的另一堆石子,从中取出若干个石子放在被移走的位置,组成新的一堆。操作完成后,所有堆的...原创 2019-11-01 15:57:42 · 265 阅读 · 0 评论 -
莫比乌斯反演详解
莫比乌斯反演的基本思想考虑求函数,我们可以构造一个比较好求函数g(x)使,然后用g(x)来求f(x)怎么用g(x)来表示f(x)呢?稍微列举一下g(x):g(1)=f(1)g(2)=f(1)+f(2)g(3)=f(1)+f(3)g(4)=f(1)+f(2)+f(4)g(5)=f(1)+f(5)g(6)=f(1)+f(2)+f(3)+f(6)我们经过一番拼凑发...原创 2018-12-03 21:56:05 · 4298 阅读 · 1 评论