随笔分类 -  C++

摘要:方法1:使用round()函数 方法2:(long long)(num/2.+0.5); 如果不加0.5,则会舍去造成数据不准。 阅读全文
posted @ 2022-04-04 20:51 80k 阅读(330) 评论(0) 推荐(0) 编辑
摘要:https://codingcompetitions.withgoogle.com/codejam/round/0000000000876ff1/0000000000a45fc0#problem 1、利用总边数=度数/2。 2、为了解决度数不平衡的问题,交替使用T(随机传送)和W(邻接传送)操作。 阅读全文
posted @ 2022-04-04 20:49 80k 阅读(37) 评论(0) 推荐(0) 编辑
摘要:std::endl、std::ends、std::flush 位于头文件<ostream> 作用分别为: endl:Insert newline and flush (刷新缓存区并插入换行符) ends:Insert null character (插入空字符) flush:Flush stream 阅读全文
posted @ 2022-04-04 20:00 80k 阅读(445) 评论(0) 推荐(0) 编辑
摘要:在使用STL中的算法时一定要统一输入的数据类型。 否则会出现参数按照最右边进行解析的情况。 例如 对 vector<long long> v; long long res=accumulate(v.begin(),v.end(),0); 可能会返回错误的结果,因为模板对0解析是int型,内部求和也会 阅读全文
posted @ 2022-04-04 18:49 80k 阅读(52) 评论(0) 推荐(0) 编辑
摘要:可以使用R"()"令字符串中的内容不进行转义 例如 string str=R"(//str\n//)"; //string str(R"(//str\n//)"); 等 cout<<str<<endl; 结果为//str\n// 阅读全文
posted @ 2022-04-03 23:37 80k 阅读(2161) 评论(0) 推荐(0) 编辑
摘要:#pragma GCC optimize(3,"Ofast","inline") #include<bits/stdc++.h> #define fore(x,y,z) for(LL x=(y);x<=(z);x++) #define forn(x,y,z) for(LL x=(y);x<(z);x 阅读全文
posted @ 2022-04-02 08:45 80k 阅读(11) 评论(0) 推荐(0) 编辑
摘要:在使用priority_queue、map、sort等,传入自定义比较函数时, comparator需要strict weak ordering,即comparator(x,x)必须返回false。 阅读全文
posted @ 2022-03-18 18:13 80k 阅读(495) 评论(0) 推荐(0) 编辑
摘要:using namespace std; tuple<int,float,string> t1={1,2.2,"str"}; tuple<int,float,string> t1(1,2.2,"str");//直接初始化 cout<<get<0>(t1)<<get<1>(t1)<<get<2>(t1 阅读全文
posted @ 2022-01-03 18:00 80k 阅读(116) 评论(0) 推荐(0) 编辑
摘要:课程中提供的,hash_val函数,输入参数为类的全部数据,返回值为std:stze_t的哈希值 1 2 template<class T> 3 inline void hash_combine(std::size_t & seed, const T & val){ 4 seed ^= hash<T 阅读全文
posted @ 2022-01-03 17:15 80k 阅读(170) 评论(0) 推荐(0) 编辑
摘要:在栈上创建: MyClass a;//调用默认构造函数 MyClass a();//声明返回值为MyClass的函数a,不是创建对象 在堆上创建: 对于内置类型,加括号会初始化,不加括号不会初始化; 对自定义类型,都会调用默认构造函数,加不加没有区别。 阅读全文
posted @ 2022-01-01 11:46 80k 阅读(65) 评论(0) 推荐(0) 编辑
摘要:memset按字节赋值, 常用的参数有 0(0),-1(值为-1,因为-1按补码存储,每一位都是1),0x3f(+∞),-0x3f(值为-∞,和-0x3f3f3f3f不等),0xc0(-∞) 头文件cstring 对于double,用科学计数法存储,初始化 -1可以视为-NAN 阅读全文
posted @ 2021-12-23 10:44 80k 阅读(60) 评论(0) 推荐(0) 编辑
摘要:课程中模板模板参数的举例 template<typename T, template <typename T> class Container > class XCls { private: Container<T> c; public: XCls() { for(long i=0; i< 100; 阅读全文
posted @ 2021-12-22 22:31 80k 阅读(56) 评论(0) 推荐(0) 编辑
摘要:动态绑定的要求是 1、通过指针调用 2、虚函数 阅读全文
posted @ 2021-12-22 22:23 80k 阅读(40) 评论(0) 推荐(0) 编辑
摘要:侯捷C++ static成员变量静态成员变量必须在类外初始化(定义)。这样可以保证static成员变量只被初始化一次。 模板函数作为模板类的友元时,声明也要加template<T> 阅读全文
posted @ 2021-12-12 21:18 80k 阅读(48) 评论(0) 推荐(0) 编辑
摘要:用于数据范围大但稀疏的数据 unique可以用来去重; unique(v.begin(),v.end()); 返回值指向最后一个无重复元素的下一位; 可以用 v.erase(unique(v.begin(),v.end()),v.end())去除有序数组中的重复元素。 对有序无重复数组,查找可以使用 阅读全文
posted @ 2021-12-11 10:50 80k 阅读(66) 评论(0) 推荐(0) 编辑
摘要:ios::sync_with_stdio(false); cin.tie(0); cout.tie(0); 阅读全文
posted @ 2021-12-08 20:05 80k 阅读(67) 评论(0) 推荐(0) 编辑
摘要:swap()函数定义在std中,可用于交换容器的元素。rand()返回0~INT_MAX的随机数,可以用取余的方法求一定范围的随机数。random_shuffle(begin(s), end(s));也具有打乱的功能。advance(it,n);可令迭代器前进(n为负表示后退)n步distance( 阅读全文
posted @ 2021-12-08 20:01 80k 阅读(35) 评论(0) 推荐(0) 编辑
摘要:与494求sum和neg的方法类似注意应用题和dp的数学转化(0-1背包问题)accumulate函数可对vector求和(numeric头文件)accumulate(nums.begin(),nums.end(),init,func) 阅读全文
posted @ 2021-12-07 20:25 80k 阅读(20) 评论(0) 推荐(0) 编辑
摘要:mt19937 在头文件<random>中,c++中的伪随机数生成器类型(与rand类似) 使用方法mt19937 gen(seed);//构造gen();生成随机数 uniform_int_distribution在头文件<random>中,均匀分布,是一个随机数分布类,参数为生成随机数的类型(例 阅读全文
posted @ 2021-12-07 20:22 80k 阅读(79) 评论(0) 推荐(0) 编辑
摘要:vector的assign()将区间[first,last)的元素赋值到当前的vector容器中,此方法会清除掉容器的旧内容 阅读全文
posted @ 2021-12-07 20:21 80k 阅读(30) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示