欧几里得辗转相除法,有效地处理求两个数的最大公约数问题!下面是代码和实现! 1 #include 2 int gcd(int m,int n) 3 { 4 if(m 2 int gcd(int m,int n) 3 { 4 if(m<n) 5 gcd(n,m); 6 ...
分类:
编程语言 时间:
2015-07-24 17:26:00
阅读次数:
163
离散化+并查集set比unique慢好多unique 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 #define clr(a,x) memset(a,x,sizeo...
分类:
其他好文 时间:
2015-07-24 17:25:07
阅读次数:
111
#include
template
void F(Ts&& ... params) {
printf(std::forward(params)...);
}
int main()
{
auto f = [] { printf("hello world"); };
f();
F("%s: %d", __FUNCTION__, __LINE__);
return...
分类:
编程语言 时间:
2015-07-24 16:12:39
阅读次数:
292
太弱了QAQ学完SAM这么久才学会构建QAQ#include
#include
#include
#include
#include
#define MAXN 200010
using namespace std;
struct sam
{
int p,q,np,nq;
int cnt,last...
分类:
其他好文 时间:
2015-07-24 16:10:52
阅读次数:
94
Sort函数:
sort函数的头文件
#include
using namespace std;
bool cmp(int a, int b)
{
//return ab,则为降序(理解为先排大的,后排小的)
return a > b;
}
Qsort函数对double类型排序
int cmp(const void *a, const void *b)
{
//从大到小排序
...
分类:
其他好文 时间:
2015-07-24 16:08:58
阅读次数:
108
题意:用1*2的方格填充m*n的方格不能重叠,问有多少种填充方法分析:dp[i][j]表示i行状态为j时的方案数,对于j,0表示该列竖放(影响下一行的该列),1表示横放成功(影响下一列)或上一列竖放成功。状态转移时,枚举每一行可能的状态上一行取反得下一行能放的状态。#include #include...
分类:
其他好文 时间:
2015-07-24 16:06:44
阅读次数:
91
1 #include 2 #include 3 #include 4 5 using namespace std; 6 7 int gcd(int a,int b) 8 { 9 if(b==0)10 return a;11 else12 r...
分类:
其他好文 时间:
2015-07-24 16:06:26
阅读次数:
133
直接DFS, 然后用set维护一下就好了.... O(nlogn)--------------------------------------------------------------------------------#include#define rep(i, n) for(int i =...
分类:
其他好文 时间:
2015-07-24 16:05:27
阅读次数:
101
1 #include 2 #include 3 #include 4 5 using namespace std; 6 7 long long multi(long long a,long long b) 8 { 9 long long mod=b+1;10 long ...
分类:
其他好文 时间:
2015-07-24 16:04:01
阅读次数:
109
题目:输入一个字符串,输出该字符串的字符的所有组合,比如输入字符串:abc,输出a、b、c、ab、ac、bc、abc。思路:回溯法建立一个数组记录字符串中的字符出现与否,如字符串abc,int A[3],A={1,0,1},就代表字符ac。代码:#include #include using nam...
分类:
编程语言 时间:
2015-07-24 16:03:43
阅读次数:
139