本文是翻译的官方文https://docs.unrealengine.com/latest/INT/Engine/AI/BehaviorTrees/QuickStart/index.html相比较之前的WIKI系列AI视频(链接:http://www.unrealchina.net/forum...3968&extra=page%3D1),本文更简单理解,而且使用的是最新版本的引擎,所以大家放心食用吧。
不想花费时间在重复排版上,我把它整理成word,需要的童鞋请自行下载吧
2024/10/13 15:48:13 3.1MB UE4 AI 教程 中文
1
voidCFunction::CreatGauss(doublesigma,double**pdKernel,int*pnWidowSize){LONGi;//数组中心点intnCenter;//数组中一点到中心点距离doubledDis;//中间变量doubledValue;doubledSum;dSum=0;//[-3*sigma,3*sigma]以内数据,会覆盖绝大部分滤波系数*pnWidowSize=1+2*ceil(3*sigma);nCenter=(*pnWidowSize)/2;*pdKernel=newdouble[*pnWidowSize];//生成高斯数据for(i=0;i<(*pnWidowSize);i++)
2024/10/12 21:45:37 16KB C++边缘检测
1
使用QT实现pcm和wav文件相互转换,读取wav音频格式等。
其中有些数据类型属于qt特有如qint32,QString等完全可以转成int,std::string,移植的话转成相应类型即可。
2024/9/7 17:04:35 4KB QT PCM WAV
1
ZXing一维码/二维码使用文档样例:System.IO.StreamstmYiWei=newSystem.IO.MemoryStream();BitMatrixbyteMatrix=newMultiFormatWriter().encode(sCode,BarcodeFormat.CODE_39,230,40);toBitmap(byteMatrix).Save(stmYiWei,ImageFormat.Bmp);Byte[]byteYiWei=newbyte[stmYiWei.Length];stmYiWei.Position=0;stmYiWei.Read(byteYiWei,0,(int)stmYiWei.Length);//将图片文件流保存为二进制文件以便保存到数据库中System.IO.StreamstmErWei=newSystem.IO.MemoryStream();IDictionaryhints=newDictionary();hints.Add(EncodeHintType.CHARACTER_SET,"UTF-8");byteMatrix=newMultiFormatWriter().encode(sTmp,BarcodeFormat.QR_CODE,200,200,hints);toBitmap(byteMatrix).Save(stmErWei,ImageFormat.Bmp);Byte[]byteErWei=newbyte[stmErWei.Length];stmErWei.Position=0;stmErWei.Read(byteErWei,0,(int)stmErWei.Length);//将图片文件流保存为二进制文件以便保存到数据库中strSQL="insertintogdzc_biaoqian(bq_gd_no,bq_yiweima,bq_erweima,bq_us_no)values(";strSQL=strSQL+"@bq_gd_no,@bq_yiweima,@bq_erweima,@bq_us_no)";SqlCommandcommandImage=newSqlCommand(strSQL,connectionImage);commandImage.Parameters.Clear();commandImage.Parameters.Add("@bq_gd_no",SqlDbType.Int).Value=Convert.ToInt32(sGdzcNo);commandImage.Parameters.Add("@bq_yiweima",SqlDbType.Image).Value=byteYiWei;commandImage.Parameters.Add("@bq_erweima",SqlDbType.Image).Value=byteErWei;commandImage.Parameters.Add("@bq_us_no",SqlDbType.Int).Value=Convert.ToInt32(Session["LoginUserID"]);commandImage.ExecuteNonQuery();commandImage.Dispose();
2024/8/27 21:04:07 25.56MB ZXing 一维码 二维码
1
该控件继承QWidget,实现了左右上下四种形式的坐标轴控件。
可以设置固定间隔或自动选择间隔可以设置最小间隔开放一个槽来动态调整坐标轴的范围处理了边缘刻度的显示/*************************************************************************版权所有(C)2012-2015,liang1057@yahoo.com.cn类声明:坐标轴控件************************************************************************//**@brief坐标轴控件**@details坐标轴控件只有刻度和数字,数字可以隐藏(用来显示其他需要显示的刻度值)*/classuiAxis:publicQWidget{Q_OBJECTpublic:/**@brief坐标轴类型**@details坐标轴类型*/enumAXISTYPE{LEFT_AXIS=0,TOP_AXIS,RIGHT_AXIS,BOTTOM_AXIS};/**@brief构造函数*/uiAxis(AXISTYPEtype=BOTTOM_AXIS,QWidget*parent=0);/**@brief析构函数*/~uiAxis(void);/**@brief设置坐标轴的范围*/voidsetScop(doubleminValue,doublemaxValue);/**@brief获取坐标轴的范围*/voidgetScop(double&minValue,double&maxValue);/**@brief获取坐标轴的范围*/doublegetMinValue();doublegetMaxValue();/**@brief设置坐标轴的类型*/voidsetAxisType(AXISTYPEtype);/**@brief坐标轴的类型*/AXISTYPEgetAxisType();/**@brief设置最小刻度(小刻度的最小间隔)*/voidsetMinInterval(doublevalue);/**@brief设置自动间隔*/voidsetAutoScale(boolval=true);/**@brief设置固定间隔*/voidsetSettedScale(boolval=true);/**@brief设置坐标轴的绘制范围,像素值*/voidsetBoundary(intleft,intright,inttop,intbottom);voidgetBoundary(int&left,int&right,int&top,int&bottom);
2024/8/15 19:23:02 4KB Qt 坐标轴
1
倍福TwinCAT3上位机与PLC通信测试(ADS通信)包含C#和C++代码程序介绍:https://www.cnblogs.com/JiYF/p/7780948.html最底部有下载连接,不需要在这里下载本次测试需要环境:VS2013,TwinCAT3(本人版本TC31-Full-Setup.3.1.4018.16)代码:C#代码,PLC程序代码,C++代码测试部分:测试包含:bool类型,int类型,long类型,real类型,lreal类型,string类型,数组,以及结构体部分测试(这里没有结构体嵌套)
2024/7/29 20:55:18 4.92MB 倍福TwinCAT3
1
1本程序在vc++6.0编译通过并能正常运行。
2主界面程序已经尽量做到操作简便了,用户只需要根据提示一步步进行操作就行了。
六思考和总结:这个课程设计的各个基本操作大部分都在我的综合性实验中实现了,所以做这个主要攻克插入和删除这两个算法!其中插入在书本上已经有了,其中的右平衡算法虽然没有给出,但通过给出的左平衡算法很容易就可以写出右平衡算法。
所以最终的点就在于删除算法的实现!做的过程中对插入算法进行了非常非常多次的尝试!花了非常多的时间,这其中很多时候是在对程序进行单步调试,运用了VC6。
0的众多良好工具,也学到了很多它的许多好的调试手段。
其中删除算法中最难想到的一点是:在用叶子结点代替要删除的非叶子结点后,应该递归的运用删除算法去删除叶子结点!这就是整个算法的核心,其中很强烈得体会到的递归的强大,递归的最高境界(我暂时能看到的境界)!其它的都没什么了。
选做的那两个算法很容易实现的:1合并两棵平衡二叉排序树:只需遍历其中的一棵,将它的每一个元素插入到另一棵即可。
2拆分两棵平衡二叉排序树:只需以根结点为中心,左子树独立为一棵,右子树独立为一棵,最后将根插入到左子树或右子树即可。
BSTreeEmpty(BSTreeT)初始条件:平衡二叉排序树存在。
操作结果:若T为空平衡二叉排序树,则返回TRUE,否则FALSE.BSTreeDepth(BSTreeT)初始条件:平衡二叉排序树存在。
操作结果:返回T的深度。
LeafNum(BSTreeT)求叶子结点数,非递归中序遍历NodeNum(BSTreeT)求结点数,非递归中序遍历DestoryBSTree(BSTree*T)后序遍历销毁平衡二叉排序树TR_Rotate(BSTree*p)对以*p为根的平衡二叉排序树作右旋处理,处理之后p指向新的树根结点即旋转处理之前的左子树的根结点L_Rotate(BSTree*p)对以*p为根的平衡二叉排序树作左旋处理,处理之后p指向新的树根结点,即旋转处理之前的右子树的根结点LeftBalance(BSTree*T)对以指针T所指结点为根的平衡二叉排序树作左平衡旋转处理,本算法结束时,指针T指向新的根结点RightBalance(BSTree*T)对以指针T所指结点为根的平衡二叉排序树作右平衡旋转处理,本算法结束时,指针T指向新的根结点Insert_AVL(BSTree*T,TElemTypee,int*taller)若在平衡的二叉排序树T中不存在和e有相同的关键字的结点,则插入一个数据元素为e的新结点,并返回OK,否则返回ERROR.若因插入而使二叉排序树失去平衡,则作平衡旋转处理布尔变量taller反映T长高与否InOrderTraverse(BSTreeT)递归中序遍历输出平衡二叉排序树SearchBST(BSTreeT,TElemTypee,BSTree*f,BSTree*p)在根指针T所指的平衡二叉排序树中递归的查找其元素值等于e的数据元素,若查找成功,则指针p指向该数据元素结点,并返回TRUE,否则指针p指向查找路径上访问的最后一个结点并返回FALSE,指针f指向T的双亲,其初始调用值为NULLDelete_AVL(BSTree*T,TElemTypee,int*shorter)在平衡二叉排序树中删除元素值为e的结点,成功返回OK,失败返回ERRORPrintBSTree_GList(BSTreeT)以广义表形式打印出来PrintBSTree_AoList(BSTreeT,intlength)以凹入表形式打印,length初始值为0Combine_Two_AVL(BSTree*T1,BSTreeT2)合并两棵平衡二叉排序树Split_AVL(BSTreeT,BSTree*T1,BSTree*T2)拆分两棵平衡二叉树}(2)存储结构的定义:typedefstructBSTNode{ TElemTypedata; intbf;//结点的平衡因子 structBSTNode*lchild,*rchild;//左.右孩子指针}BSTNode,*BSTree;
1
版本:8.24.1更新日期:2018-12-11共计142个英雄英雄数据结构如下:`id`varchar(15)NOTNULLCOMMENT'英雄名称',`key`int(4)NOTNULLCOMMENT'英雄标志id',`name`varchar(10)NOTNULLCOMMENT'英雄名称',`title`varchar(10)NOTNULLCOMMENT'英雄名字',`tag1`varchar(8)NOTNULLCOMMENT'英雄类型',`tag2`varchar(8)DEFAULTNULLCOMMENT'英雄第二类型',`attack`int(1)NOTNULLCOMMENT'物理攻击',`defense`int(1)NOTNULLCOMMENT'防御能力',`magic`int(1)NOTNULLCOMMENT'法术攻击',`difficulty`int(1)NOTNULLCOMMENT'上手难度',`lore`textCOMMENT'背景故事',`blurb`textCOMMENT'背景故事展开',`allytips`textCOMMENT'当你使用该英雄时',`enemytips`textCOMMENT'当敌人使用该英雄时'
2024/6/9 9:43:54 235KB mysql 英雄联盟
1
packagecom.org.dao.impl;importjava.sql.Connection;importjava.sql.PreparedStatement;importjava.sql.ResultSet;importjava.sql.SQLException;importjava.util.ArrayList;importjava.util.List;importjava.util.Map;importorg.springframework.jdbc.core.BeanPropertyRowMapper;importorg.springframework.jdbc.core.PreparedStatementCreator;importorg.springframework.jdbc.core.RowCallbackHandler;importorg.springframework.jdbc.support.GeneratedKeyHolder;importorg.springframework.stereotype.Repository;importcom.org.JdbcTempBaseDao;importcom.org.dao.IUserDao;importcom.org.model.User;@Repository@SuppressWarnings("all")publicclassUserDaoImplextendsJdbcTempBaseDaoimplementsIUserDao{ @Override publicListgetUserList(){ Stringsql="select*fromuser"; finalListlist=newArrayList(); jdbcTemplate.query(sql,newRowCallbackHandler(){ @Override publicvoidprocessRow(ResultSetrs)throwsSQLException{ Useru=newUser(); u.setId(rs.getInt("id")); u.setUsername(rs.getString("username")); u.setPassword(rs.getString("password")); u.setCreateDate(rs.getString("createDate")); u.setModifyDate(rs.getString("modifyDate")); u.setType(rs.getString("type")); list.add(u); } }); returnlist; } @Override publicListgetUserLists(Mapmap){ returnnull; } @Override publicIntegergetUserCount(Mapmap){ Stringsql="selectcount(1)fromUserwhereid=?"; returngetJdbcTemplate().queryForObject(sql,Integer.class,map); } @Override publicUsergetUserById(IntegerprimaryKeyId){ Stringsql="selectid,username,password,createDate,modifyDate,typefromUserwhereid=?";ListuserList=getJdbcTemplate().query(sql,newBeanPropertyRowMapper(User.class),primaryKeyId);if(userList.size()==0){returnnull;}returnuserList.get(0); } @Override publicvoiddelUserById(Int
2024/5/31 21:57:28 18.89MB jdbcTemplate
1
看大小就知道很全啦查看地址https://blog.csdn.net/qq_43333395/article/details/98508424目录:数据结构:1.RMQ(区间最值,区间出现最大次数,求区间gcd)2.二维RMQ求区间最大值(二维区间极值)3.线段树模板(模板为区间加法)(线段树染色)(区间最小值)4.线性基(求异或第k大)5.主席树(静态求区间第k小)(区间中小于k的数量和小于k的总和)(区间中第一个大于或等于k的值)6.权值线段树(求逆序对)7.动态主席树(主席树+树状数组)(区间第k大带修改)8.树上启发式合并(查询子树的优化)9,树状数组模板(求区间异或和,求逆序对)扩展10.区间不重复数字的和(树状数组)11.求k维空间中离所给点最近的m个点,并按顺序输出(KD树)12.LCA(两个节点的公共父节点)动态规划:1.LIS(最长上升子序列)2.有依赖的背包(附属关系)3.最长公共子序列(LCS)4.树形DP5.状压DP-斯坦纳树6.背包7.dp[i]=min(dp[i+1]…dp[i+k]),multset博弈:1.NIM博弈(n堆每次最少取一个)2.威佐夫博弈(两堆每次取至少一个或一起取一样的)3.约瑟夫环4.斐波那契博弈(取的数依赖于对手刚才取的数)5.sg函数数论:1.数论素数检验:普通素数判别线性筛二次筛法求素数米勒拉宾素数检验2.拉格朗日乘子法(求有等式约束条件的极值)3.裂项(多项式分子分母拆分)4.扩展欧几里得(ax+by=c)5.勾股数(直角三角形三边长)6.斯特林公式(n越大越准确,求n!)7.牛顿迭代法(求一元多次方程一个解)8.同余定理(a≡b(modm))9.线性求所有逆元的方法求(1~pmodp的逆元)10.中国剩余定理(n个同余方程x≡a1(modp1))11.二次剩余((ax+k)2≡n(modp)(ax+k)^2≡n(modp)(ax+k)2≡n(modp))12.十进制矩阵快速幂(n很大很大的时候)13.欧拉函数14.费马小定理15.二阶常系数递推关系求解方法(a_n=p*a_{n-1}+q*a_{n-2})16.高斯消元17.矩阵快速幂18.分解质因数19.线性递推式BM(杜教)20.线性一次方程组解的情况21.求解行列式的逆矩阵,伴随矩阵,矩阵不全随机数不全组合数学:1.循环排列(与环有关的排列组合)计算几何:1.三角形(求面积))2.多边形3.三点求圆心和半径4.扫描线(矩形覆盖求面积)(矩形覆盖求周长)5.凸包(平面上最远点对)6.求凸多边形的直径7.求凸多边形的宽度8.求凸多边形的最小面积外接矩形9.半平面交图论:基础:前向星1.最短路(优先队列dijkstra)2.判断环(tarjan算法)3.最小生成树(Kruskal模板)4.最小生成树(Prim)5.Dicnic最大流(最小割)6.无向图最小环(floyd)7.floyd算法的动态规划(通过部分指定边的最短路)8.图中找出两点间的最长距离9.最短路(spfa)10.第k短路(spfa+A*)11.回文树模板12.拓扑排序(模板)13.次小生成树14.最小树形图(有向最小生成树)15.并查集(普通并查集,带权并查集,)16.求两个节点的最近公共祖先(LCA)17.限制顶点度数的MST(k度限制生成树)18.多源最短路(spfa,floyd)19.最短路(输出字典序最小)20.最长路图论题目简述字符串:1.字典树(多个字符串的前缀)2.KMP(关键字搜索)3.EXKMP(找到S中所有P的匹配)4.马拉车(最长回文串)5.寻找两个字符串的最长前后缀(KMP)6.hash(进制hash,无错hash,多重hash,双hash)7.后缀数组(按字典序排字符串后缀)8.前缀循环节(KMP的fail函数)9.AC自动机(n个kmp)10.后缀自动机小技巧:1.关于int,double强转为string2.输入输出挂3.低精度加减乘除4.一些组合数学公式5.二维坐标的离散化6.消除向下取整的方法7.一些常用的数据结构(STL)8.Devc++的使用技巧9.封装好的一维离散化10.Ubuntu对拍程序11.常数12.Codeblocks使用技巧13.java大数叮嘱共173页
2024/5/29 4:58:24 8.42MB ACM ICPC CCPC
1
共 130 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡