当前位置: 首页> 文旅> 艺术 > 软件工程35岁就失业吗_珠海互联网公司_seo内部优化方式包括_体彩足球竞彩比赛结果韩国比分

软件工程35岁就失业吗_珠海互联网公司_seo内部优化方式包括_体彩足球竞彩比赛结果韩国比分

时间:2025/7/30 23:38:17来源:https://blog.csdn.net/IsayIwant/article/details/139050003 浏览次数:0次
软件工程35岁就失业吗_珠海互联网公司_seo内部优化方式包括_体彩足球竞彩比赛结果韩国比分

C ++ 复习

dubug

重点检查边界,取等。while还是if
需要注意图的连通性问题,重边,环。图论vis数组能开则开。

memcpy

void *memcpy(void*dest, const void *src, size_t n); 一般用法:memcpy();

vector用法

初始化
vector(int nSize,const t& t):创建一个vector,元素个数为nSize,且值均为t
二维: vector<vector<int> > pre(n + 1, vector<int>(m + 1));

tuple用法
std::tie(name, ages, std::ignore, std::ignore) = tp;
map用法

map是关联容器,sort函数只能用在随机访问迭代器vector,deque上。
map的排序是从小到大按照key进行的,是有序容器。

priority_queue

它和queue不同的就在于我们可以自定义其中数据的优先级, 让优先级高的排在队列前面,优先出队,并且没有front(),back()函数,只用top()访问队首元素
因为priority_queue内部是用堆实现的,所以是堆优化。虽然他是个queue但是其实他的内部是一个堆结构。
push 插入元素到队尾 (并排序)
priority_queue<Type, Container, Functional>
Functional: 可选 less<int>greater<int>从小到大,队头是小,小根堆。

基础知识

3 * 5 / 2 = 7 & 3 / 2 * 5 = 5 &3 * (5 / 2) = 6
除法要加括号!!!
int最大表示为: 2 × 1 0 9 2\times10^{9} 2×109 复杂度计算: 1 0 9 = 1 0 4.5 \sqrt{10^9}=10^{4.5} 109 =104.5

二进制

(1LL << x)等价于 power(2, x)

    for (int i = 0; i < (1 << 3); i ++ ) {cout << i << ' ';for (int j = 14; j >= 0; j -- ) {if (i >> j & 1) cout << 1;else cout << 0;}cout << '\n';}

0 000000000000000
1 000000000000001
2 000000000000010
3 000000000000011
4 000000000000100
5 000000000000101
6 000000000000110
7 000000000000111

for 循环遍历的时候的基本用法:
正向:[0, n)
反向:[n -1, 0]
二进制:遍历15位,2^15;
for (int i = 0; i < (1LL << 15); i ++ )
for(int j = 14; j >= 0; j -- )

i=0的话,下面的a[i]实际上是a[1],i 还是 =0
所以不要把下面的合成一句写,前面的a[i]会先执行++导致错误。

index[a[i]] = i;
i ++;

__builtin_popcount(x)
等于:(注意这里一定是31)

Lambda用法

捕获列表 [] 用于定义如何捕获在 lambda 定义之前声明的外部变量。
参数列表 () 用于定义 lambda 的参数,这些参数在调用 lambda 时传递。
捕获列表和参数列表是相互独立的,不会相互影响。

auto solve=[&](int n) 表示用引用的方式捕获;
[] 表示不捕获任何变量,它只能使用直接传递给它的参数和在 lambda 内部定义的变量。

#include <iostream>int main() {int a = 10;int b = 20;// 按值捕获a,按引用捕获bauto lambda = [a, &b](int c) {std::cout << "Inside lambda: a = " << a << ", b = " << b << ", c = " << c << std::endl;// 尝试修改a会影响捕获的副本,不影响外部的a// 尝试修改b会影响外部的b// c 是参数列表中的变量,仅在lambda内部有效// a = 100; // 编译错误,a是按值捕获的,无法修改b = 200; // 修改b,会影响外部的b// c = 300; // 可以修改c,但只在lambda内部有效};int c = 30;lambda(c); // 调用lambda并传递参数cstd::cout << "Outside lambda: a = " << a << ", b = " << b << ", c = " << c << std::endl;return 0;
}
字符、字符串操作

string: 在最后会加一个\n,所以如果长度是2,你访问s[2]不会报错,但你要知道原因。
cin:跳过空白。
getline(cin, s):输入整行字符串。

isalpha()用来判断一个字符是否为字母
isalnum用来判断一个字符是否为数字或者字母,也就是说判断一个字符是否属于a~ z||A~ Z||0~9。
isdigit() 用来检测一个字符是否是十进制数字0-9
islower()用来判断一个字符是否为小写字母,也就是是否属于a~z。
isupper()和islower相反,用来判断一个字符是否为大写字母。

从字符串提取数:

if (isdigit(s[i])) {int j = i, number = 0;while(j < int(s.size()) && isdigit(s[j])) {number = number * 10 + (s[j] - '0');j ++ ;}i = j - 1;
}
STL

排序:
反向:sort(a.rbegin(),a.rend());
正向: sort(a.begin(),a.end());

assign:

vector<int> native_a(n);
native_a.assign(a.begin(), a.end());

find:
返回迭代器,要减去迭代器

find(native_a.begin(), native_a.end(), a[i]) - native_a.begin()

pair的构造
a.push_back({l, r});
cmp比较函数写法:

bool cmp(pair<int, int> a, pair<int, int> b) {return a.first < b.first;
}

max_element只能用于一维

    int max_length = 0;for (int i = 1; i <= n; i++) {max_length = max(max_length, *max_element(f[i] + 1, f[i] + m + 1));}
Codeblocks

ctrl + shift + c: //
ctrl + shift + x: undo //

关键字:软件工程35岁就失业吗_珠海互联网公司_seo内部优化方式包括_体彩足球竞彩比赛结果韩国比分

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: