C/C++
文章平均质量分 90
C/C++编程
HeZephyr
但行好事,莫问前程!
展开
-
Linux execve函数详解
描述execve()执行由pathname引用的程序。这会导致当前由调用进程运行的程序被一个新程序替换,该新程序具有新初始化的堆栈、堆和(已初始化和未初始化)数据段。pathname必须是二进制可执行文件或以形式为开头的脚本。argv是传递给新程序作为其命令行参数的字符串指针数组。按照惯例,这些字符串中第一个(即argv[0])应包含与正在执行文件相关联的文件名。argv数组必须以NULL指针结尾。(因此,在新程序中,argv[argc]将为NULL)。envp是传递给新程序环境变量的字符串指针数组。原创 2024-03-13 10:30:34 · 1966 阅读 · 1 评论 -
C++11多线程 std::thread详解
C++11多线程, std::thread详解,带你用C++实现多线程。原创 2022-04-07 21:04:52 · 3884 阅读 · 1 评论 -
C++可调用对象学习笔记
详细介绍了C++的五种可调用对象。原创 2022-04-07 19:41:31 · 1184 阅读 · 1 评论 -
C. Maximal Intersection(STL+枚举)Codeforces Round #506 (Div. 3)
原题链接: https://codeforces.com/problemset/problem/1029/C测试样例Input41 32 60 43 3Output1Input52 61 30 41 200 4Output2Input34 51 29 20Output0Input23 101 5Output7NoteIn the first example you should remove the segment [3;3][3;3原创 2020-11-01 20:31:47 · 186 阅读 · 0 评论 -
B - Unique Bid Auction(暴力+STL)Codeforces Round #686 (Div. 3)
原题链接; http://codeforces.com/contest/1454/problem/B测试样例input621 132 1 342 2 2 31152 3 2 4 261 1 5 5 4 4output-12412-1题意: 给你一个长度为nnn的数组,你需要在其中找到一个独一无二的数(即该数只出现过一次),若存在,则输出它的下标,若不存在,则输出−1-1−1。若存在多个独一无二的数,输出其中值最小的那个。解题思路: 简单暴力即可。可以用两原创 2020-11-25 13:34:52 · 667 阅读 · 1 评论 -
D. Colored Boots(容器的嵌套使用)Codeforces Round #547 (Div. 3)
原题链接:https://codeforces.com/problemset/problem/1141/D题意:给定两个字符串,找出它们的最大匹配,其中问号可以代替任何字符。输出要输出最大匹配数和每轮匹配对应的字符位置。解题思路:我们要找出最大匹配就要充分利用问号,记录位置我们也必须联立它们的位置关系,若我们用map容器存放每个字符出现的位置就十分恰当。思路是将一个字符串作为参照物不动放入map容器中,然后用另一个字符串与之比对判断是否可以在map中找到,若找不到,就利用?号来实现配对,每次配对成功后都原创 2020-08-03 17:27:53 · 217 阅读 · 0 评论 -
C. Sequence Transformation(模拟+STL) Codeforces Round #686 (Div. 3)
原题链接: http://codeforces.com/contest/1454/problem/C测试样例input531 1 151 2 3 4 551 2 3 2 171 2 3 1 2 3 1112 2 1 2 3 2 1 2 3 1 2output01123题意: 给定一个整数序列,现在你可以选定一个在序列中出现过的数值xxx进行若干次操作:即可以选定一个区间[l,r][l,r][l,r]这个区间不能出现过xxx,然后删除这个区间中的元素,这个区间之原创 2020-11-25 13:42:44 · 299 阅读 · 0 评论 -
B2. Social Network (hard version)(STL)Codeforces Round #590 (Div. 3)
原题链接:https://codeforces.com/contest/1234/problem/B2你正在一个流行的社交网络中通过智能手机发送信息。你的智能手机最多可以显示k个最近与朋友的对话。最初,屏幕是空的(即显示的对话数等于0)。 每次谈话都是你和你的一些朋友之间的。最多只能和你的朋友进行一次谈话。所以每次谈话都是由你的朋友来定义的。 现在你(突然!)有能力看到未来。你知道在一天中你将收到n条信息,第i条信息将从id为idi(1≤idi≤10^9)的朋友处收到。 如果在智能手机当前显示的对话中收到原创 2020-08-05 14:56:34 · 462 阅读 · 0 评论 -
B. Applejack and Storages(数学+STL的使用) Codeforces Round #662 (Div. 2)
原题链接:https://codeforces.com/contest/1393/problem/B题意:仓库中原有n块给定长度的木板,我想通过这些木板来形成一个正方形,或者一个矩形(正方形也是矩形)。仓库中会进行m个操作,其中对给定长度的木块进行增加或减少(没了自然不用减少)。每进行一次操作判断我是否能达成目的,输出YES or NO。解题思路:这题一看就是用map容器呀,我认为非常简单,直接对输入数据进行处理即可,每次都遍历一遍map容器判断是否可以达成目的。具体看代码,我这种思路会超时,简直了,求原创 2020-08-08 00:10:24 · 314 阅读 · 0 评论 -
C++STL中unique函数详解(源码之前——了无秘密)
源码之前——了无秘密。C++STL中unique函数详解(源码之前——了无秘密)总结unique函数是属于STL中比较常用的函数,因为我们如果用的存储结构不是set容器,或者说我们想主动进行元素去重,那么unique函数就可以帮到我们,它的作用自然就是元素去重,即“删除”序列中的所有相邻的重复元素(只保留一个)。注意我们这里的“删除”并不是真的删除,只是用不重复元素顶替重复元素,假设有一个已经排好序了的nnn个元素的容器,现其中有kkk个不重复元素,那么经过unique函数处理后前k个元素是不重复原创 2020-08-09 10:03:08 · 1349 阅读 · 0 评论 -
A. Remove Smallest(STL的简单使用) Codeforces Round #661 (Div. 3)
原题链接:https://codeforces.com/contest/1399/problem/A题意:如果两个数相差为1就删除小的数,如果两个数相同就删除任意一个,给定一个序列,我们判断经过这个规则后序列数目最后能不能只剩下一个?解题思路:此题利用队列实现比较方便,我们用一个数组存储输入数组,再进行排序(题中并没有说已经排好序了),之后再全部入队,判断每次不能删除的数目,即最后剩下来的数目。我们这样做,取队头元素,再出队一个,再去队头元素,这两个进行判断即可,若相差小于等于1,则说明删除成功,否则+原创 2020-08-05 23:44:33 · 314 阅读 · 0 评论 -
HDU——1029 Ignatius and the Princess IV(STL/动态规划)
原题链接: http://acm.hdu.edu.cn/showproblem.php?pid=1029测试样例Sample Input51 3 2 3 3111 1 1 1 1 5 5 5 5 5 571 1 1 1 1 1 1Sample Output351题意: 给你一个奇数NNN长度大小的整数序列,你需要找出其中一个元素,它至少出现了(N+1)/2(N+1)/2(N+1)/2次。解题思路: 这里我们有两种方法去解决。先说通俗的解法,即是用map容器来解决,我们对每次原创 2020-10-09 21:15:12 · 273 阅读 · 0 评论 -
D. Distinct Characters Queries(set处理) Codeforces Round #590 (Div. 3)
原题链接: https://codeforces.com/contest/1234/problem/D测试样例:Inputabacaba52 1 41 4 b1 5 b2 4 62 1 7Output312Inputdfcbbcfeeedbaea151 6 e1 4 b2 6 141 7 b1 12 c2 6 82 1 61 7 c1 2 f1 10 a2 7 91 10 a1 14 b1 1 f2 1 11Output52526原创 2020-08-22 09:53:13 · 207 阅读 · 0 评论 -
C. Good Subarrays(在线处理) Educational Codeforces Round 93 (Rated for Div. 2)
原题链接:http://codeforces.com/contest/1398/problem/C样例:inputCopy331205110116600005outputCopy361题意: 给定好子数组的概念:若子数组的元素之和等于元素个数,那么这个子数组就为好子数组。那么给你一个子数组序列字符串,判断该序列有多少个好子数组。解题思路: 虽然暴力出奇迹,但是这道题不管你怎么暴力,都会TLE(亲测,留下悔恨的泪水)。那么既然不能暴力求解,我们肯定是有巧方法的,什么巧方法呢?原创 2020-08-15 01:49:36 · 1045 阅读 · 1 评论