为什么感觉我好像之前学过这玩意-
-?莫比乌斯反演莫比乌斯反演就是一个能求gcd为多少的个数有几个的东西-
-(反正我只知道这么用)f(x)表示gcd为x的倍数的个数g(x)表示gcd为x的个数莫比乌斯反演的基本形式是f(n) = Σ (g(d)) d | ng(n)
= Σ (g(d) * m.....
分类:
其他好文 时间:
2014-05-23 03:13:27
阅读次数:
240
题目链接:12075 - Counting Triangles
题意:求n * m矩形内,最多能组成几个三角形
这题和UVA 1393类似,把总情况扣去三点共线情况,那么问题转化为求三点共线的情况,对于两点,求他们的gcd - 1,得到的就是他们之间有多少个点,那么情况数就可以求了,然后还是利用容斥原理去计数,然后累加出答案
代码:
#include
#include
#include...
分类:
其他好文 时间:
2014-05-22 10:35:15
阅读次数:
229
欧几里得算法, 又称辗转相除法, 用于求两个自然数的最大公约数.算法的思想很简单,
基于下面的数论等式gcd(a, b) = gcd(b, a mod b)其中gcd(a, b)表示a和b的最大公约数,mod是模运算,
即求a除以b的余数.算法如下:输入: 两个整数a, b输出: a和b的最大公约数...
分类:
其他好文 时间:
2014-05-22 05:42:34
阅读次数:
232
简介iOS有三种多线程编程的技术,分别是:(一)NSThread(二)Cocoa
NSOperation(三)GCD(全称:Grand Central
Dispatch)这三种编程方式从上到下,抽象度层次是从低到高的,抽象度越高的使用越简单,也是Apple最推荐使用的。三种方式的优缺点介绍:1)NS...
分类:
移动开发 时间:
2014-05-22 01:57:09
阅读次数:
494
题目链接已知 gcd(x, y, z) = G, lcm(x, y, z) = L,
求有多少种组合(x, y, z)可以满足条件。G, L都在32位int范围内。思路: 素数分解 + 容斥L : p1^t1 * p2^t2 ... *
pi^tiG: q1^s1 * q2^s2... * qi^s...
分类:
其他好文 时间:
2014-05-21 17:57:31
阅读次数:
266
当我们在处理一系列线程的时候,当数量达到一定量,在以前我们可能会选择使用NSOperationQueue来处理并发控制,但如何在GCD中快速的控制并发呢?答案就是dispatch_semaphore.
信号量是一个整形值并且具有一个初始计数值,并且支持两个操作:信号通知和等待。当一个信号量被信号通知,其计数会被增加。当一个线程在一个信号量上等待时,线程会被阻塞(如果有必要的话),直至计数器大...
分类:
其他好文 时间:
2014-05-21 09:51:27
阅读次数:
258
问题:
求两个数的最大公约数
解法一:
欧几里得辗转相除法:
f(x,y) = GCD(x,y), 取k = x / y, b = x % y,则:x = k*y + b;
如果一个数能整除x,y,则它也能整除b,y; 而且能整除b,y的数必能整除x,y,即x,y和b,y的公约数是相同的,其最大公约数也是相同的,即f(x,y) = f(y ,x % y) (x>=y>0)...
分类:
其他好文 时间:
2014-05-21 09:28:26
阅读次数:
275
题意:求for(int i=a;i!=b;i+=c,i%=(1
解法:即求解C*x-(1C*x+K*y=b-a;如果g=gcd(C,K)不能被b-a整除,则说明无解。
用exgcd()求出一组C/g*x+K/g*y=1的解,然后两边乘上(b-a)/g将求出的x取最小正数输出。
代码:/*************************************...
分类:
其他好文 时间:
2014-05-21 07:09:42
阅读次数:
226
SOl:将原题改为枚举N的每一对因子,计算其是否互素即可。
#include
#include
#include
using namespace std;
inline int gcd(int a,int b)
{
return b==0?a:gcd(b,a%b);
}
int main()
{
int n,T,i,j;
scanf("%d",&T);
while(T...
分类:
其他好文 时间:
2014-05-21 07:07:00
阅读次数:
273
近期刚刚学习了一种多线程技术,现结合自己的理解将其罗列出来,希望能够与大家交流一下,多线程是一种能够节省程序运算时间的方法,大大的提高了程序的运算效率,那么首先我们来说一下进程和线程概念:
一个程序包含一个以上的进程,而一个进程又可以包含一个以上的线程,每一个进程都有自己独立的内存空间,相应...
分类:
编程语言 时间:
2014-05-19 20:00:50
阅读次数:
289