- 博客(18)
- 收藏
- 关注
原创 main函数的两个参数argc,argv && getopt函数
本文介绍了命令行参数解析的基本方法。argc表示参数个数,argv是参数数组。重点讲解了getopt函数的使用,该函数是解析命令行参数的标准方法,通过optstring指定选项格式(如a表示无参数选项,b:表示必需参数选项,c::表示可选参数选项)。getopt每次返回一个选项,参数值存储在optarg中。文中还给出了函数原型、全局变量说明和示例输出,展示了如何解析类似-a -b 100 -c99的命令行参数。
2025-10-10 10:58:53
394
原创 OpenCV仿射变换与透射变换
仿射变换通过一个 2x3矩阵 表示:DiffCopyInsert手动定义矩阵(例如平移): 通过三个点对生成矩阵(): 生成旋转矩阵(): 2. 应用变换()仿射变换 vs. 透视变换 特性 仿射变换 透视变换 平行性保持 是 否(平行线可能相交) 矩阵维度 2x3 3x3 自由度 6 8 典型应用 旋转、
2025-09-24 12:01:22
481
原创 opencv--透视变换
透视变换(Perspective Transformation)是将二维的图片投影到一个三维视平面上,然后再转换到二维坐标下,所以也称为投影映射(Projective Mapping)
2025-09-24 11:27:04
162
原创 力扣146. LRU 缓存
LRU(Least Recently Used,最近最少使用)是一种缓存淘汰算法。双向链表维护访问顺序,越靠前表示越“新鲜”,越靠后表示越久未使用;这样可以保证经常使用的数据留在缓存里,不常用的数据被替换掉。哈希表存 key → 节点指针,用于快速定位元素;每次访问数据时,把该节点移到链表头;当容量满了时,删除链表尾部节点。
2025-09-13 14:47:51
190
原创 快速排序+二分
1.先选择一个基数,一般选择左端点,选择左端点就要先从右边开始找。2.先从右边端点开始寻找j-- 找到第一个小于基数的。然后从右边,直到 i = = j 没有小于tmp的。如果i<j swap(a[i] , a[j]);跳出循环,交换 a[i] 和a[star]数组大小为n,a[0] - a[n-1]然后从左边找i++ 第一个大于基数的。注意:选择左端点就不能先从左边开始。第一个大于tmp 的是5 下标为3。产生错误,基数3前面并不是都小于3。交换 基数左端点 和 a[i]
2025-09-12 22:25:27
200
原创 计算机图形学01
全局光照(Global Illumination,简称 GI), 作为图形学中比较酷的概念之一,是指既考虑场景中来自光源的直接光照,又考虑经过场景中其他物体反射后的间接光照的一种渲染技术。CAD是利用计算机快速的数值计算和强大的图文处理功能,辅助工程技术人员进行产品设计、工程绘图和数据管理的一门计算机应用技术,是计算机科学技术发展和应用中的一门重要技术。在色彩上比较连续,有渐变色,着色风格很大程度上依赖于艺术家定义的色调(tone),而在阴影和高光方面常常采取夸张和变形的做法,比较典型的是《军团要塞2》;
2025-09-07 21:55:42
287
原创 线程池(C语言版)
文章摘要: 本文介绍了C语言实现线程池的原理和实现方法。线程池由三部分组成:任务队列(存储待处理任务)、工作线程(消费任务)和管理线程(监控线程池状态)。文章详细讲解了线程创建函数pthread_create的使用方法,并给出了线程池的完整实现代码,包括线程池初始化、任务添加、工作线程和管理线程的实现逻辑。线程池能有效避免频繁创建销毁线程的开销,提高系统效率。代码示例展示了如何创建线程池实例、添加任务以及销毁线程池。
2025-09-06 17:43:29
151
原创 欧拉函数:求不大于n且与n互质的正整数个数
给定 a,b,求 1≤x<a^b 中有多少个 x 与 a^b 互质。由于答案可能很大,你只需要输出答案对 998244353998244353 取模的结果。
2025-04-10 22:10:10
364
原创 CACC样题第一套
判断两个矩形相交的办法,看一个矩形的一角是否再另一个矩形内。先判断两个矩形是否相交,不相交直接跳过,相交则继续下一步。选定一个方形区域,左下角从(0,0)到右上角(a,b)。这一题主要考察矩阵乘法,但要注意矩阵大小,和数据范围。n矩阵会MLE,不能按照题目顺序计算,用分配律先算d。再给定n个矩形区域,n个矩形两两互不相交。求n个矩形与选定区域相交的面积。这一题直接二分开垦时间就行。数组要开long long。下一步求相交部分的面积。
2024-11-23 15:21:44
1191
原创 binary_search&memset【学习记录】
memset是一个初始化函数,作用是将某一块内存中的全部设置为指定的值。在函数中加入数组长度参数,在传递前先获取数组长度,然后将数组长度作为参数传递进去。//其次序列 必须是已经排序好的,否则结果可能是不确定的。,表示是否找到了指定的值。如果找到了,返回true。,所以在使用memset赋值时,下面的语句是。所以上述代码是为数组a的前4个字节进行赋值。,这个指针指向数组的首地址,如果用。对于第二个程序,数组a是。当数组作为参数传递时,其。否则,返回false。的序列中进行二分查找。,而不是数组的长度。
2024-03-11 15:47:54
408
原创 DFS&STL模板:next_permutation&prev_permutation
next_permutation 是 C++ 标准库中的一个算法函数,用于生成给定序列的下一个排列。它可以帮助我们在一个序列的全排列中,按照字典序生成下一个排列。这个函数是有返回值的,如果换得了(没到倒序排列),就返回true。换不了了(已经是倒序了),就返回false。话不多说,看例子。if(i!cout
2024-02-04 12:35:18
416
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅