为什么要写这个系列,因为百度了一下,找了很多都是些片面的Blog,拷贝来拷贝去的,写的也很粗糙。没有一个完整的可参考系列
所以,我要写这个系列,尽量把官网文档中GCD的强大功能完整的表达出来。方便自己,也方便别人,如果发现有问题,欢迎提出...
分类:
其他好文 时间:
2014-11-13 09:26:13
阅读次数:
161
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1576题目大意:求(A/B)mod 9973。但是给出的A是mod形式n,n=A%9973。解题思路:两种思路,一种从乘法逆元角度,另一种从扩展GCD推公式角度。①乘法逆元:先来看下逆元和乘法逆元的关系,...
分类:
其他好文 时间:
2014-11-13 06:57:32
阅读次数:
199
辗转相除法基于如下原理:两个整数的最大公约数等于其中较小的数和两数的相除余数的最大公约数。#include//使用辗转相除法求最大公约数int gcd(int a, int b){ if (a % b == 0) { printf("%d",b); } else...
分类:
其他好文 时间:
2014-11-13 00:31:10
阅读次数:
152
最大公因数(gcd.c/.cpp/.pas)题目描述 给定正整数n,求。样例输入6样例输出15数据范围对于40%的数据:1#include#include#include#include#include#include#include#include#include#include#define L...
分类:
其他好文 时间:
2014-11-12 22:42:06
阅读次数:
295
求最小公约数,最容易想到的是欧几里得算法,这个算法也是比较容易理解的,效率也是很不错的。也叫做辗转相除法。
对任意两个数a,b(a>b),d=gcd(a,b),如果b不为零,那么gcd(a,b)=gcd(b,a%b)
证明: 令 r=a%b,即存在k,使得 a=b*k+r,那么r=a-b*k;显然r>=0, r%d=((a%d)-(b*k)%d)%d,因为a%d=b%d=0,所以r%d=...
分类:
编程语言 时间:
2014-11-12 21:17:10
阅读次数:
318
/*
题意:给你一列只能取0和1的数。
限制:每3个相邻的数的值固定,开头和结尾只限制两个数
求:有多少种组合方案
解:搜索,在开头和结尾再加一个只能取零的数,直接判断是否符合条件即可
*/
#include
#include
#include
using namespace std;
#define N 11000
int sum;
int dp[N];
int a[N],n;
void df...
分类:
其他好文 时间:
2014-11-12 16:40:12
阅读次数:
165
题目大意:给定一个n个单词的文章,求每个单词在文章中的出现次数
文章长度
首先将所有单词用空格连接成一个字符串,记录每个单词的起始位置和长度
然后求后缀数组,对于每个单词后缀数组中一定有连续一段后缀以这个单词开头,我们通过一开始记录的起始位置找到这个单词的后缀,然后左右端点二分答案,满足左右端点之间的后缀与原单词的LCP都当与等于原单词长度即可
时间复杂度O(nlogn)
#includ...
分类:
编程语言 时间:
2014-11-12 15:05:52
阅读次数:
823
http://www.lydsy.com/JudgeOnline/problem.php?id=1029按右端点排序后依次加入,并且每一次看是否能被修筑,如果能就修;否则查找原来修过的,如果原来修过的最大的建筑花的时间比当前所要花的时间大,那么我们就决策:不修原来那个,改为修当前的(因为起点一样,所...
分类:
Web程序 时间:
2014-11-12 13:28:09
阅读次数:
228
GCD定时器
dispatch_source_create(DISPATCH_SOURCE_TYPE_TIMER,
0, 0,
dispatch_get_main_queue());...
分类:
其他好文 时间:
2014-11-12 10:36:07
阅读次数:
278
IOS应用开发中我们可以使用如下三种方式来实现程序的多线程执行:1、NSThread2、Cocoa NSOperation (使用NSOperation和NSOperationQueue)3、GCD (Grand Central Dispatch)三种方式抽象度层次是从低到高的,抽象度越高的使用越简...
分类:
移动开发 时间:
2014-11-12 09:18:02
阅读次数:
210