摘要: 数据结构 并查集 查询两点是否在同一集合内 struct DSU { std::vector<int> f, siz; DSU(){} DSU(int n) { init(n); } void init(int n) { f.resize(n); iota(f.begin(), f.end(), 0 阅读全文
posted @ 2025-02-27 14:37 自动机 阅读(12) 评论(0) 推荐(0)
摘要: 数论,dp 思路: 令A为一个正整数序列,\(a_{i}\)为序列中的数 将\(a_{i}\)分解质因数,\(a_{i}\) = \(p_{1}^{x1}\) * \(p_{2}^{x2}\)... 则LCM(A)就是由每一个p的指数取max组成的 如果子序列合法,那么子序列中每个数分解质因数之后, 阅读全文
posted @ 2024-04-19 23:56 自动机 阅读(20) 评论(0) 推荐(1)
摘要: 思路 《Shader入门精要》看到第九章,试着结合前面的知识实现一个标准光照模型,采用Blin-Phong模型,分为三大部分环境光,漫反射,高光反射。实现过程中加入凹凸效果,阴影效果。注释部分是透明效果,采用透明度测试的方法实现。具体细节见代码 代码 // Upgrade NOTE: replace 阅读全文
posted @ 2024-01-26 19:02 自动机 阅读(40) 评论(0) 推荐(0)
摘要: 原理 翻书这个过程可以看成是平面上的点都绕z轴旋转,但是直接这样写的话会出现问题。因为旋转轴是在中间的,所以我们在旋转之前要把点向左偏移5个单位这样旋转轴就到了最左边,然后再乘上旋转矩阵得到旋转之后的位置,再向右边偏移5个单位还原一下。这样实现的太生硬了,所以带入正弦函数改变一下顶点的高度,让书页有 阅读全文
posted @ 2024-01-25 13:18 自动机 阅读(135) 评论(0) 推荐(0)
摘要: 图找环 如标题所示,本文主要探讨无向图/有向图中环的做法 1. 拓扑排序判断环是否存在 在一个途中,如果点i和点j之间存在一条路径,则认为这两个点相互依赖, 而在拓扑序中每个点只会和后面的点产生依赖关系,由此可知如果图中存在环那么一定不存在拓扑序 那么应该如何求拓扑序呢? bool toposort() { 阅读全文
posted @ 2023-08-14 15:29 自动机 阅读(97) 评论(0) 推荐(0)