首页
学习
活动
专区
工具
TVP
发布

Zaqdt_ACM

专栏作者
363
文章
306959
阅读量
33
订阅数
Codeforces Round #642 (Div. 3) D. Constructing the Array(思维、模拟)
题目链接:https://codeforces.com/contest/1353/problem/D
Ch_Zaqdt
2020-05-18
2160
日志模块--手动实现printf函数demo
       整体的实现思路就是传入一个字符串以及需要的参数(可变参数),通过对%的处理来获取我们所需要的类型,从而实现格式化字符串的操作( ("Hello %s world", "nginx") -> "Hello nginx world"),主要是细节的处理,比如有无符号类型,以及16进制转换和保留小数等问题,需要仔细思考。
Ch_Zaqdt
2020-03-23
8010
C++虚函数表深入探索(详细全面)
       这篇博客可能有一点点长,代码也有一点点多,但是仔细阅读分析完,会对虚函数表有一个深刻的认识。
Ch_Zaqdt
2020-03-16
16.5K7
深入探索虚函数表(详细)
这篇博客可能有一点点长,代码也有一点点多,但是仔细阅读分析完,会对虚函数表有一个深刻的认识。
Ch_Zaqdt
2020-03-13
1.1K0
LeetCode 5354. 通知所有员工所需的时间(迭代)
题目链接:https://leetcode-cn.com/problems/time-needed-to-inform-all-employees/
Ch_Zaqdt
2020-03-11
5590
LeetCode 322. 零钱兑换(贪心+dfs剪枝)
题目链接:https://leetcode-cn.com/problems/coin-change/
Ch_Zaqdt
2020-03-09
7650
Linux的内存共享映射(mmap和munmap)
       Linux下的进程间通信也可以使用mmap的内存共享映射来实现,mmap的作用就是把磁盘文件的一部分直接映射到进程的内存中,那么进程就可以直接对该内存文件进行操作,mmap也设置了两种机制:共享和私有,如果是共享映射,那么在内存中对文件进行修改,磁盘中对应的文件也会被修改,相反,磁盘中的文件有了修改,内存中的文件也被修改。如果是私有映射,那么内存中的文件是独立的,二者进行修改都不会对对方造成影响。通过这样的内存共享映射就相当于是进程直接对磁盘中的文件进行读写操作一样,那么如果有两个进程来mmap同一个文件,就实现了进程间的通信。磁盘中的文件通过mmap函数来实现映射,然后通过munmap函数取消映射。先来看一下函数的原型:
Ch_Zaqdt
2020-03-05
7.8K0
Linux下exec函数族详解
       对于exec函数族来说,它的作用通俗来说就是使另一个可执行程序替换当前的进程,当我们在执行一个进程的过程中,通过exec函数使得另一个可执行程序A的数据段、代码段和堆栈段取代当前进程B的数据段、代码段和堆栈段,那么当前的进程就开始执行A中的内容,这一过程中不会创建新的进程,而且PID也没有改变。
Ch_Zaqdt
2020-03-02
8.1K0
916. 单词子集(思维)
题目链接:https://leetcode-cn.com/problems/word-subsets/
Ch_Zaqdt
2020-02-18
2870
C++11 atomic原子操作
在并发多线程的编程中,不同线程间对共享内存的竞争是存在一定危险的。所以C++11引入了自己的互斥量的概念来避免在多线程的运行中出现的问题,那么对于每次的加锁解锁以及其他的操作对于资源的消耗都是一定的,那么就又引入了std::atomic的类模板,实现了原子操作,从而避免了在数据的修改过程中被切换到另一个线程中,也就是说对于值的修改操作必须一次性执行完毕,中途不会被打断。atomic的运行效率上比互斥锁的效率要高好多。但是对于atomic和mutex的实际需要还需要根据设定情况来看,没有绝对的完美和高效。
Ch_Zaqdt
2020-02-18
1.6K0
56. 合并区间(思维)
题目链接:https://leetcode-cn.com/problems/merge-intervals/
Ch_Zaqdt
2020-02-17
2790
C++多线程的三种创建方式
       C++11的新特性std::thread的创建方式主要有:函数指针,类或结构体,lambda表达式。下面将会附上这三种创建线程方式的code。
Ch_Zaqdt
2020-02-16
3.9K0
C++多线程中的join, detach, joinable
       thread是C++11中提供多线程编程的模块,使用的时候需要包含<thread>头文件。
Ch_Zaqdt
2020-02-16
6.6K0
5330. 分裂二叉树的最大乘积(dfs)
题目链接:https://leetcode-cn.com/contest/weekly-contest-174/problems/maximum-product-of-splitted-binary-tree/
Ch_Zaqdt
2020-02-14
4150
C++多线程unique_lock详解
       C++11中的unique_lock使用起来要比lock_guard更灵活,但是效率会第一点,内存的占用也会大一点。同样,unique_lock也是一个类模板,但是比起lock_guard,它有自己的成员函数来更加灵活进行锁的操作。
Ch_Zaqdt
2020-02-14
19.4K0
HDU 3746 Cyclic Nacklace(KMP求循环节)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3746 题意是给了一个字符串,然后问最少在开头或者末尾加多少个字符可以使这个字符串至少有两
Ch_Zaqdt
2019-10-22
2410
HDU 1711 Number Sequence(KMP)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1711 题意是输入两个数组,问能不能在文本数组s中找到模式数组p,输出最先的位置,如果找不
Ch_Zaqdt
2019-10-22
2970
HDU 3791 二叉搜索树(BST)
https://blog.csdn.net/Charles_Zaqdt/article/details/89810110
Ch_Zaqdt
2019-05-14
3140
树状数组求逆序数
       粘个板子 #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> #define maxn 500005 #define ll long long using namespace std; ll c[maxn << 2], s[maxn << 2], a[maxn << 2], b[maxn << 2]; ll n; int lowbit(int x){return x & (-x);} vo
Ch_Zaqdt
2019-04-01
6700
Codeforces Round #547 (Div. 3) C. Polycarp Restores Permutation(思维)
题目链接:https://codeforces.com/contest/1141/problem/C
Ch_Zaqdt
2019-03-22
4410
点击加载更多
社区活动
腾讯技术创作狂欢月
“码”上创作 21 天,分 10000 元奖品池!
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档