c++ 并发
作为对《C++ Concurrency in Action》的中文翻译。
线段树
针对力扣307题,找到题解 https://leetcode.cn/problems/range-sum-query-mutable/solution/by-lfool-v3x9/
线段树解决的是「区间和」的问题,且该「区间」会被修改
所以线段树主要实现两个方法:「求区间和」&&「修改区间」,且时间复杂度均为 O(logn)
始终记住一句话:线段树的每个节点代表一个区间
从图中可以看到,每个节点代表一个区间,而节点的值就是该区间的和 (其实还可以根据题目问题,改变表示的含义!!)
数字之和「总数字之和 = 左区间数字之和 + 右区间数字之和」最大公因数 (GCD)「总 GCD = gcd(左区间 GCD, 右区间 GCD)」最大值「总最大值 = max(左区间最大值,右区间最大值)」
不符合区间加法的例子:
众数「只知道左右区间的众数,没法求总区间的众数」
01 序列的最长连续零「只知道左右区间的最长连续零,没法知道总的最长连续零」
class NumArray {private: vector<int> segmentTree; ...
不同文件共享函数的使用问题
一次项目遇到的不同文件共享函数的使用问题,算是一个较为基础的问题,在此记录一下。
算法总结-图
总结了图的各种常见算法
qt曲线图
使用了qt自带的qchart库实现一个多形态的曲线图,更好区分地进行调试,源码见仓库。
研究一下星表
本文来研究一下依巴谷星表
编译Stellarium过程
由于莫名的原因,Stellarium编译运行出问题了,于是我重新进行进行配置,在此进行记录。
Zone Model
一直对Stellarium的星表文件充满好奇,在看了该二进制文件后不知该如何解析;在解析了从二进制文件到赤经赤纬表之后,推导从赤经赤纬前向到
赤道坐标转为地平坐标
地平坐标系统是:https://zh.wikipedia.org/wiki/%E5%9C%B0%E5%B9%B3%E5%9D%90%E6%A8%99%E7%B3%BB
高度角(Altitude, Alt)或仰角又称地平纬度,是天体和观测者所在地的地平线的夹角,有时就称为高度或海拔标高(elevation, geometric height)。
方位角(Azimuth, Az)又称地平经度,是沿着地平线测量的角度(由正北方为起点向东方测量)。
sin高度 = sin地球观察者纬度 sin赤纬 + cos地球观察者纬度 cos赤纬 * cos时角
cos方位 cos高度 = - cos地球观察者纬度 sin赤纬 + sin地球观察者纬度 cos赤纬 cos时角
sin方位 cos高度 = cos赤纬 sin 时角
https://encyclopedia.thefreedictionary.com/Astronomical+coordinate+systems
《地平式望远镜轴系误差对指向精度和跟踪精度的影响》
https://mooncaker816.git ...
指向精度的研究
一直想对我司使用的指向模型进行溯源研究