随笔分类 -  c++基础知识

摘要:Input Specification: Each input file contains one test case. For each case, the first line contains a positive integer N (≤) which is the total number 阅读全文
posted @ 2021-07-18 10:08 zmachine 阅读(39) 评论(0) 推荐(0)
摘要:#include <bits/stdc++.h> using namespace std; //智能指针 int main(){ //unique_ptr,保证同一时间内只有一个智能指针可以指向该对象 unique_ptr<string> p3(new string("auto")); unique 阅读全文
posted @ 2021-07-16 21:37 zmachine 阅读(49) 评论(0) 推荐(0)
摘要:题目描述 在 n\times nn×n 的格子上有 mm 个地毯。 给出这些地毯的信息,问每个点被多少个地毯覆盖。 输入格式 第一行,两个正整数 n,mn,m。意义如题所述。 接下来 mm 行,每行两个坐标 (x_1,y_1)(x1​,y1​) 和 (x_2,y_2)(x2​,y2​),代表一块地毯 阅读全文
posted @ 2021-06-13 11:33 zmachine 阅读(214) 评论(0) 推荐(0)
摘要:题目描述 如题,已知一个数列,你需要进行下面两种操作: 将某区间每一个数加上 kk。 求出某区间每一个数的和。 输入格式 第一行包含两个整数 n, mn,m,分别表示该数列数字的个数和操作的总个数。 第二行包含 nn 个用空格分隔的整数,其中第 ii 个数字表示数列第 ii 项的初始值。 接下来 m 阅读全文
posted @ 2021-05-20 11:39 zmachine 阅读(63) 评论(0) 推荐(0)
摘要:题目描述 如题,给定一棵有根多叉树,请求出指定两个点直接最近的公共祖先。 输入格式 第一行包含三个正整数 N,M,SN,M,S,分别表示树的结点个数、询问的个数和树根结点的序号。 接下来 N-1N−1 行每行包含两个正整数 x, yx,y,表示 xx 结点和 yy 结点之间有一条直接连接的边(数据保 阅读全文
posted @ 2021-05-17 18:52 zmachine 阅读(187) 评论(0) 推荐(0)
摘要:巧妙利用二分来降低时间复杂度 #include <bits/stdc++.h> using namespace std; //lower_bound()用于寻找第一个大于等于val的位置 //upper_bound()用于寻找第一个大于val的位置 //数组的话返回相应位置的指针,容器的话返回迭代器 阅读全文
posted @ 2021-04-04 13:21 zmachine 阅读(225) 评论(0) 推荐(0)
摘要:#include <bits/stdc++.h> using namespace std; int main(){ int x; //scnaf读入成功时返回读入成功的个数,无法读入时返回0 //在win下按回车,然后再按ctrl+z然后再按回车即可结束 while(scanf("%d",&x)== 阅读全文
posted @ 2021-03-07 14:05 zmachine 阅读(125) 评论(0) 推荐(0)
摘要:#include<bits/stdc++.h> using namespace std; int trie[100001][26],k; //trie树的数组表示形式,其中k表示当前这棵树所有的节点数 bool col[100001];//记录终止的位置 /*模板 Type function(cha 阅读全文
posted @ 2020-07-29 16:48 zmachine 阅读(144) 评论(0) 推荐(0)
摘要://set底层是红黑树,有序。unordered_set底层是哈希,无序,但查找效率高,速度快 #include <iostream> #include <set> using namespace std; int main() { set<int>s; s.insert(2); s.insert( 阅读全文
posted @ 2020-02-10 09:33 zmachine 阅读(124) 评论(0) 推荐(0)
摘要:#include<iostream> #include<map> using namespace std; int main() { map<int,int> m;//有序结构,底层为红黑树,key的值不允许相同,相同的话用multimap m[6]=7; m[5]=6; m[4]=5; for(a 阅读全文
posted @ 2020-02-10 09:28 zmachine 阅读(85) 评论(0) 推荐(0)
摘要://容器queue于stack相似,内部含有stack,本质算为容器的适配器 #include<iostream> #include<queue> using namespace std; int main(){ queue<int>q; q.push(1); q.push(2); cout<<q. 阅读全文
posted @ 2020-02-10 09:02 zmachine 阅读(100) 评论(0) 推荐(0)
摘要:7-10 树的遍历 给定一棵二叉树的后序遍历和中序遍历,请你输出其层序遍历的序列。这里假设键值都是互不相等的正整数。 输入格式: 输入第一行给出一个正整数N(≤),是二叉树中结点的个数。第二行给出其后序遍历序列。第三行给出其中序遍历序列。数字间以空格分隔。 输出格式: 在一行中输出该树的层序遍历的序 阅读全文
posted @ 2020-02-09 16:23 zmachine 阅读(208) 评论(0) 推荐(0)
摘要://容器stack,其源代码包含着deque,其本质也可被称为容器的适配器 //容器stcak中不能进行定位插入或着删除,因为一旦进行定位插入和删除,那么栈这个容器的封闭性将会被破坏 #include <iostream> #include <stack> using namespace std; 阅读全文
posted @ 2020-02-09 10:46 zmachine 阅读(148) 评论(0) 推荐(0)
摘要://容器deque,双向队列,在内存中是分段连续的 //在内存中可以在左端,也可以在右端扩充,每次扩充,扩充一个buffer //排序时需要调用全局的sort #include <iostream> #include <deque> using namespace std; int main() { 阅读全文
posted @ 2020-02-09 10:18 zmachine 阅读(117) 评论(0) 推荐(0)
摘要://双向链表,比较节省内存,每次扩充只扩充一个单元//由属于自己的sort,为了提高运行的效率尽量不要采用全局的sort#include <iostream> #include<list> using namespace std; int main() { list<int> li; li.push 阅读全文
posted @ 2020-02-09 10:03 zmachine 阅读(116) 评论(0) 推荐(0)
摘要://容器vector,可以单方向扩展 //扩展的速度是以二倍的速度扩展 #include <iostream> #include <vector> using namespace std; int main() { vector<int> v;//定义一个空vector vector<int> v1 阅读全文
posted @ 2020-02-07 17:07 zmachine 阅读(161) 评论(0) 推荐(0)
摘要://使用容器array//内存大小不可以扩展 #include <iostream> #include <array> #include<ctime>//用来计时 using namespace std; int main() { array<int,500000> a; clock_t timeS 阅读全文
posted @ 2020-02-07 15:14 zmachine 阅读(225) 评论(0) 推荐(0)
摘要:注意在devc++这个编译器环境下,其默认是不支持c++11的,所以应该进行修改 关于c++11的一个简单更新 for(decl :coll){ statement } 例如: #include <iostream> using namespace std; int main() { for(int 阅读全文
posted @ 2020-02-06 11:01 zmachine 阅读(125) 评论(0) 推荐(0)
摘要://c++中字符串的处理获取一行函数 #include <iostream> using namespace std; int main() { string s; getline(cin,s); cout<<s<<endl; } //c++中对于操作符重载的一些现象 #include <iostr 阅读全文
posted @ 2020-01-29 16:26 zmachine 阅读(550) 评论(0) 推荐(0)
摘要:#include <iostream> #include <algorithm>//直接用相应的库进行排序,简化算法,加快相应速度 using namespace std; int main() { int a[7]={-2,3,4,1,9,0,7}; sort(a,a+7);//排序函数默认为从小 阅读全文
posted @ 2020-01-29 11:17 zmachine 阅读(2123) 评论(0) 推荐(0)