ACM 数论
lanximu
这个作者很懒,什么都没留下…
展开
-
toj2891 "Sub"-Sequence
题目链接:http://acm.tju.edu.cn/toj/showp2891.html 题目大意:给定一组数 相邻的相减 输出最终剩下的那个数 思路:双重for循环 内层控制更新节点 外层控制节点长度每次减少1 注意边界值就是了.. 代码: //相邻元素作差直至剩余一个 双重for循环 #include using namespace std; int num[21];原创 2013-09-14 13:30:43 · 710 阅读 · 0 评论 -
toj3823 Divisible Subsquences
题目大意:给定一个数和一个序列 计算这个序列中有多少个子序列的和是这个数的倍数。 思路:a[i]+a[i+1]+..+a[j] = s[j]-s[i],如果要和是其倍数, 则表示s[j]-s[i]能够整除那个数,只要s[j]和s[i]对那个数的余数相同就可以了啊,所以,将各个和按余数分堆!! 每个堆选择两个出来,即(n*n-1)/2; ps: 余数分堆很常用!! 序列为两个相减也很常用!!原创 2013-09-13 17:48:37 · 705 阅读 · 0 评论 -
toj1528 Least Common Multiple
题目大意:给定n个数 求最小公倍数 LCM- -! 思路:这篇文章写下来,是不想这两个公式某天给忘了 另外 再贴一份2年前写的代码对比下 - -! gcd(int a int b){ return b?gcd(c,a%b):a;} lcm(int x, int y){return x/gcd(x,y)*y;} 代码: #include using namespace std;原创 2013-09-13 16:16:48 · 741 阅读 · 0 评论