- 博客(92)
- 收藏
- 关注
原创 【Lua】《Programming in Lua》读书笔记
最近重拾Lua,重写阅读一下 《Programming in Lua》;做了一些读书笔记,记录一些重要的,值得反复阅读的点;
2023-12-17 22:56:22
348
原创 UE4 小知识【不断更新中】
最近在实习的时候发现 UE 真的好多东西不太会,比较杂,此篇文章记录一下一些 UE 小知识。ps:还有很多其他的模块,后续会整理后单独发博客。
2023-10-22 21:12:55
598
原创 基于 Linux ucontext 函数族实现的 简易的,非对称的 协程库
基于 Linux ucontext 函数族实现的 简易的,非对称的 协程库
2023-05-02 08:26:35
214
原创 进程,线程,协程【笔记】【个人理解】
由于简历上写了一个有关协程的项目,结果面试的时候疯狂被问协程(然而我不太懂呜呜呜),直接就被问烂了…下面再次捋一捋进程、线程、协程。(以下是个人理解,欢迎指正。
2023-04-19 23:27:00
668
原创 事件触发模式 LT ET ?EPOLLIN EPOLLOUT 各种情况总结。【面试复盘】【学习笔记】
全面总结一下LT,ET;以及对应的EPOLLIN,EPOLLOUT的各种触发情况
2023-04-13 13:13:42
2200
原创 复盘——vector 的 push_back() 和 emplace_back()——函数返回值
复盘——vector 的 push_back() 和 emplace_back()——函数返回值
2023-04-07 18:15:56
3713
原创 面试被拷打复盘 之 链表判环(快慢指针)(leetcode)
步,此时有没有发现,len是环的长度,那么我们是不是从相遇节点再走L步就是**(s + (len – L%len)+ L)%len**,然后把 %len全部放进去,最后剩了s节点,所以说我们从相遇节点再走L步之后就到达了s节点,也就是链表的入口处,这样我们就找到了链表的入口!对吧,也就是上面的D;我们思考一下,既然快指针比慢指针多走1步,假设从链表头到环入口长度为L,那么当慢指针到环入口时,慢指针走了L步,快指针走了2。(慢指针入环时两指针的距离D,两个指针的步数差值gap,走的次数n,环的长度len)
2023-04-01 11:18:56
268
原创 libco 协程库的简单使用
这篇文章讲讲简单上手libco,第一次使用感觉细节还是挺多的。程序:实现两个协程对全局变量的交替 +1 操作。(具体细节写在代码注释里面了)
2023-03-27 13:57:01
423
转载 libco协程库的原理和应用(转载)
分享一篇写的非常好的文章,看完就对 libco 协程的执行流程原理有了基本的认识(为什么没有早点发现…也可以看看 libco 库里面给出的其他例子学习学习,libco 的安装可以看我。
2023-03-27 13:05:52
172
原创 关于 libco 协程库 的安装使用(保姆级教学!)
具体就是:g++ main.cpp -o app -L /home/fj/libco-master -l colib。具体做法:在lib_master文件夹里面打开终端,输入:cp *.h /usr/include。具体做法:在/lib_master/lib文件夹里面打开终端,输入:cp * /usr/lib。接着把静态库(也就是上面lib里面的那个)复制到 /usr/lib 中;-L后面带的/home/fj/libco-master是动态库所在的路径。进入文件夹,打开终端,输入make,编译一下;
2023-03-26 18:27:25
518
原创 H. Hot Black Hot White(思维 + 推式子 + 分类讨论)
于此同时可以发现如果(ai % 3)^2%3 有1和2时,则(ai % 3)^2%3 =1 的 和 (ai % 3)^2%3 = 2的也要同一种颜色,否则也会矛盾;然后把(x % 3 + y % 3) ^ 2拆开,里面会有两个(x % 3 * y % 3),和后面的那个加起来,就有3个(x % 3 * y % 3),即变成:(x % 3)^2%3 + (y % 3)^2%3 + 3*(x % 3 * y % 3)所以原式就变成(x % 3)^2%3 + (y % 3)^2%3;
2022-09-28 13:59:54
195
原创 A. Binary Literature ( 思维构造 + 抽屉原理 )
一定有两个字符串cnt1 >= n 或者 cnt0 >= n;最直接的想法就是,枚举任意两个子串,求他们的公共子序列,然后其他的字符插进去就行;所以我们直接分成两种情况(最长公共子序列是0/1)去找公共子序列就行,然后其他字符插入;所以每个长度为2*n的字符串一定会有 cnt1 >= n 或者 cnt0 >= n;也就是说一定有两个字符串的公共子序列都是0/1,且长度>=n,所以是一定满足的;也就是说这两个字符串一定要有>=n的公共子序列;所以其实这个题的本质其实是找最长公共子序列;......
2022-08-31 11:45:16
197
原创 D1. Xor-Subsequence (easy version) (思维 + dp)
题意: (理解了好久…)给一个数组,下标从[0,n-1],要你选一些索引[0,n-1],组成一个pos[]数组(升序的,假设有m个元素);pos[]满足 a[pos[i]] ^ pos[i+1] < a[pos[i+1]] ^ pos[i] (i = [0,m-1]);问最多可以选多少个下标,也就是问m的最大值.
2022-08-20 12:47:20
199
原创 E - Blackout 2(离线 + 思维倒推 + 并查集)
哎呦我去,比赛的时候差一点就写出来了…wa了好几发,没想明白错在哪;赛后想了一下,原来少了个判断,在一个集合的时候就不用合并了…我是sb不过还是很开心的,第一次在比赛时能写出离线处理的题。离线 + 思维倒推 + 并查集;...
2022-08-16 10:12:59
310
原创 1397. 找到所有好字符串(kmp理解 + 数位dp)(好题!!!)
让我重新学了一下数位dp!以及 官方题解!没有学过kmp的小伙伴建议先去学一下。这个题最重要最重要的就是状态的表示!
2022-08-15 21:24:46
376
原创 233. 数字 1 的个数(数位dp)(力扣)
题目链接可以,总算会自己写了,最基本板子借鉴这个题:https://leetcode.cn/problems/count-special-integers/记忆化搜索返回从当前状态下 能构造出来的特殊整数的数量;其中:i:表示从第i位开始填数字;is_litmit:表示前面一位i-1填的数字是否和s[i-1]对应上;如果对应上,那么当前位只能填到(int)s[i],否则能填到9;is_num:表示前面是否填了数字;(true表示填了,false表示没填)如果true,那么当前可以从0开始;否则只能
2022-08-15 21:17:38
167
原创 F. ATM and Students(思维 + 二分 + 线段树/RMQ)
所以我们可以维护前缀的最小值(线段树/树状数组/RMQ),每次快速查询;暴力的想我们去枚举每个字段,然后判断字段的所有前缀是否都>=0就行;其次,要使得[l,r]的所有前缀都>=0,即前缀的最小值都要>=0;求一段最长的连续序列,使得这段序列的前缀(+s) >= 0;(因为对于r只要出现一个前缀r)的都不满足)这样时间复杂度是:O(n*log(n)*log(n))首先发现固定左端点后,我们的右端点是有单调性的;所以我们可以枚举左端点,然后二分右端点;显然这样是O(n^3)的;...
2022-08-10 22:42:15
143
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人