05 2022 档案

摘要:选取4张牌,最大数字为10,组合数为715,其中149个组合无解,566个组合有解。 (1, (1, 1, 1, 1), 'no ans') (2, (1, 1, 1, 2), 'no ans') (3, (1, 1, 1, 3), 'no ans') (4, (1, 1, 1, 4), 'no a 阅读全文
posted @ 2022-05-31 14:58 天下太平 阅读(379) 评论(0) 推荐(0) 编辑
摘要:随机取四个数字,用加、减、乘、除、括号5种运算,计算结果等于二十四。 穷举法 import itertools # 括号的组合只存在如下五种表达式结构 卡特兰数 formats = ['(({0[0]}{1[0]}{0[1]}){1[1]}{0[2]}){1[2]}{0[3]}', '({0[0]} 阅读全文
posted @ 2022-05-31 14:55 天下太平 阅读(419) 评论(0) 推荐(0) 编辑
摘要:大Key的特征 一般特征: 单个key存储大value。 hash,set,zset,list中存储过多数据。 一个集群存储了上亿的key。 具体描述: 一个STRING类型的Key,它的值为5MB(数据过大)。 一个LIST类型的Key,它的列表数量为20000个(列表数量过多)。 一个ZSET类 阅读全文
posted @ 2022-05-23 11:42 天下太平 阅读(1392) 评论(0) 推荐(0) 编辑
摘要://升序排列 template <typename Comparable> int partition(vector<Comparable>& v, int left, int right) { if (left >= right) return left; int i = left, j = ri 阅读全文
posted @ 2022-05-20 10:53 天下太平 阅读(26) 评论(0) 推荐(0) 编辑
摘要:双指针写法 递归 template <typename Comparable> int partition(vector<Comparable>& v, int left, int right) { if (left >= right) return left; int i = left, j = 阅读全文
posted @ 2022-05-20 10:12 天下太平 阅读(53) 评论(0) 推荐(0) 编辑
摘要:function reloadModule(module_name) local old_module = package.loaded[module_name] or {} package.loaded[module_name] = nil require(module_name) local n 阅读全文
posted @ 2022-05-19 14:04 天下太平 阅读(89) 评论(0) 推荐(0) 编辑
摘要:牛顿迭代法 一阶泰勒展式:f(x)=f(x0)+f(x0)(xx0) 假设f(x)=xNa=0,N=2时,f(x)=x2af(x)=2x 通过等式f(x)=x02a+2x0(xx0)=0 得到$x=\frac12 阅读全文
posted @ 2022-05-19 13:56 天下太平 阅读(219) 评论(0) 推荐(0) 编辑
摘要:一般算法 void mRandn(int n, int m) { for (int i = 0; i < n && m > 0; ++i) { if (rand() % (n - i) < m) { cout << i << ends; --m; } } } 选取数目满后,可以提前终止。 蓄水池抽样 阅读全文
posted @ 2022-05-19 11:45 天下太平 阅读(125) 评论(0) 推荐(0) 编辑
摘要:锁的本质:操作的序列化、队列化 虽然不同的语言可能会提供不同的锁接口,但是底层调用的都是操作系统的提供的锁。 不同的高级语言只是在操作系统的锁机制基础上进行了些封装而已 硬件 原子操作是指不可被中断的一个或者一组操作。 硬件提供原子指令,支持基本类型。 总线锁 在cpu芯片上有一个HLOCK Pin 阅读全文
posted @ 2022-05-18 17:41 天下太平 阅读(268) 评论(0) 推荐(1) 编辑
摘要:使用位运算的注意事项: 位操作只能用于整形数据,对float和double类型进行位操作编译器会报错。 位操作符的运算优先级比较低,尽量使用括号来确保运算顺序。 注意:一般运算不一定比位运算慢。编译器已经做的很好了,会把一般运算优化为位运算。 某些自作聪明的优化反而会误导编译器,使得编译器不进行更棒 阅读全文
posted @ 2022-05-17 18:31 天下太平 阅读(68) 评论(0) 推荐(0) 编辑
摘要:查表法 unsigned char reverse8(unsigned char c) { static unsigned char sta[16] = {//不多不少的静态数据 0x00,0x08,0x04,0x0C,0x02,0x0A,0x06,0x0E,0x01,0x09,0x05,0x0D, 阅读全文
posted @ 2022-05-16 16:03 天下太平 阅读(27) 评论(0) 推荐(0) 编辑
摘要:TCP Loop Connect:tcp自己连上自己 详见:http://www.rampa.sk/static/tcpLoopConnect.html 阅读全文
posted @ 2022-05-16 15:25 天下太平 阅读(28) 评论(0) 推荐(0) 编辑
摘要:grafana模板批量导出 KEY:grafana configuration--API keys--Add API key 创建一个即可 #!/bin/bash KEY=eyJrIjoiNFZIMU1oaG1QQ3dVREpHMzVCZE1RUG94WXZzdmR4VHUiLCJuIjoidGVz 阅读全文
posted @ 2022-05-16 11:25 天下太平 阅读(524) 评论(0) 推荐(0) 编辑
摘要:windows下的批处理没有直接获取时间戳的方式。 但是,可以通过第三方来获取。 ::get timestamp set "=% Echo WScript.Echo(parseInt((new Date()).getTime()/1000)) for /f %% 阅读全文
posted @ 2022-05-16 10:40 天下太平 阅读(735) 评论(0) 推荐(1) 编辑
摘要:一个通用批处理脚本,用于执行定时任务。 @echo off :begin choice /t 5 /c YN /d Y /M "Y:work N:stop. please input:" if errorlevel 2 goto stop if errorlevel 1 goto work :wor 阅读全文
posted @ 2022-05-16 10:36 天下太平 阅读(160) 评论(0) 推荐(0) 编辑
摘要:全服匹配:系统随机将一些玩家分到一组。 常规匹配 流程图 缺陷 异步过程 集群治理:负载均衡、数据容灾 数据缓存:数据冲突 开发和部署复杂,分布式的必然 两级匹配 流程图 核心:两级匹配机制(本地匹配+云端匹配) 区别 报名数据存储在gameserver,利用了gameserver天然的分布式 匹配 阅读全文
posted @ 2022-05-13 14:04 天下太平 阅读(322) 评论(0) 推荐(0) 编辑
摘要:fswatch是一个文件修改监视器,当指定的文件或者文件夹被修改的时候会受到通知。 Github: https://github.com/emcrisostomo/fswatch 特点 支持几种特定于OS的API,跨平台 允许递归目录监视 使用包含和排除正则表达式执行路径过滤 支持自定义记录格式 此 阅读全文
posted @ 2022-05-11 14:59 天下太平 阅读(345) 评论(0) 推荐(0) 编辑
摘要:直接看源码:endl是一个模板函数,接收一个ostream输出流参数。 endl:换行+刷新缓冲区。把缓冲区数据写入 ends:空字符(’\0’)标记结束。不同的操作系统对’\0’处理的方式也不同,有的输出一个空格,有的什么都没有。 flush:刷新缓冲区 template <class _Elem 阅读全文
posted @ 2022-05-11 11:11 天下太平 阅读(118) 评论(0) 推荐(0) 编辑
摘要:C++11新加了两个关键字:auto和decltype。 用于在编译期推导出变量或表达式的类型,方便开发者简化代码。 auto 编译期推导变量类型。 例:auto x = 1; 推导规则 必须初始化。 在一行定义多个变量时,不能有二义性。 无法推导出模板参数。 不能定义数组 不能用于函数参数 cv推 阅读全文
posted @ 2022-05-10 14:27 天下太平 阅读(103) 评论(0) 推荐(0) 编辑
摘要:需求:禁止基类指针指向子类 方法:将继承方式改为protected、private 原因:对象只能访问类的public权限的成员 阅读全文
posted @ 2022-05-09 14:46 天下太平 阅读(29) 评论(0) 推荐(0) 编辑
摘要:做单元测试的时候,为了验证类的私有方法或变量,需要将访问权限都改为public。 为了不改动源代码,可以在编译时,添加宏定义替换权限 CPPFLAGS=-Dprotected=public -Dprivate=public 绝大部分情况下是不会出现问题的。 注意到C++的默认规则,默认权限是priv 阅读全文
posted @ 2022-05-09 13:41 天下太平 阅读(218) 评论(0) 推荐(0) 编辑
摘要:epoll既支持水平触发也支持边缘触发,默认是水平触发。 水平触发(LT) 当被监控的文件描述符上有可读写事件发生时,会通知用户程序去读写,他会一直通知用户,如果这个描述符是用户不关心的,它每次都返回通知用户。 读缓冲区不为空时, 读事件触发。写缓冲区不为满时, 写事件触发。 水平触发时,逻辑简单, 阅读全文
posted @ 2022-05-09 10:38 天下太平 阅读(802) 评论(0) 推荐(0) 编辑
摘要:git status时报错“fatal:Unable to create".../.git/index.lock”。 一开始因为是权限问题,后来发现是磁盘空间不够了。 删除一些废弃文件后,再次执行git就好了。 阅读全文
posted @ 2022-05-06 15:22 天下太平 阅读(366) 评论(0) 推荐(0) 编辑
摘要:call_once是c++11中引入的新特性,用于保证某个函数只调用一次,即使是多线程环境下,它也可以可靠地完成一次函数调用。一般配合once_flag变量。 特别适用于多线程时某个初始化只执行一次的场景。 若调用call_once一切顺利,将会翻转once_flag变量的内部状态,再次调用该函数时 阅读全文
posted @ 2022-05-06 10:40 天下太平 阅读(175) 评论(0) 推荐(0) 编辑
摘要:noexcept关键字是c++11之后新增的。 该关键字会告诉编译器,被修饰的函数不会发生异常,有利于编译器对程序做更多的优化。 编译器做代码生成时,胡加一些额外的代码包裹原始代码,当出现异常时可以抛出一些相关的堆栈错误信息,包含:错误位置、错误原因、调用顺序和层级路径等信息。 当使用noexcep 阅读全文
posted @ 2022-05-06 10:22 天下太平 阅读(301) 评论(0) 推荐(0) 编辑
摘要:C++11新增的关键字thread_local,表示对象的生命周期属于线程存储期。 线程局部存储(Thread Local Storage,TLS)是一种存储期(storage duration),对象的存储是在线程开始时分配,线程结束时回收,每个线程有该对象自己的实例 如果类的成员函数内定义了 t 阅读全文
posted @ 2022-05-05 16:54 天下太平 阅读(264) 评论(0) 推荐(0) 编辑
摘要:分派/派发 dispatch 变量被声明时的类型叫做变量的静态类型(Static Type)。 变量所引用的对象的真实类型又叫做变量的实际类型(Actual Type)。 根据对象的类型而对方法进行的选择,就是分派(Dispatch)。 分派时期 根据分派生的时期,可以将分派分为两种,静态分派和动态 阅读全文
posted @ 2022-05-05 14:00 天下太平 阅读(154) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示