摘要: 以下内容为记录,有错请纠正 一个数的约数和=(1+p1+p12+...+p1c1)*(1+p2+p22+...+p2c2)*...*(1+pk+pk2+...+pkck)(p为这个数的各个质因数,c表示为各个质因数的次方,k表示质因数个数) 求一个数的质因数只需要O(sqrt(n))的时间复杂度,先阅读全文
posted @ 2018-08-07 09:15 Star_Feel 阅读(38) 评论(0) 编辑
该文被密码保护。
posted @ 2018-05-02 12:13 Star_Feel 阅读(1) 评论(0) 编辑
摘要: 作为本校的竞赛生,我必须为我大OJ打call caioj,小白菜oj,顾名思义,就是为刚踏进OI的”小白菜“们准备的网站,里面包含了许多专题内容,各种模版和讲解视频 而且对于刚学习C++的同学,更有帮助,OJ题目的第一版就已经为这些同学展现了C++的魅力与学习方式,让各位“小白菜”能够轻松的入门 你阅读全文
posted @ 2017-09-26 19:00 Star_Feel 阅读(197) 评论(0) 编辑
摘要: GD弱校的弱生hhl,处于小机房 过着每天被诸位大佬D飞的艰苦日子 现高一弱鸡,求指教阅读全文
posted @ 2017-09-13 13:34 Star_Feel 阅读(101) 评论(0) 编辑
摘要: 【传送门:51nod-1346】 简要题意: 给出一个式子a[i][j]=a[i-1][j]^a[i][j-1] 给出a[1][i],a[i][1](2<=i<=131172) 有n个询问,每个询问输入x,y 求出a[x+131072][y+131072] 题解: 真是一道有趣的题目。。 显然不能直阅读全文
posted @ 2018-10-15 11:54 Star_Feel 阅读(1) 评论(0) 编辑
摘要: 【传送门:51nod-1322】 简要题意: 给出n个点的两棵无根树,编号都是从0到n-1 现在每棵树任意选出一条边割断,设第一棵树选出的边为e1,第二棵树选出的边为e2 很显然割断后两棵树各分成了四棵树,设第一棵树分成了A1树和B1树,第二棵树分成了A2树和B2树 设S(a,b)为a树和b树之间相阅读全文
posted @ 2018-10-12 20:35 Star_Feel 阅读(4) 评论(0) 编辑
摘要: 【传送门:51nod-1310】 简要题意: 有一个数组S,保证里面的数是从小到大的,而且每一个数的二进制中都没有连续的1,如:1,2,4,5,8... 给出n,然后给出n个位置,求出S数组中n个位置的异或和 题解: 数位DP好题,卡了老久 设f[i]表示2i-1到2i-1中有多少个数是在数组S中的阅读全文
posted @ 2018-10-12 09:28 Star_Feel 阅读(4) 评论(0) 编辑
摘要: 【传送门:51nod-1296】 简要题意: 有一个集合,集合中的数为1到n 给出a限制条件,a[i]表示第a[i]位置的数要比相邻位置的数要小 给出b限制条件,b[i]表示第b[i]位置的数要比相邻位置的数要大 求出符合条件的序列个数 题解: DP 设f[i][j]为i位数,最后一位为j的情况数 阅读全文
posted @ 2018-10-11 12:40 Star_Feel 阅读(3) 评论(0) 编辑
摘要: 【传送门:51nod-1277】 简要题意: 给出一个长度为n的字符串,求出所有前缀的出现的次数*长度的最大值 题解: 一开始想着直接用KMP做,但是发现解决不了一个问题 改用EXKMP求,对于一个p[i],若p[i]不为0,则说明1到p[i]的位置的前缀出现的次数都多了一次 然后用差分搞一下就行了阅读全文
posted @ 2018-10-11 09:32 Star_Feel 阅读(4) 评论(0) 编辑
摘要: 【传送门:51nod-1275】 简要题意: 给出一个有n个数的序列,求出有多少个子段满足子段内最大值与最小值的差小于等于k 题解: 单调队列做 j表示往右最长能覆盖到的那个数,用两个单调队列来维护j的范围,一个递增,一个递减 然后对于每个i,j的取值都可能不同,但是随着i增大,j不可能减小,所以每阅读全文
posted @ 2018-10-11 08:14 Star_Feel 阅读(1) 评论(0) 编辑
摘要: 【传送门:51nod-1273】 简要题意: 给出一棵树,点数为n,现在你有一个旅行计划,从k城市出发,每天前往一个没去过的城市,并且旅途中经过的没有去过的城市尽可能的多(如果有2条路线,经过的没有去过的城市同样多,优先考虑编号最小的城市),直到所有城市都去过 求出每天旅行到达的城市的编号 题解: 阅读全文
posted @ 2018-10-10 17:05 Star_Feel 阅读(6) 评论(0) 编辑
摘要: 【传送门:51nod-1259】 简要题意: 将n分成若干个整数相加,求出方案数 题解: DP 和上一题不同,分成的整数可以相等,那么就不能用上一题的DP直接做,但可以利用它的思想 我们将n分成(1,sqrt(n))和(sqrt(n)+1,n)两部分来处理 首先对于第一部分,我们直接暴力背包求出s1阅读全文
posted @ 2018-10-10 12:41 Star_Feel 阅读(3) 评论(0) 编辑
摘要: 【传送门:51nod-1257】 简要题意: 给出n个物品,每个物品有它的体积和价值,要求选出k个物品,使得单位体积价值最大,求出最大单位体积价值 题解: 01分数规划裸题 直接01分数规划,然后对于true的情况就顺便记录一下选出来的物品的体积和,价值和就行了 想着没写过01分数规划的博客,就顺便阅读全文
posted @ 2018-10-10 09:33 Star_Feel 阅读(2) 评论(0) 编辑
摘要: 【传送门:51nod-1201】 简要题意: 给出一个整数n,将N分为若干个不同整数的和,求有多少种不同的划分方式 题解: DP 设f[i][j]表示用i个数组成j的方案数,因为n<=50000,而且划分出来的数要不同,所以最多只能分成320(还要小一点)个数的和,所以i最大为320 转移=f[i]阅读全文
posted @ 2018-10-09 15:57 Star_Feel 阅读(6) 评论(0) 编辑
摘要: 【传送门:51nod-1189】 简要题意: 给出一个数n,求出有多少个正整数x,y(0<x<=y)满足$1/n!=1/x+1/y$ 题解: 一开始还以为不可做 结果推一下柿子就会了 $1/n!=1/x+1/y$可以转化为$xy=n!*(x+y)$ 又可以转化为$xy-n!*(x+y)=0$,得到$阅读全文
posted @ 2018-10-09 08:50 Star_Feel 阅读(1) 评论(0) 编辑
摘要: 【传送门:51nod-1140】 简要题意: 给出矩阵A,B,C,判断A*B是否等于C 题解: 对于一般的判定,自然是n3将A*B求出来,然后再逐位判断 但是这自然是超时的 那么我们可以随机出一个高度为1,长度为n的矩阵X 如果A*B=C,那么根据结合律我们可以得到X*A*B=X*C,而求X*A*B阅读全文
posted @ 2018-10-08 07:19 Star_Feel 阅读(6) 评论(0) 编辑
摘要: 【传送门:51nod-1131】 简要题意: 给出A,B,表示有一个区间为A到B 给出X,Y,表示有一个区间为X到Y 求出X到Y中能够被A到B中的数(可重复)相加得到的不同的数的个数 题解: 乱搞题,暴力显然不行,但是我们会发现l到r中的数能被表示出来,那么k*l到k*r的数也能被表示出来(k为常数阅读全文
posted @ 2018-10-07 21:12 Star_Feel 阅读(3) 评论(0) 编辑
摘要: 闲谈: 重新写博客的第一场比赛,感觉炸裂,成功被Rose和xgcD飞 A 题目: 给出一段长为n个数字字符串,求出能用里面的字符来构成多少个长度为11且开头字符为8的字符串 题解: 直接在n/11和8出现的数量中取min就可以了 参考代码: #include<cstdio> #include<cst阅读全文
posted @ 2018-10-05 10:57 Star_Feel 阅读(23) 评论(0) 编辑
摘要: 【传送门:BZOJ1791】 简要题意: 给出一张有n个点的图,有n条双向边,长度为Li 每个点只能走一次 一个人可以到另一个连通块当且仅当现在所在的点所有与它相连的点都被走过,那么他就可以到另一个连通块的任意一个点 这个人可以从任意一个点开始行走 求出最大行走的边的长度和 题解: 就是求基环树森林阅读全文
posted @ 2018-10-05 10:09 Star_Feel 阅读(7) 评论(0) 编辑