
算法
sylarCode
这个作者很懒,什么都没留下…
展开
-
HDU1299
附:HDU1299题意:求解对给定n,有多少对x,y使满足1/x+1/y=1/n; n范围 n思路:1):首先令x=n+k,求解y=n^2/k+n;即求n^2的因子个数这个大部分都会。2)重点:首先介绍命题 。对n的质因式分解,n=(p1^k1)*(p2^k2)*...*(pm^km),n的因子个数为(k1+1)*(k2+1)*...*(km+1)。故而n^2的因原创 2012-08-07 20:56:43 · 538 阅读 · 0 评论 -
HDU1905
附:HDU1905题意:对a,p, 求解非质数p能否满足a^p%p==a。思路:其实也就是质数判断和快速幂问题。程序如下:#include#includetypedef __int64 ll;/* 1:筛法#define MAX 50000#define MAXNUM 10000int isprime[MAX],prime[MAXNUM];void c原创 2012-08-07 20:44:58 · 571 阅读 · 0 评论 -
快速幂取模
今天acm培训知识:快速幂取模问题有时我们会碰到求a^b%c的问题,当数据较大时我们有一种比较好的方法(汗,忘了叫什么方法了)思路:我们先看命题1:(a*b)%c=(a%c*b%c)%c 括号里面可以有n项乘法。;首先很容易理解这个,进而有个拓展命题 2:若a>c,则a^b%c=((a%c)^b)%c;这时我们考虑到二进制,因为a^2%c,可以化为a%c原创 2012-08-07 20:37:28 · 1973 阅读 · 0 评论 -
筛法的几种变形
我们知道筛法一般就是开辟一个大的数组,然后循环可以对2,3,5等的倍数剔除,通过昨天的acm集训,我了解了几种变形,很有趣。1):一般筛法: bool prime[MAX]; memset(prime,true,sizeof(prime)); for(k=4;k<MAX;k+=2) prime[k]=false; for(i=3;i<=S原创 2012-08-07 08:55:16 · 667 阅读 · 0 评论 -
只出现一次的数字-LeetCode
题目来源:https://leetcode-cn.com/problems/single-number/description/描述:给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。 要求时间复杂度O(n),空间复杂度O(1)。示例:输入: [4,1,2,1,2] 输出: 4思路:抓住重点,每...原创 2018-07-20 18:37:41 · 205 阅读 · 0 评论 -
删除排序数组中的重复项-LeetCode
题目来源:https://leetcode-cn.com/problems/remove-duplicates-from-sorted-array/description/描述:给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。示例:...原创 2018-07-20 18:52:08 · 187 阅读 · 0 评论 -
旋转数组-LeetCode
题目来源:https://leetcode-cn.com/problems/rotate-array/description/描述:给定一个数组,将数组中的元素向右移动 k 个位置,其中 k 是非负数。示例:输入: [1,2,3,4,5,6,7] 和 k = 3 输出: [5,6,7,1,2,3,4] 解释: 向右旋转 1 步: [7,1,2,3,4,5,...原创 2018-07-21 15:53:55 · 261 阅读 · 0 评论 -
回文链表-LeetCode
题目来源:https://leetcode-cn.com/problems/palindrome-linked-list/description/描述:请判断一个链表是否为回文链表。 你能否用 O(n) 时间复杂度和 O(1) 空间复杂度解决此题?示例:输入: 1->2->2->1 输出: true思路:思路:如何判断回文,从中间位置开...原创 2018-07-30 17:05:34 · 548 阅读 · 0 评论