- 博客(10)
- 收藏
- 关注
原创 经典背包问题之动态规划算法解决方案
这个理解起来就要费劲一些,他的思路是用一个二维数组去记录,思路是和前面的例子一样的,顺着代码思路走,dp[i][w]=前i个物品在容积为w时他的最大价值,这样的设计,他就避免了物品会被重复利用。给一个容量为10的的背包,物品有{2,3, 5, 5 },分别对应的价值是{2,4, 3, 7},要如何组合才能使他们装下的物品价值最大。这种思路就是从1开始循环,一直到sum,从1,取最大价值,2时也取最大价值...每一个子问题都是最优的,那么加起来的结果一定是最优的,但并不唯一,可以存在多种解。
2025-03-31 21:37:52
150
原创 C/C++与lua二维数组交互的经典范例
做这个之前翻看了很多用例,尝试了很多遍才能勉强理解得了几个关键函数的操作,关键函数lua_next(L, index)2) 从栈指定位置的 table 里取下一对 key-value,先将 key 入栈再将 value 入栈。最近为了解决skynet的跑得快ai的核心算法性能问题,那么我们自然就用C来写核心算法,之前从来没做过。3) 如果第 2 步成功则返回非 0 值,否则返回 0,并且不向栈中压入任何值。两句一起就是说要把刚放到栈顶的数据放到表里面去,-2的位置是一个表来的。
2025-03-31 21:33:24
461
原创 C++网狐服务器引入开源日志库spdlog
有也是一个垃圾,一是没写好,二是还经常崩溃,三还丢失日志,四日志服务器CPU经常20%-30%等等。很多人对日志库不以为然,包括网狐这种十几年的公司都不重视,其实日志库记录的东西能在线上出问题时高效解决,特别是别人写的东西,人又走了,出了问题,还可以用日志分析快速解决。为此我找了一个高级的异步开源日志——spdlog,其实开源日志库里面优秀的很多,选择这个是简单易用,可以异步,可以按日志等级打印,支持多线程等等,姿势很多。磨刀不误砍柴工,有了日志库,再也不用担心出问题,无处可查,大大降低了加班的次数。
2025-03-29 20:55:10
285
原创 网狐服务端C++引入http功能
其实这里面要加入一个高效的http功能也并不困难,C++发展了几十年,优秀的中间件可以说是多如牛毛,这里就引入了著名的开源的C语言编写的libevent网络底层库,该库主要有以下几个优点:事件驱动( event-driven),高性能;旗舰版本的网狐服务端及以前的版本都是没有http解析功能的,导致就是web后台改了配置不能及时通知到游戏里面去,以至于很多小公司拿这种框架来开发的变通的方案就是用定时器不定时去刷数据库,导致多少个功能就有多少个定时去刷新,代码臃肿,效率非常差。这个也是框架设计上的不足。
2025-03-29 20:51:29
269
原创 linux下lua与c++交互lua5.3调用so-64位
我那么linux下也想折腾一下,看看他们之间有多大的差别,使用环境centos7 ,vscode,lua5.3.4版本 有这三样就行了
2025-03-28 03:15:00
2004
原创 lua与c++交互lua5.3调用dll-64位
我看到很多朋友的教程没有#pragma comment(lib, "lua.lib")这一段,对于新手来说他是编译通不过的,因为不在这里加,去配置工程有点罗嗦,上面的头文件,dll,lib都不用下载了,我这都包含了,直接下载我上传的工程就行了,注意工程一定要选择64位的,lua那边也要对应是64位的lua,反正两边要相同,两边32位的也行,否则会报error load,无效win2程序。就是这么简单,调用一下就ok了,那么接下来试试C++数组类型如何返回给lua,我刚好写了个全排列算法的例子,往下看,
2025-03-27 22:45:30
722
原创 网狐棋牌框架内核通信原理剖析
关于网狐框架我使用和了解大致有5年多了,也深知里面的一些坑坑洼洼,其他人写的一些关于网狐框架分析的文章,大多都是贴上大量的代码,模块流程大致的解说,都是一些皮毛解说,并没有点出为什么这么做,还有通信机制更是无人谈及,以为就是几个简单函数的调用而已,如果不去理解,你看上100遍也是一无所获,就好比我们去看鲁讯的文章,文字你都看得懂,可等你去写文章的时候,你就是写不出那么热血沸腾,那么有感染力的文章。相信我,你不看这本书你说你能理解得了这两种通信恐怕是不大可能的,我也是借助这本书至今才能完全理解。
2025-03-24 20:03:53
740
原创 红中麻将高级智能算法
现在的算法速度很快了,麻将里面比人最擅长的就是在1秒内就可以计算出二项听的结果,人在10秒的平台限定时间内一般都算不太清楚,特别是有癞子的情况下,这就是计算机的优势,打多久都不会累,也不会看错,也不会用情绪打牌,有兴趣的相互交流学习,共同进步.红中麻将相对其他麻将要简单很多,一个癞子的麻将不算复杂,其胡牌规则一般也相对简单,大胡一般没必要,因为胡牌速度太快了,一般情况下没必要做大胡,除非是天成的,血战麻将相对复杂很多,有大胡可做,还有换三张,还有缺一门,这里面可玩的门道是很多的,如果如图,
2025-01-01 19:35:55
291
原创 十三张高级智能算法
现在的算法速度很快了,一副牌的时间可以忽略不计,2副牌8个王的最慢不会超过1秒就出结果了,比以前快多了,支持的规则有5同,6同,等等福建的奇葩规则,真正玩过福建十三张的才知道他有多变态,都一一实现了,有兴趣的相互交流学习,共同进步。很早之前有做过一副牌的,后来又升级到加2个王的,后面还有变态版本是2副牌8个王的,福建玩法相对复杂,其他地方玩法就相对简单一些,如果如图
2024-11-18 19:02:45
181
原创 跑得快高级智能算法
跑得快相对斗地主算法的优化要容易很多,各自为王,不需要打配合,我这个规则是:管到必须管,不能四带三,不能四带二,炸弹可拆,首出不必出最小的牌,但是黑桃3先出,AAA不是炸弹,各个平台可能规则并不尽相同,但只需要稍加修改和优化同样可以做出来在其他平台使用,都不在话下.有兴趣的朋友可以相互交流学习,共同进步。最近几个月相对比较空,优化了跑得快的智能算法,为了测试一下效果,找了一个大平台做一下测试效果,让他自动排位6个小时,上了钻石,效果非常不错有图为证,视频效果可以找我私要。
2024-11-18 18:55:58
258
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人