- 博客(34)
- 收藏
- 关注
原创 QT学习--第一个简单的信号与槽操作
一种部件之间的通信机制。比如单击窗口上一个按钮然后弹出一个对话框,那么就可以将这个按钮的单击信号和自定义的槽关联起来,
2024-02-28 10:13:58
233
原创 cmake搭建opengl环境
直接到官网下载即可,这里为了方便直接下了预编译的版本得到根据自己的需求去选择,这里我们选择的是lib-vc2202这里我们会用到glfw3.lib。
2024-02-27 08:46:27
683
原创 将本地代码提交到github
利用git命令将这个本地代码文件夹变成Git可管理的仓库git init可以看到文件夹中多了一个git文件夹。如果你看不到,是因为它默认是隐藏文件,那你就需要设置一下让隐藏文件可见。
2024-02-26 22:19:04
744
原创 3维旋转--三维旋转矩阵
先考虑二维的旋转,根据三角函数的关系,可以得到:{x′=∣OP∣⋅cos(α+β)=∣OP∣⋅(cosα⋅cosβ−sinα⋅sinβ)=x⋅cosβ−y⋅sinβy′=∣OP∣⋅sin(α+β)=∣OP∣⋅(cosα⋅sinβ+sinα⋅cosβ)=x⋅sinβ+y⋅cosβ\begin{cases}x'=\begin{vmatrix}OP\end{vmatrix}\cdot\cos(\alpha+\beta)=\begin{vmatrix}OP\end{vmatrix}\c
2024-02-07 16:04:55
2768
1
原创 使用opengl 和openmesh读取并展示obj模型
其中大部分代码是在学习LearnOpenGL过程中写的,重点在于openmesh的使用,所以只展示main.cpp的写法和Model.h。
2023-06-24 15:10:34
923
原创 You have to define _USE_MATH_DEFINES in the compiler settings!
在预处理器定义中加入_USE_MATH_DEFINES即可。
2023-06-12 16:55:17
236
原创 监控二叉树
题目描述En:Given a binary tree,we install cameras on the nodes of tree.Each camera at a node can monitor its parent,itself and its immediate children.Calculate the minimum number of cameras needed to monitor all nodes of the tree.中文:给定一个二叉树,我们在树的节点上安装
2021-03-21 22:42:15
129
原创 队列的实现
数组保留一个数组以及两个位置Front和Rear,分别代表队首和队尾。当一个元素入队时,Rear加1;离队则Front-1。其中若超出了数组的范围,则循环到数组的开头类型声明及定义struct QueueRecord;typedef struct QueueRecord *Queue;#define MinQueueSize (5)struct QueueRecord{ int Capacity; int Front; int Rear; int Size; int *Arra
2021-03-14 16:50:05
109
原创 有限符号
题目描述给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串 s ,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。栈解决方案只需将左括号读入栈中,当读到右括号时将栈顶的元素弹出并进行比较,若是匹配的一对则有效;否则无效class Solution {public: bool isValid(string s) { int n=s.size(); //若是奇数个大小,则不可能
2021-03-14 15:42:08
731
原创 栈的实现
链表实现声明并定义数据结构struct Node;typedef struct Node *PtrToNode;typedef PtrToNode Stack;struct Node{ int Element; PtrToNode Next;}测试是否为空栈int IsEmpty(Stack S){ return S->Next==NULL;}创建一个空栈Stack CreateStack(){ Stack S; S=malloc(sizeof(s
2021-03-14 12:44:06
106
原创 链表的游标实现
有的语言是没有指针这个概念的,那要如何实现链表呢?首先,链表的指针实现中有很重要的两点:数据存储在一组结构体中。一个结构体可以通过malloc从全局内存中获得,并且可以通过free释放游标法也必须能够实现类似的功能。要满足条件1,则可以通过一个全局的结构体数组。对于数组中的任何单元,其数组下标可以用来代替一个地址。typedef int PtrToNode;typedef PtrToNode List;typedef int Position;struct Node{ int Ele
2021-03-14 10:50:21
219
原创 最大子序列和
分治思路:最大子序列和可能出现的地方左半部分右半部分跨越中间的部分所以我们可把问题分成对左右半部分进行递归求解,然后再将二者合并考虑即考虑中间部分,最后求出它们之间的最大值class Solution {public: int maxSubArray(vector<int>& nums) { int length=nums.size(); return maxSubSum(nums,0,length-1); }
2021-03-13 12:20:16
131
原创 连续递归
void rec(int n){ if (n > 0) { rec(n - 1); rec(n - 3); } cout << "n=" << n << endl; cout << "end" << endl;}int main(){ rec(4); return 0; } 连续两次递归的执行过程是怎样的??上面的程序连续调用了两次rec()函数:先进行第一个调用的递归,直到满足跳出条件,即当n=0
2021-03-13 09:36:51
193
原创 两数之和
暴力求解/** * Note: The returned array must be malloced, assume caller calls free(). */int* twoSum(int* nums, int numsSize, int target, int* returnSize){ int* ret = (int *)malloc(2*sizeof(int)); for(int i=0;i<numsSize-1;i++) { for(in
2020-08-04 15:29:08
113
原创 如何使用cmd查看wifi密码
打开cmd输入netsh wlan show profiles,回车就可以看见连接过的Wifi名称再输入netsh wlan show profiles name="wifi name" key=clear,显示具体信息
2020-07-06 17:07:48
2642
1
原创 攻防世界 web write-up unserialize3
【题目】【思路】给了一串php代码,且里面包含了魔术方法 __wakeup(),知道当序列化字符串表示对象的属性个数大于真实个数的属性时会跳过__wakeup的执行。先构建一个xctf的对象,对其进行序列化,将得到的序列化字符串中的’:1:‘改成’:2:’,就可以改变其表示对象属性个数的值。得到:再构造url中提交的code参数即可获得flag:...
2020-04-25 19:43:47
201
原创 攻防世界 web write-up PHP2
PHP2【题目】【步骤】观察题目,没有给出任何提示,所以试着扫下后台(index.phps也是看别人的自己填到字典的)进入该网页整理代码:分析代码:首先判断$GET[id]===“admin”,不能使其判断成功;然后再对id进行url编码,判断是否等于admin,若等于则输出flag;因为urldecode先编码,然后在$GET[id]时又会编码且要满足上述的判断语句,所...
2020-04-19 22:02:09
141
原创 攻防世界 web write-up NaNNaNNaNNaN-Batman
NaNNaNNaNNaN-Batman【题目】打开下载的文件是一串html乱码:【步骤】eval()就是执行前面的script;将其换成alert()函数,可以解决乱码的问题。整理一下代码:代码大概意思就是要满足那些正则即可获得flag,有两种方法可以获得flag:找出匹配正则的字符串,容易得出字符串:输入搜索框,得到flag:也可以直接执行下面的代码得到flag...
2020-04-19 20:45:21
230
原创 攻防世界 web write-up warmup
warmup【题目】【步骤】首先查看页面源代码,发现有提示:source.php,进入该页面得到一串php代码在代码中,whitelist中包含两个php文件,提示我们进入hint.php,打开后得到flag文件的大概位置在source.php中,有四个用来检测page变量:若page为字符串,返回true;若page存在whitelist中,返回tr...
2020-04-18 20:36:40
344
原创 攻防世界 web write-up ics-06
ics-06【题目】题目中只可以看到这个东西,看到有个id=1,可以通过爆破来试一下。这里使用burpsuit爆破,并用python将1~10001写入到文件中,以该文件为字典进行爆破:得到一个length和其他不同的payload,查看response,得到flag:...
2020-04-18 09:14:22
168
原创 攻防世界 web write-up web_php_include
web_php_include【原理】php文件包含漏洞php伪协议【php文件包含漏洞】涉及到的php函数:include(),require()和include_once(),require_once()【题目】strstr()函数区分大小写,所以构造payload时将php改成PHP即可【步骤】利用文件包含漏洞,构造payload,并post恶意代码以获得当前所包含的文件...
2020-04-17 20:50:52
168
原创 攻防世界 web write-up: Web_php_unserialize
Web_php_unserialize【原理】PHP序列化、反序列化PHP反序列化漏洞绕过魔术方法_wakeup(CVE-2016-7124)【序列化、反序列化】序列化返回字符串,包含表示值的字节流反序列化将对字符串进行操作,转换成原来的值【PHP反序列化漏洞绕过魔术方法_wakeup】_wakeup魔术方法:在反序列化的时候,会检查是否存在_wakeup方法,若存在,会预先准备对...
2020-04-17 11:41:07
168
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人