自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 莫比乌斯反演

什么是莫比乌斯反演?我们先来看一个函数 F(n)=∑d|nf(d)F(n)=∑d|nf(d)F(n)=\sum_{d|n}f(d) 这里d|nd|nd|n的意思是d能整除n,也就是说第一个函数可以由他的每一个因子带入另一个函数的和而求得,那我们先写出这个函数的前几项看看 F(1)=f(1)F(1)=f(1)F(1)=f(1) F(2)=f(1)+f(2)F(2)=f(1)+f(2)F(...

2018-08-18 16:29:17 514 1

原创 母函数详解

定义 生成函数即母函数,是组合数学中尤其是计数方面的一个重要理论和工具。生成函数有普通型生成函数和指数型生成函数两种,其中普通型用的比较多。形式上说,普通型生成函数用于解决多重集的组合问题,而指数型母函数用于解决多重集的排列问题。母函数还可以解决递归数列的通项问题(例如使用母函数解决斐波那契数列的通项公式)。普通型母函数将任意一个序列a0,a1,a2,a3,⋯,ana0,a1...

2018-03-12 19:41:35 1482 1

原创 FFT求解卷积

卷积已知两个多项式 A(x)=a0+a1x1+a2x2+a3x3+⋯+anxn" role="presentation" style="position: relative;">A(x)=a0+a1x1+a2x2+a3x3+⋯+anxnA(x)=a0+a1x1+a2x2+a3x3+⋯+anxnA(x)=a_{0}+a_{1}x^1+a_{2}x^2+a_{3}x^3+\cdot

2018-01-26 15:21:07 1406

原创 数列的递推公式求通项(特征方程)

如:an+c1an−1+c2an−2+⋯ckan−k=bna_{n}+c_{1}a_{n-1}+c_{2}a_{n-2}+\cdots c_{k}a_{n-k}=b_{n}(n>k-1) (c1,c2⋯ckc_{1},c_{2}\cdots c_{k}为常数,k为正整数)的递推关系为k阶线性常系数递推关系 a0=d0,a1=d1,⋯,ak−1=dk−1a_{0}=d_{0},a_{1}=d_{

2017-08-25 16:56:53 7611 2

原创 PRESENT加密算法(c++实现)

简介PRESENT加密算法在2007 年由来自德国波鸿鲁尔大学的 Bogdanov 在 CHES 会议中发表。PRESENT加密算法为一种轻量级分组密码算法,采用了 置换网络(SPN)结构,一共迭代 31 轮,分块(组)长度为 64 比特位(位),密钥长度支持 80 比特位和 128比特位。PRESENT 密码算法在硬件实现上具有极高的效率且需要较少的逻辑单元。在实际使用中密钥长度通常一般采用80 比特位。本文也以80位比特密钥来实现PRESENT。加密流程如图PRESENT加密一共有31轮,每轮有

2021-02-03 19:44:16 6689 8

原创 2020浙江大学软件学院预推免经验

个人背景本人为末流211计算机科学与技术专业,且专业排名于保研名额末尾。但是综合排名在中上肯定有保研资格。本科学校最后是以综合排名上报学信网的,而预推免和夏令营对方学校对看的一般是专业排名。预推免报名时本科学校已经出了推免名单了,所以预推免报名的时候也需要推免证明。本人个人有竞赛经验和一些获奖算是加分,浙大是非常公平的学校虽然本人专业排名较后也给了个复试的机会。...

2020-06-24 14:09:12 9308 12

原创 The 2019 ICPC Asia Yinchuan Regional Programming Contest/2019银川区域赛 D Easy Problem(莫比乌斯反演+欧拉降幂)

∑i1=1m∑i2=1m∑i3=1m⋯∑in=1m[gcd(i1,i2,i3,⋯ ,in)==d](i1i2i3⋯in)k\sum_{i_1=1}^m\sum_{i_2=1}^m\sum_{i_3=1}^m\cdots\sum_{i_n=1}^m[gcd(i_1,i_2,i_3,\cdots,i_n)==d](i_1i_2i_3\cdots i_n)^ki1​=1∑m​i2​=1∑m​i3​=1∑...

2019-11-30 12:11:48 1691 4

原创 Playfair密码

编制密码表第一步是编制密码表。在这个5*5的密码表中,共有5行5列字母。第一行(或第一列)是密钥,其余按照字母顺序。密钥是一个单词或词组,若有重复字母,可将后面重复的字母去掉。当然也要把使用频率最少的字母去掉。如:密钥是Live and learn,去掉后则为liveandr。如果密钥过长可占用第二列或行。j和i用i来替换 如密钥crazy dog,可编制成 ⎡⎣⎢⎢⎢⎢⎢⎢cdfmt...

2019-10-23 10:32:08 5426

原创 The Preliminary Contest for ICPC Asia Shanghai 2019 E. Counting Sequences II(生成函数\母函数)

令t=⌊m2⌋t=\left \lfloor \frac{m}{2} \right \rfloort=⌊2m​⌋ans=Ct0mn+Ct1(m−2)n+Ct2(m−4)n+⋯+Ctt(m−2t)n2tans=\frac{C_{t}^{0}m^n+C_{t}^{1}(m-2)^n+C_{t}^{2}(m-4)^n+\cdots+C_{t}^{t}(m-2t)^n}{2^t}ans=2tCt0​mn...

2019-09-16 13:49:42 564

原创 The Preliminary Contest for ICPC Asia Nanjing 2019 南京网络赛 E. K Sum(杜教筛+欧拉降幂)

标题有函数fn(k)=∑l1=1n∑l2=1n⋯∑lk=1ngcd(l1,l2,⋯ ,lk)2f_{n}(k)=\sum_{l_1=1}^{n}\sum_{l_2=1}^{n}\cdots\sum_{l_k=1}^{n}gcd(l_1,l_2,\cdots,l_k)^2fn​(k)=l1​=1∑n​l2​=1∑n​⋯lk​=1∑n​gcd(l1​,l2​,⋯,lk​...

2019-09-01 18:20:49 443

原创 HDU 6706 huntian oy(杜教筛)

题意给你n计算函数f(n,a,b)=∑i=1n∑j=1igcd(ia−ja,ib−jb)[gcd(i,j)==1]mod  1e9+7f(n,a,b)=\sum_{i=1}^{n}\sum_{j=1}^igcd(i^a-j^a,i^b-j^b)[gcd(i,j)==1]\mod 1e^9+7f(n,a,b)=i=1∑n​j=1∑i​gcd...

2019-08-24 22:29:59 495

原创 2019牛客暑期多校训练营(第九场)A.The power of Fibonacci(Fibonomial coefficients+常系数线性递推)

题意{f0=0f1=1fn=fn−1+fn−2,n≥2\left\{\begin{matrix}f_0=0\\ f_1=1\\ f_n=f_{n-1}+f_{n-2},n\geq 2\end{matrix}\right.⎩⎨⎧​f0​=0f1​=1fn​=fn−1​+fn−2​,n≥2​给你nnn和mmm求∑i=0nfim %1000000000\sum_{i=0}^{n}...

2019-08-18 13:43:17 388

原创 2019牛客暑期多校训练营(第九场)A.The power of Fibonacci(循环节)

题意{f0=0f1=1fn=fn−1+fn−2,n≥2\left\{\begin{matrix}f_0=0\\ f_1=1\\ f_n=f_{n-1}+f_{n-2},n\geq 2\end{matrix}\right.⎩⎨⎧​f0​=0f1​=1fn​=fn−1​+fn−2​,n≥2​给你nnn和mmm求∑i=0nfim %1000000000\sum_{i=0}^{n}...

2019-08-16 19:54:53 518 3

原创 PAT 1047 Student List for Course (25 分) (cout输出换行用endl特别慢改成"\n"就不会卡了)

题意给你n个学生的所选的课,输出每门课程所含有的学生名字,按字典序输出思路上来直接用最慢的map<int,vector >mp来记录每一门课的学生名字,也可以改用vectormp[2550]二维数组来记录课程学生的名字,然后对每一门课程的学生姓名按字典序排序,然后输出即可,但是其实cin,cout,map都不会被卡tle,正真被卡的地方是因为换行用endl会特别慢,用到endl的...

2019-08-14 17:24:55 280

原创 2019牛客暑期多校训练营(第八场)J.Just Jump(dp前缀和优化+组合数容斥)

题意有一条长为LLL的河,你在位置000你要通过这条长为LLL的河到达LLL,河中从1,2,3,⋯&ThinSpace;,L−11,2,3,\cdots,L-11,2,3,⋯,L−1有石子可以踩上去通过,你每一次所走的距离必须要大于等于ddd,并且还存在mmm次攻击,每一次攻击由二元组(ti,pi)(t_i,p_i)(ti​,pi​)组成,表示,在tit_iti​次跳跃时落在pip_ip...

2019-08-12 17:33:02 343 1

原创 2019牛客暑期多校训练营(第五场)B.generator 1(广义斐波那契数列找循环节)

题意已知x0,x1,a,b(1≤109)x_0,x_1,a,b(1\leq10^9)x0​,x1​,a,b(1≤109),求xn=axn−1+bxn−2( mod m)x_n=ax_{n-1}+bx_{n-2}(\ mod \ m)xn​=axn−1​+bxn−2​( mod m)1≤n≤10106,109&lt;m≤2×1091\leq n\...

2019-08-03 11:54:44 819 3

原创 HDU 6595 Everything Is Generated In Equal Probability(递推求期望|找规律)

Y_UME wants to play with this program. Firstly, he randomly generates an integer n∈[1,N] in equal probability. And then he randomly generates a permutation of length n in equal probability. Afterward...

2019-07-30 11:43:30 260

原创 2019牛客暑期多校训练营(第四场)D.triples I(位运算)

题意给你一个aaa让你求一个最小的集合SSS,SSS中所有的数都是333的倍数,且SSS中所有的数按位或的和为aaa,输出SSS中的元素的个数以及元素思路显然a%3==0a\%3==0a%3==0时,集合SSS就只含一个aaa。根据按位或的性质,将aaa转化为二进制之后,SSS中的元素只会是aaa的二进制中权值为一的组合。由于二进制的位权模333只可能为111或为222,即20=1(&nb...

2019-07-28 12:16:44 194

原创 2019牛客暑期多校训练营(第三场)D.Big Integer(费马小定理+找循环节)

题意已知序列AAA为1,11,111,1111,...1,11,111,1111,...1,11,111,1111,...,求∑i=1n∑j=1m[A(ij)%p==0]\sum_{i=1}^n\sum_{j=1}^m[A(i^j)\%p==0]i=1∑n​j=1∑m​[A(ij)%p==0]思路易知A(n)=10n−19A(n)=\frac{10^n-1}{9}A(n)=910n−1​,...

2019-07-26 10:39:33 527 1

原创 2019牛客暑期多校训练营(第一场)E.ABBA(带限制条件的非降路径)

题意输入nnn,mmm,问有多少种长度为2(n+m)2(n+m)2(n+m)的串可以拆成nnn个ABABAB子序列和mmm个BABABA子序列思路对于某一个串,最终的条件是让其达到有n+mn+mn+m个AAA和n+mn+mn+m个BBB,那么我们可以认为是一步一步的去给这个串添加上AAA或者BBB,直到有n+mn+mn+m个AAA和n+mn+mn+m个BBB,然后就可以转化为在网格中选取路径...

2019-07-20 11:14:43 253

原创 2019牛客暑期多校训练营(第一场)F.Random Point in Triangle(几何概型积分求期望)

题意给你一个三角形的三个点A(x1,y1)A(x_1,y_1)A(x1​,y1​),B(x2,y2)B(x_2,y_2)B(x2​,y2​),C(x3,y3)C(x_3,y_3)C(x3​,y3​)在三角形ABC上找一点PPP,设E=max{SΔPAB,SΔPBC,SΔPCA}E=max\{ S_{\Delta PAB},S_{\Delta PBC},S_{\Delta PCA} \}E=ma...

2019-07-19 14:47:42 734 5

原创 2019牛客暑期多校训练营(第一场)B Integration(裂项解方程+找规律)

链接:https://ac.nowcoder.com/acm/contest/881/B来源:牛客网题意有∫0∞11+x2dx=π2\int_0^\infty \frac{1}{1+x^2}dx=\frac{\pi}{2}∫0∞​1+x21​dx=2π​那么给你一个长度为nnn的序列aia_iai​求解1π∫0∞1∏i=1n(ai2+x2)dx\frac{1}{\pi}\int_0^...

2019-07-18 21:17:46 689 4

原创 PAT 1033 To Fill or Not to Fill (25 分)(贪心)

题意你要从杭州开车到目的地,整条路线是一个数轴,你在数轴上的0点,目的地在距离0点为d米,你的车油罐的容量为C,每单位油可以行驶DavgD_{avg}Davg​米,在路线上有n个加油站,每个加油站在位置为did_idi​的地方,且每个加油站的每单位油价为pip_ipi​问你,从0点出发开到目的地所需要的最小花费是多少,若开不到目的地,输出最远可以到达的地方,油箱一开始为空思路贪心,读入后将加...

2019-07-17 14:24:23 240

原创 PAT 1032 Sharing (25 分)(不是求后缀的第一个位置的地址值)

题意一开始以为题意是求共同后缀的首地址值,于是想着把每一个串压栈然后再弹栈,发现第一个不同的就输出上一个的地址值但是最后一个测试点就是过不了,发现题意可能不是这样的,题目中应该并不是严格的后缀,只是在某一段区间两个串的值是相同的,然后后面的值又会不同思路所以我们遍历第一个串的时候用一个map或者数组记录一下节点是否被访问的,然后再去遍历第二个串,然后第二个串中当前访问的节点在第一个串中访问到...

2019-07-15 20:11:30 243 1

原创 P3768 简单的数学题(杜教筛+莫比乌斯反演)

题意给定n和p(p为质数)求∑i=1n∑j=1nijgcd(i,j)%p\sum_{i=1}^n\sum_{j=1}^nijgcd(i,j)\% pi=1∑n​j=1∑n​ijgcd(i,j)%pn≤1010,5×108≤p≤1.1×109n\le 10^{10},5\times 10^8\le p\le1.1 \times 10^9n≤1010,5×108≤p≤1.1×109思路经典的先...

2019-07-15 15:51:46 189

原创 HYSBZ/BZOJ 3994 约数个数和(莫比乌斯反演)

题意给你n和m求∑i=1n∑j=1md(ij)\sum_{i=1}^n\sum_{j=1}^md(ij)i=1∑n​j=1∑m​d(ij)其中d(x)d(x)d(x)表示xxx约数的个数思路这道题其实有一个很神奇的结论∑i=1n∑j=1md(ij)=∑gcd(i,j)==1⌊ni⌋⌊mj⌋\sum_{i=1}^n\sum_{j=1}^md(ij)=\sum_{gcd(i,j)==1}\...

2019-07-11 09:39:19 215

原创 PAT 1017 Queueing at Bank (25 分)(最后一个测试点)

题意假设一个银行有KKK个窗口开发服务。在窗口前有一条黄线把等待区分为两部分,所有的客人必须在黄线外等候,直到轮到他或她能被可使用的窗口所服务。假定没有窗口只能被一个人所占用且不超过1个小时Input Specification:每组输入有一个测试点,对于每个测试点,第一行包含两个数字NNN (≤104)(\leq10^4)(≤104)表示客人的总人数和KKK (≤100)(\leq100)...

2019-07-03 17:12:01 1448

原创 BZOJ 4916 神犇和蒟蒻(杜教筛)

题意给你一个n(1≤n≤109)n(1\leq n\leq10^9)n(1≤n≤109)求∑i=1nμ(i2)\sum_{i=1}^n\mu(i^2)i=1∑n​μ(i2)∑i=1nφ(i2)\sum_{i=1}^n\varphi(i^2)i=1∑n​φ(i2)对109+710^9+7109+7取模思路第一问根据莫比乌斯函数的性质出了i=1外其他的情况都含有平方因子所以都为0,所以对所有...

2019-07-02 11:34:12 139

原创 HDU 5724 Chess(sg函数)

ChessTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Submission(s): 3721 Accepted Submission(s): 1519Problem DescriptionAlice and Bob are playing a spec...

2019-06-30 15:17:18 166

原创 HDU 5738 Eureka(统计共线点数+组合数)

EurekaTime Limit: 8000/4000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Submission(s): 4007 Accepted Submission(s): 1096Problem DescriptionProfessor Zhang draws n points ...

2019-06-30 14:09:29 234

原创 PAT 1014 Waiting in Line (30 分)(模拟)

题意一个银行有n个窗口,每个窗口最多排m个人,多出去的人在黄线外等候,一共有k个人同时进入银行办理业务,每个人有一个办理业务所需要的时间,...

2019-06-26 21:07:19 189

原创 HDU 5728 PowMod (递归式+欧拉降幂)

PowModTime Limit: 3000/1500 MS (Java/Others) Memory Limit: 262144/262144 K (Java/Others)Total Submission(s): 1599 Accepted Submission(s): 559Problem DescriptionDeclare:k=∑i=1mφ(i∗n) mo...

2019-06-23 17:47:38 585

原创 HDU 5795 A Simple Nim(SG函数)

A Simple NimTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Submission(s): 1906 Accepted Submission(s): 1002Problem DescriptionTwo players take turns pi...

2019-06-22 17:55:05 197

原创 PAT 1021 Deepest Root (25 分)(dfs)

题意给你一个有n个点n-1条边的图,若让某一个点作为根会获得一颗树,求深度最大时是以哪一个点作为根,若答案不唯一按升序输出点,若图不连通或者不能构成树输出其有几个联通分量思路因为是一个n个点n-1条边的图所以遍历一遍图可以得到图的连通分量,如果连通分量不为1则图肯定不连通不能构成一棵树,输出其联通分量。若联通分量为0,则我们利用dfs求每一个点所能达到的最远距离,这个时候需要一个全局变量来记...

2019-06-22 17:33:14 135

原创 CSP 201903-2 二十四点(暴力写if)

思路由于操作符只有3而且位置固定我们可以写三个for循环把if语句答应出来然后粘进去代码里面就可以暴力了char op1[4]= {'+','-','x','/'};char op2[4]={'+','-','*','/'}; for(int i=0; i<4; i++) for(int j=0; j<4; j++) for(int ...

2019-06-21 20:41:23 873 2

原创 PAT 1020 Tree Traversals (25 分)(后序中序构造二叉树+层次遍历输出)

题意给你一棵树的后序遍历和中序遍历,求这棵树的层次遍历思路有两个问题1.如何用后序和中序来构造一棵二叉树2.如何层次遍历一颗二叉树构造二叉树已知后序的访问顺序为 左右根中序的访问顺序问 左根右那么对于一颗树来说后序的最后一个元素就是当前树的根,那么我们考虑每一颗子树,只要确定了子树的在后序中是那一部分,那这一部分的最后一个元素就是这颗子树的根了,那么正好我们可以通过中序来确定左右...

2019-06-21 14:35:57 217

原创 PAT 1018 Public Bike Management (30 分)(最短路+dfs)

题意有一个公共自行车网络,现在你要为公共自行车管理中心(PBMC)查询一下路线,PBMC做为0号节点,除了0号节点外还有n个自行车站点SiS_iSi​,每个自行车站点的自行车容量为C,我们认为一个自行车站有C2\frac{C}{2}2C​辆自行车时是perfect的,现在告诉你这n个站点每个站点的当前自行车数量,并且给你这个网络图的m条边,每条边代表两点之间所需要的时间,题目保证是从0出发的联通...

2019-06-21 12:29:32 206

原创 PAT 1013 Battle Over Cities (25 分) (图的遍历+强连通分量)

题意给你一个n个点的无向图,图有m条无向边,k次询问,每次询问,删去一个点,问你需要加几条边使得图的强连通分量为1思路用邻接矩阵存储图,map[i][j]=1map[i][j]=1map[i][j]=1代表i点到j点有条路,若为0则没有路用dfs来遍历图来判断图有几个强连通分量,用vis来记录哪些点被访问过了void dfs(int x){ vis[x]=1; for(...

2019-06-11 21:01:55 122

原创 HDU 5608 function(杜教筛)

functionTime Limit: 6000/3000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Submission(s): 1700 Accepted Submission(s): 607Problem DescriptionThere is a function f(x),which...

2019-06-10 10:55:26 292

原创 The 2019 ACM-ICPC China Shannxi Provincial Programming Contest B. Product(杜教筛+约数)

题意给你n(n≤109)n(n\leq 10^9)n(n≤109),m(m≤2×109)m(m\leq 2\times10^9)m(m≤2×109),p(p≤2×109)p(p\leq 2\times10^9 )p(p≤2×109),ppp为质数求∏i=1n∏j=1n∏k=1nmgcd(i,j)[k∣gcd(i,j)]\prod_{i=1}^n\prod_{j=1}^n\prod_{k=1}^...

2019-06-08 17:19:32 424

空空如也

空空如也

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

TA关注的人

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