学习第42天

C++语言 vector类型、 1. 来自于标准库、集合或者动态数组、可以将若干对象放在里面、同一类型、 2. 需要包含vector头文件、 3. vector是类模板、<int>是类模板实例化的过程、 4. 引用非对象、是个别名、 定义和初始化vector对象、 空vector vector<st ...

【CF1425B】 Blue and Red of Our Faculty! 题解

原题链接 简要翻译: 有一个连通图,A和B同时从点1出发,沿不同的路径前进。原本,图上的每一条边都是灰色的。A将经过的边涂成红色,B将经过的边涂成蓝色的。每个回合每个人只能走灰色的边。当某个回合中不存在两条不同的灰色路径来同时移动A和B时,游戏结束。试求结束时,图上边的涂色情况有多少种?只要有一条边 ...

学习第41天

C++语言 string类型、 与C语言的字符数组相似、两者可互用、暂看成一个类的类型、 定义和初始化string对象 string a1;//默认初始化、空串、表示里面没有字符、 string a2 = "这是一段字符串"; //将字符串拷贝到a2中、此时a2代表一段内存、内存大小取决给的字符串的 ...

学习第40天

C++语言 函数与后置返回类型、 函数可以没有形参 但实参的值必须有 类型不能省略、 前置返回类型、将函数返回类型放在函数名称前 void b(int, int);//函数声明是可以只有类型 没有函数形参名 void a(int b, int)//只给类型、没有形参变量名、 { return; } ...

C/C++的快读

O2快读 C++快读优化常数 快读/快写 的某版本: // 快读 typedef unsigned long long ull; inline ull q_read(){ ull x=0,f=1; char c=getchar(); while(c<'0'||c>'9') {if(c=='-')f= ...

数据结构与算法之最好学的最小生成树

数缺形时少直观,形缺数时难入微。 ——华罗庚 序 最小生成树问题是我在各项图论问题中最先理解与解决的,其目的就是在连通图中选择出: 使得各点构成联通的最小边权的边集 其中用到的数据结构与算法也是相对很好理解的并查集和Kruskal算法,我在我之前的文章小话数据结构-图 (聚焦与于实现的理解)也有提到 ...

学习第39天

结构、 自定义的数据类型、 C++的结构有成员变量、还可以定义其中成员函数(方法)、 struct a { int a1; char a2[50]; void e()//成员函数、也叫方法、 { a1++; return; } }; int main() { a b;//可以省略struct而直接使 ...

【CF1425A】 Arena of Greed题解

原题链接 简要翻译: Mr.Chanek与另一个人玩一个取硬币游戏,他先手。玩家在自己的回合内可以取走硬币堆中的一个。如果硬币堆里有偶数个硬币,玩家也可以选择取走硬币总数的一半。两名玩家都是绝对聪明的,他们都希望拿到手中的硬币尽可能多。 这道题的坑点在于游戏人的目的是最大化手上的硬币数量,而不是比对 ...

写给计算机专业同学:大学学过C语言,是否须继续学习C++编程?

首先,在大学期间的学习任务应该围绕自身的专业课程体系来展开! 对于计算机相关专业的同学来说,都是以C语言为入门编程语言来学习编程的,学习C++还是有一定必要的,作为一门编译型程序设计语言,C++在游戏开发、桌面应用开发、软件开发以及人工智能等领域的应用还是比较广泛的,掌握C++对于学习专业知识也有比 ...

C++雾中风景15:聊聊让人抓狂的Name Mangling

Name Mangling,直接翻译过来为名字改写 。它是深入理解 C++ 编译链接模型的必由之路。 笔者近期进行数据库开发工作时,涉及到MySQL客户端的编译链接的问题,通过重新厘清了之前理解一知半解的Name Manging,解决了让人抓狂的编译链接问题。 接下来,和大家聊聊C++的Name M ...

学习第38天

C++语言 范围for语句、 用于遍历一个序列、 int a[]{ 1,2,4,6,9 }; for (auto b : a)//将数值a的元素依次拷贝到b里面、 { cout << b << endl; } int a[]{ 1,2,4,6,9 }; for (auto &b : a)//添加&可 ...

手写三大排序(快速排序,归并排序,堆排序)

排序 手写三大排序(快排,归并,堆排序) 归并排序(Merge_Sort) 首当其冲的是归并排序,我认为这个算法是除了O(n^2)那些垃圾的排序算法(冒泡,插入,选择)之外同样好理解的,学习成本最低,而且复杂度明显降低的。 个人认为归并排序就两个步骤:递归分治(recrusive)+子段合并(mer ...

C/C++编程知识:网络编程之 Https 详细分析,超详细知识点!

01.为何会有Https Http的缺点 通信使用明文 通信使用明文意味着安全性大大降低,当通信过程被窃听后,无需花费额外的投入就可看到传输的数据。 例如使用抓包工具,无需任何配置就可查看任何使用HTTP协议的通信数据; 不验证通信方身份 不验证通信方的身份,将导致通信过程被窃听后,可能会遭遇伪装, ...

P1002 过河卒

洛谷团队希望加入! P1002 过河卒 题目描述 棋盘上 AA 点有一个过河卒,需要走到目标 BB 点。卒行走的规则:可以向下、或者向右。同时在棋盘上 CC 点有一个对方的马,该马所在的点和所有跳跃一步可达的点称为对方马的控制点。因此称之为“马拦过河卒”。 棋盘用坐标表示,AA 点 (0, 0)(0 ...

C++并发之线程管理

这章是C++并发的第一章内容,主要叙述线程管理、向线程传递参数、转移线程、决定线程的数量、表示线程等。 线程管理的基础 每个程序至少有一个线程:执行main()函数的线程,其余线程有其各自的入口函数。线程与原始线程(以main()为入口函数的线程)同时运行。如同main()函数执行完会退出一样,当线 ...

字符串 数字 转换

总是会遇到string、char、int之间的互相转换问题,痛下决心彻底搞清楚。 先了解基本C++中的转换方法,然后再了解关于Qt中特殊的方法,最好是借此机会感受一下qt与基本c++的异同。 C++98 1 //string > char* 2 const char* = string.c_str( ...

学习第37天

C++语言 局部变量初始化、 初始化、随时使用、随时定义、 using namespace std; int main() { for (int i = 0; i < 16; i++) { cout << i << endl; } } 定义并初始化、C++、 int a{5}; cout<<a<<e ...

学习第36天

C++语言 命名空间、 解决同名实体问题、系统可以定义多个命名空间、 2. 命名空间不可同名、命名空间=作用域 3. 同名实体、 同名函数、 同名变量、 同名类、 命名空间定义、 namespace 命名空间名 {命名空间作用域} namespace 可以跨文件定义、 命名空间的定义可以写在多个文件 ...

<1···345···53>