https://cn.vjudge.net/contest/243050#problem/E
手推几项可以看出是卡特兰数,具体证明 https://blog.csdn.net/Bfk_zr/article/details/78313960
这个题最神奇的是学到了O(n)求对非任意数组合数取模的方法!(适用于n<1e7) 继续阅读“[卡特兰数][大组合数取模] BZOJ 1485”
https://cn.vjudge.net/contest/243050#problem/E
手推几项可以看出是卡特兰数,具体证明 https://blog.csdn.net/Bfk_zr/article/details/78313960
这个题最神奇的是学到了O(n)求对非任意数组合数取模的方法!(适用于n<1e7) 继续阅读“[卡特兰数][大组合数取模] BZOJ 1485”
https://cn.vjudge.net/problem/POJ-2480
题意:给定int范围内的整数N,要求gcd(i,N)之和,其中1<=i<=N
大佬们说积性函数的和也是积性函数那我就先这么说吧
继续阅读“[数论][积性函数][欧拉函数性质] POJ2480”
http://codeforces.com/problemset/problem/1015/D
题意:给定n,k,s,要求在一段[1,n]的线段上走整点,从1开始,每次只能往一个方向走走任意步(但不能不动),然后要求总共走k步走完s,要求输出任意的方案。如果无法做到则输出NO。 继续阅读“[CF][贪心] CF 1015D”
(其实一开始想的是错的,实际上就是mu[i]^2的前缀和S
先考虑对立面,2到n之间有多少个数可以被平方数整除?可以枚举从2到sqrt(n),然后把可以被这些数字的平方整除的算上,也就是n/(i^2)个对于每个来说。但是这里会有重复的,比如i分别为2,3,6时,算上了4,9,36,其中36被算了两遍,所以要加加减减。(好吧其实我也还没自己证明出来但是今天有点疲回头填坑ooorz
继续阅读“[暑期集训][数学][数论][组合数学] SPOJ Square-free integers”
题意要求求出给定整数分解为2的幂之和的方法数量。(貌似这题还有两个加强版orz日后填坑
写出前几项后可以观察出来规律:当n为奇数的时候 f(n)=f(n-1),当n为偶数的时候f(n)=f(n/2)+f(n-2)。
这个规律的由来其实很简单,奇数的时候一定每一种分解都有至少一个1,说明这个1不是造成这些分法不同的原因,那么去掉他之后这些分法仍然是不同的,也就是数量没有减少,所以f(n)=f(n-1)。 而偶数的时候可以观察到分法可以分为两类,一类是有1的,这时候必定至少有两个1(因为n为偶数),换句话说这一类里面每种分法都有两个1,那么跟奇数那个同理这个也不是造成这些分法彼此不同的原因,所以去掉之后仍然是不同的也就是数量不会减少,这一部分相当于是f(n-2); 另一部分都是2的倍数,那么把他们全部除以2的话也仍然保持不同也就是数量没有变,也就是说这一部分相当于f(n/2)。
一开始没写记忆化果断T了几发。。。
继续阅读“[暑期集训][数学][递推] 51nod 1383”
很久很久没做过图论的题了,做一个忽然意识到自己记错了欧拉回路的意义emmm
就当是复习一下吧。
昨天哈,喝了不少酒干了傻事,该过去的就让他翻篇吧,
继续阅读“[训练指南][简单题][图论] 无向图的欧拉回路 Uva10054”
总感觉此题似曾相识,有很类似的求面积而非周长的题目?
题意给出长方形地图然后让求每个点对应的可贩卖的最大周长的矩形面积。考虑每一行的话,往上累计,然后就变成了一维的,在前面一些xx中求得最大/最小值的题,一般直接暴力会超时然后就用单调数据结构优化,这里左边每次动都相当于一个新的开始,所以就是添加和删除操作都在右侧进行,单调栈走起了。
继续阅读“[紫书][单调栈][思维] 求最大周长矩形 UVa12265”
紫书第八章这些题。。有点意思的啊。。
题意让往一个不规则的二维洞穴里面加水问每个地方都不碰到天花板的话最多能装多少水。当然很容易想到用在一点画一条横线然后与其他天花板不相交,但是没想出来怎么在低复杂度求和具体实现。看了紫书题解,才发现这条横线左右两边可以分开来求,这样求一边的时候就可以扫描一遍数组而不用O(n^2)去计算了, 继续阅读“[紫书][思维] 非常见模型 物理 思维与分析 UVa1442”
学习了一下这个算法,emmm不知道什么时候就会用到的感觉。本身功能是在O(n)时间内算出一个串的最长回文子串,其实这个过程也把每个点作为中心的最长回文串计算了一遍
这个算法的话主要是利用回文串的性质,回头整理好了再详细写。