2021年5月30日

vim/gvim使用笔记

摘要: u 撤销上一步的操作 Ctrl+r 恢复上一步被撤销的操作 阅读全文

posted @ 2021-05-30 13:31 IThinktan 阅读(57) 评论(0) 推荐(0) 编辑

2015年12月21日

FPGA speed grade

摘要: Altera的-6、-7、-8速度等级逆向排序,Xilinx速度等级正向排序。不很严密地说,“序号越低,速度等级越高”这是Altera FPGA的排序方法, “序号越高,速度等级也越高”这是Xilinx FPGA的排序方法。从那时起,就一直没搞明白speed grade是怎么来的,... 阅读全文

posted @ 2015-12-21 09:44 IThinktan 阅读(1101) 评论(1) 推荐(1) 编辑

2014年3月21日

alpha-beta剪枝搜索

摘要: •一种基于剪枝( α-βcut-off)的深度优先搜索(depth-first search)。•将走棋方定为MAX方,因为它选择着法时总是对其子节点的评估值取极大值,即选择对自己最为有利的着法;•将应对方定为MIN方,因为它走棋时需要对其子节点的评估值取极小值,即选择对走棋方最为不利的、最有钳制作用的着法。•在对博弈树采取深度优先的搜索策略时,从左路分枝的叶节点倒推得到某一层MAX节点的值,可表示到此为止得以“落实”的着法最佳值,记为α。•显然此值可作为MAX方着法指标的下界。•在搜索此MAX节点的其它子节点,即探讨另一着法时,如果发现一个回合(2步棋)之后评估值变差,即孙节点评估值低于下界 阅读全文

posted @ 2014-03-21 19:20 IThinktan 阅读(15826) 评论(1) 推荐(1) 编辑

MaxMin搜索

摘要: 阅读全文

posted @ 2014-03-21 19:15 IThinktan 阅读(480) 评论(0) 推荐(0) 编辑

zobrist hashing

摘要: Zobrist 哈希是一种专门针对棋类游戏而提出来的编码方式,以其发明者 Albert L.Zobrist 的名字命名。Zobrist 哈希通过一种特殊的置换表,也就是对棋盘上每一位置的各个可能状态赋予一个编码索引值,来实现在极低冲突率的前提下在一个整型数据上对棋盘进行编码。其编码步骤描述如下:1) 将棋盘分为最小单位(如果将9X9围棋盘分为81个交叉点),求出每个单位上不同状态数(如围棋盘上的 1 个交叉点有 3 个状态)。2) 为每个单位上的每种状态生成一个一定范围内(如64位整数)随机数。3) 对于特定的棋局,将每个单位上的状态对应的随机数作异或运算,所得即为哈希值。用 Zobrist 阅读全文

posted @ 2014-03-21 18:46 IThinktan 阅读(3815) 评论(1) 推荐(0) 编辑

2014年3月15日

从文件中读取数据

摘要: #include#include#includeint main(){ char a[20]={0}; FILE *fp; fp=fopen("a.txt","r");//rb,rb+且均为作出修改//wb,wb+都不行,不能输入且清除了文件信息,准备输出到文件//注意在程序中的"a"文件在此处必须用a.txt引用 fscanf(fp,"%s",a); printf("%s\n",a); return 0;}文件操作心得:一、文件操作过程中,以二进制方式向文件中写数据,只能 1.删除原文件,建立 阅读全文

posted @ 2014-03-15 22:35 IThinktan 阅读(4430) 评论(0) 推荐(0) 编辑

单词统计_统计文章中每个单词出现的频率

摘要: //预先存入工程文件的文章tex文档#include#include//using namespace stdtypedef struct//储存字符和权值{ char str[20]; int mount;}tj;int main(){ int i,j,k,n=0; int allmount=0; tj TJ[3000];//********************只需修改该两行便能改变统计容量 for(i=0;i<3000;i++) //初始化 ,最大能记录3000种不同(单词)的权值信息 { for(j=0;j<20;j++) ... 阅读全文

posted @ 2014-03-15 22:32 IThinktan 阅读(3398) 评论(0) 推荐(0) 编辑

大数据检索(作业型)//163邮箱中有工程文件

摘要: 单词(词组)检索现在有一个英文字典(每个单词都是由小写的'a'-'z'组成) ,单词量很大,达到 100 多万的单词,而且还有很多重复的单词。此外,我们现在还有一些 Document,每个 Document 包含一些英语单词。针对这个问题,请你选择合适的数据结构,组织这些数据,使时间复杂度和空间复杂度尽可能低,并且解决下面的问题和分析自己算法的时间复杂度。1)基本型问题(1)选择合适的数据结构,将所有的英文单词生成一个字典 Dictionary。(2)给定一个单词,判断这个单词是否在字典 Dictionary中。如果在单词库中,输出这个单词总共出现的次数。否则输 阅读全文

posted @ 2014-03-15 22:21 IThinktan 阅读(482) 评论(0) 推荐(0) 编辑

大数据检索(窗口界面界面演示型)

摘要: 单词(词组)检索现在有一个英文字典(每个单词都是由小写的'a'-'z'组成) ,单词量很大,达到 100 多万的单词,而且还有很多重复的单词。此外,我们现在还有一些 Document,每个 Document 包含一些英语单词。针对这个问题,请你选择合适的数据结构,组织这些数据,使时间复杂度和空间复杂度尽可能低,并且解决下面的问题和分析自己算法的时间复杂度。1)基本型问题 (1)选择合适的数据结构,将所有的英文单词生成一个字典 Dictionary。(2)给定一个单词,判断这个单词是否在字典 Dictionary中。如果在单词库中,输出这个单词总共出现的次数。否则 阅读全文

posted @ 2014-03-15 21:28 IThinktan 阅读(1062) 评论(0) 推荐(0) 编辑

求大数阶乘(10000以内)

摘要: //算法一__tanhaiqing#include struct Node { int data; Node* next;//指向大数的高位 Node* pre;//指向大数的低位 }; main() { int n,temp,i,wei,jinwei; Node *head,*p1,*p2,*tail; char ch; while(1) { head=new Node;//存放第一个节点,值为1 head->data=1; head->pre=head->next=NULL; ... 阅读全文

posted @ 2014-03-15 13:00 IThinktan 阅读(1958) 评论(0) 推荐(0) 编辑

导航