- 博客(154)
- 资源 (9)
- 收藏
- 关注
原创 C#运行时替换类的成员函数
using System;using System.Reflection;using System.Runtime.CompilerServices;using System.Diagnostics;// 工具定义// 注意: 需要 "unsafe编译" ([项目属性 - 生成] 勾选"允许不安全代码")// 仅仅实现了 x64支持namespace MethodReplace{ public static class MethodReplaceUtil { .
2021-02-03 18:16:08 1298
原创 C#表达式树示例
// C#表达式树用法示例// (本文参考了 https://www.jb51.net/article/101999.htm)using System;using System.Linq.Expressions;namespace ConsoleApp1{ class Program { static void Main(string[] args) { // x = 200 + 100 var d.
2020-11-13 16:24:28 259 1
原创 C#的函数重载关键字override和new
重载基类的普通函数(按变量声明类型调用), 用 new.重载基类的虚拟函数(virtual)和抽象函数(abstract),用override派生调用基类的同名函数, 用baseusing System;namespace ConsoleApp1{ class A { protected int _x = 0; protected int _y = 0; public int SetX(int x) .
2020-11-04 11:31:24 503 1
原创 C#计算连分数
using System;using System.Collections.Generic;namespace fraction{ class Program { // 计算连分数 static Int32[] GetFraction(double f, int n) { var d = new List<Int32>(); if(f <= 0) .
2020-05-26 15:52:41 298
原创 C++双向指针示例
// 双向指针#include <iostream>#include <memory>#include <utility>#include <vector>template <typename T1, typename T2>struct Linked { friend struct Linked<T2, T1>; Linked(T2* t) { other = nullptr; data .
2020-05-15 19:51:05 705
原创 吴军《智能时代-大数据与智能革命重新定义未来》读书笔记
吴军《智能时代-大数据与智能革命重新定义未来》读书笔记1. 原有产业+新技术=新产业 原有产业+蒸汽机=新产业 (机械化) 原有产业+电=新产业 (自动化) 原有产业+摩尔定律=新产业 (信息化) 原有产业+大数据/机器智能=新产业 (智能化)2. 使用数据的标准流程 获取数据 -> 分析数据 -> 建立模型 -> 预测未知3. 机器智能...
2019-09-05 10:43:19 1003
原创 二维瓦片网格边界检测
二维瓦片网格边界检测1. 每个网格只考虑ENWS四个相邻格子四个相邻格子ENSW编号为0~32. 当前方向D(0~3): 如果当前格子是上一个格子选择的ENSW(0~3)中的一个, 则这个选择就是当前方向3. 选择下一个的策略:按找以下优先级判断 (D+3)%4, (D+4)%4, (D+5)%4, (D+6)%4(第一优选是右手侧, 最后一项是原路返回)如果这四...
2019-09-03 16:55:05 558
原创 选第K大的数
#include <algorithm>// 快速排序方式的选第K小的数// (如果是选“大”的数, 可以把比较用greater, 或者选第n-k个)template<typename T, class _Pr>int get_pos(T* data, int n, int k, _Pr _Pred){ int h = 0; int t = n - 1...
2019-08-08 02:22:02 226
原创 枚举遍历组合
#include <iostream>#include <vector>#include <algorithm>// 组合枚举// 初始化std::vector<int> init_combination(int M){ std::vector<int> data; for (auto i = 0; i < M;...
2019-07-28 20:08:10 341 1
原创 模板元编程-判断质数
#include <iostream>#include <type_traits>template<uint8_t N>struct is_prime{ template<uint8_t N1, bool finish> struct is_prime_check { enum {check_end = (N1*N1 > ...
2019-06-26 14:31:44 522
原创 C++模板判断类是否存在某个成员变量
#include <iostream>#include <type_traits>// 检查 xxxx 是否是类T的成员template <typename T>struct has_member_xxxx{ // 如果 &T::xxxx 合法, 本函数就合法 // 下面check<T>(0)优先调用本函数, 返回值是voi...
2019-06-21 17:22:37 3266
原创 摩尔斯电码字典序号
// 摩尔斯电码字典序号// 原题参见// https://bbs.csdn.net/topics/392691483#include <iostream>#include<string>// 求组合数C(N, n)int c(int N, int n){ double p = 1.0; for (int i = 0; i <n; ++i) ...
2019-06-09 21:34:37 1161 2
原创 函数调用链
// 将不同参数和返回值的函数组织到数组里并依次调用// (目前尚不支持void函数)#include <vector>#include <memory>#include <iostream>#include <functional>#include<string>#include <sstream>usin...
2019-05-19 12:53:45 689
原创 把不同类型的对象放入数组
#include <iostream>#include <vector>// 接口定义class I{public: virtual void dosome() = 0;};// 实现1class A {public: void dosome() { std::cout << "A dosome()" << std...
2019-05-16 20:00:07 1811
原创 C++的promise和future
#include <iostream>#include <thread>#include <future>// https://en.cppreference.com/w/cpp/thread/promise// https://zh.cppreference.com/w/cpp/thread/promisevoid add(std::promis...
2019-05-08 16:24:33 757
翻译 Windows简单TCPIP服务
参考链接https://msdn.microsoft.com/zh-CN/library/hh202858(v=vs.92) (后面“在您的计算机上启动简单 TCP/IP 服务”)https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/cc725973(...
2019-05-08 10:44:03 6558
原创 GitFlow简介
GitFlow涉及5种类型的分支:1. master 项目初始化创建master分支。2. develop 项目初始化后从master生成分支。3. feature 开发新功能, 从develop生成新分支,本类型的分支可以有多个。 开发完成后, 合并到develop。 本分支结束。4. release 准备发布,从develop生成新分支, 开始测...
2019-05-07 11:43:13 723
原创 拟牛顿法
1. 考虑一个一次直线函数 y = kx显然 y' = k而任何两个点(x0, y0), (x1,y1)有 y1 - y0 = y'*(x1-x0)2. 考虑一个二次曲线函数 y = kx²显然 y' = 2kx这个是一个一次直线函数,所以对于 y'' = 2k所有有 y'(x1) - y'(x0) = y''*(x1-x0)在二次曲线求最小值的时候, 我们需要求y'=0处的...
2019-05-04 11:29:48 535
原创 boost的协程coroutine
1. Boost v1.59 之前是coroutine, 之后是coroutine22. 头文件路径 $(BOOST_DIR)\ #include <boost/coroutine2/all.hpp>3. 库文件路径 $(BOOST_DIR)\libs; $(BOOST_DIR)\stage\lib3. 如果提示缺少 libboost_context-...
2019-04-27 17:31:15 643
原创 梯度法
1. 梯度法也叫最速下降法。2. 批处理模式 全量梯度下降法(BGD, Batch gradient descent)。 在最小化损失函数的时候, 首先随机取一个w0, 然后计算w0处的梯度, 然后按梯度相反的方向修改w0. 反复迭代直到取得最小值。 其中每次修改的大小,称为学习步长。如果步长选择太小, 则收敛速度会很慢, 如果太大则可能会震荡。 w&l...
2019-04-17 21:04:02 1895
原创 无约束凸优化算法
1. 对于一个二分类的算法, 我们一般是找到一个决策边界函数h(x), 当h(x) < 0 则是属于类I, 当h(x)>0则是属于类II, 当h(x)=0则处于边界上。 即是, 我们用一个符号函数来表示: sgn(z) = 0,±1 {当z<0为-1, z=0为0, z>0为+1} 这样, 决策函数算法就是 sgn(h(x)) ...
2019-04-17 17:03:40 341
原创 霍夫丁不等式
Hoeffding’s Inequality (Wassily Hoeffding于1963年)1. 如果我们选定一个二分分类器预测函数f, 假设将f按概率应用于整个样本空间, 某些预测会错误, 这样可以得到一个预测错误的比例,这就是泛化误差。 因为我们实际上不可能测试无限的数据集,所以泛化误差实际是无法得到的。当我们把f应用于一个已标记的测试集T, 同样可以得到一个预测错误...
2019-04-15 11:30:10 519
原创 VC维
1. 函数类的标注数量 函数类F中的一个函数f, 应用于一个观测数据集S, f会为每一个数据计算出一个预测标注。 设数据集S的数据数量是n, 则显然不管F中的函数有多少(甚至无限), 不同的标注最多只有 2ⁿ种标注, 所以是有限的。 所以对于数量无限的F, 必然有很多函数的标注是一样的, 对于这个观测数据集而言, 相同标注的函数是等价的。 经...
2019-04-09 10:02:24 446
原创 风险最小化原理
机器学习的“风险最小化原理”中, “风险”是指预测函数的预测结果与标记数据的结果之间的平均误差。如果我们假设(超参数)在一组函数(函数类)F中, 寻找一个“效果最好的函数f”.显然, 我们想要的是“泛化效果最好”, 也就是该函数对按概率分布的所有采样(无限的)误差最小。一个显而易见的想法是, 把F中所有函数都应用于样本数据, 找出误差最小的那一个f。这就是 “经验最小化原理...
2019-04-07 18:15:07 1569
翻译 计算一个整数N的所有正因子的倒数之和
本文根据今日头条的一个视频整理.设 S = 1/n1 + 1/n2 + ... 1/n_(k-1) + 1/n_k头尾对应的数字相乘都等于N所以 S*N = n_k + n_(k-1) + ... + n2 + n1所以, 设N的所有因子之和等于M,则 S = M/N设 N = A1^q1 * A2^q2 * ... * At^qt则 M = (A1^0 + A1^1 +...
2019-03-29 19:48:23 1946
原创 求两向量的角平分线
已知两非零向量 OA, OB, 求角平分线OC.解法:OA' = OA* |OB|OB' = OB* |OA|此时 |OA'| = |OB'|所以 OC'= OA' + OB'如果 OC' ≠ 0, 则 OC = OC'(如果需要单位向量) OC = OC' / |OC'|如果 OC' = 0, 则:(1)二维: OC' = (OA 旋转±...
2019-03-29 10:03:30 11291
原创 Lua调用C-API的时候返回给Lua另一个C函数
extern "C"{#include <lua.h> #include <lauxlib.h> #include <lualib.h> }// C返回给Lua用的函数static int getHello(lua_State *L){ lua_pushstring(L, "hello"); return 1;}// 注册给Lu...
2018-11-08 12:11:13 276
原创 TCP的4元组
#include "stdafx.h"#include <WinSock2.h>#pragma comment(lib, "WS2_32.lib")#include <windows.h>#include <string>#include <iostream>#include <thread>#define
2018-10-09 14:55:34 826
原创 控制台绘制心形
标准的心形绘制方程是:(x²+y²-1)³ ≤ x²y³参考(C++): https://bbs.csdn.net/topics/391941602我用了一种简单的容易理解的方法来绘制。即, 四个象限分成四段二次曲线来拼接。语言: Lua-- 心形线-- 四个象限分四个函数画-- (1) 原点在 (+r, 0) 的半圆 (x-r)² + y² <= r²-- (2) 原点在 (-r,...
2018-05-20 21:32:50 1373 2
原创 积分的比赛次数期望
初始积分为0, 每次比赛有50%的概率胜利或者失败, 如果胜利, 积分加1, 如果失败则积分减一(积分为0则不减).问要使得积分到达5, 需要比赛的次数的数学期望是多少?
2016-02-21 12:18:20 954
原创 Lua提取 XXXX="YYYY" 赋值
local s = [[aaa = "xyz"bbb = "good"ccc = "1234"]];-- 获取 XXX = "YYY" 格式的数据(YYYY中无引号)function get_eq(s) local m = {}; local r = [[%w+%s*=%s*".-"]]; for w in string.gmatch(s, r) do
2015-11-14 11:10:17 1452
转载 线段相交的判断
http://www.cnblogs.com/zhangchaoyang/articles/2668562.html线段AB和CD相交判断(1)如果C,D分别在AB的两侧(可用叉积判断), 且A,B分别在CD的两侧, 则与CD相交(2)如果一个点P在线段AB上, 则APxAP为0且P点坐标在AB之间
2015-06-04 16:42:12 448
微软制作Win7的USB-DVD启动盘工具
2017-01-07
Notepad++二进制编辑插件
2016-01-22
D3DX画3D坐标轴示例
2014-09-22
用XSD定义基于属性的XML表格
2011-09-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人