
算法引论
谛听-
线上幽灵
展开
-
博弈游戏
Bash Game 一堆n个物品,两人轮流取,每次取1至m个,最后取完者胜。必胜局面:n%(m+1) !=0 必输局面:n%(m+1)==0Nim Game m堆n个物品,两人轮流取,每次取某堆中不少于1个,最后取完者胜。必胜局面:所有物品数目二进制异或!= 0 必输局面:所有物品数目二进制异或 == 0Wythoff Game 两堆(a,b) (a<=b)个物品,两人轮流取,每次从一原创 2016-04-04 10:55:09 · 520 阅读 · 0 评论 -
最大间隙问题
#include "stdio.h"#include "string.h"#include "iostream"#include "fstream"using namespace std;const int N = 100;int n; //数的个数double data[100];double high[N];double low[N];double count[N];//返回原创 2015-11-11 17:17:10 · 476 阅读 · 0 评论 -
金币阵列问题
#include "stdio.h"#include "string.h"#include "fstream"#include "iostream"using namespace std;ifstream fin("coins.txt");int m, n; //m行,n列const int N = 10;int temp[N][N]; int from[N][N];int to[原创 2015-11-11 16:06:33 · 476 阅读 · 0 评论 -
最多约数问题
#include "stdio.h"#include "string.h"const int MAXP = 3162;const int PCOUNT = 340;int prim[PCOUNT]; //存储素数bool get[PCOUNT];//素数筛法void prims(){ memset(prim, 0, sizeof(prim)); int i;原创 2015-11-11 14:11:26 · 564 阅读 · 0 评论 -
字典序问题
在数据加密和数据压缩中常需要对特殊的字符串进行编码。给定的字母表A由26 个小写英文字母组成A={a,b,…,z}。该字母表产生的升序字符串是指字符串中字母按照从左到右出现的次序与字母在字母表中出现的次序相同,且每个字符最多出现1次。例如,a,b,ab,bc,xyz等字符串都是升序字符串。现在对字母表A 产生的所有长度不超过6 的升序字符串按照字典序排列并编码如下。 1 2 …原创 2015-10-10 22:26:06 · 719 阅读 · 0 评论 -
统计数字问题
一本书的页码从自然数1开始顺序编码直到自然数n。书的页码按照通常的习惯编排,每个页码都不含多余的前导数字0。例如第6页用6表示而不是06或006。数字统计问题要求对给定书的总页码,计算出书的全部页码中分别用到多少次数字0,1,2,3,.....9。#include "stdio.h"#include "string.h"int main(){ int i, t; int n;原创 2015-10-10 22:25:33 · 960 阅读 · 0 评论