tips

发现了c++万能头文件#include<bits/stdc++.h>

添加使用方法

血与泪的经验!!!不要把全局变量命名成start ,end ,_start,_end也不行!!!

位运算

 <<和>>并不是赋值,不要记混,只是返回运算结果,如+和-   实现改变一个数移位要 b<<=1;不要b<<1; 

DEV C++  

不要在源文件名字里加 ' 会导致不能调试断点,也许中文和特殊符号也会导致这个问题,路径最好也是使用纯英文路径

二进制运算

将二进制数中的某一位取反的方法

Set

set集合自带 set_union(ALL(x1), ALL(x2), INS(x));取交集操作

和set_intersection(ALL(x1), ALL(x2), INS(x))取并集操作

其中的ALL(x),INS(x)通常都是方便调用取的宏

#define ALL(x) x.begin(),x.end()
#define INS(x) inserter(x,x.begin())    

//其中的 inserter顾名思义,是一个插入迭代器,可以对所有的stl结构做insert操作,该函数在头文件<iterator>中

 //有关三类迭代器,更多可以见https://blog.csdn.net/yangshun2008/article/details/7942544

意思是将x1集合中所有的元素与x2集合中所有的元素取并集/交集 然后将结果插入到x集合的开头(x集合一般是新创建的空集合)

set集合的  settemp.count(key)函数是通过key来查找value 如果该集合中存在这个key返回1,否则返回0;

  

string

sring中自带的对字符串操作的函数可以互相配合使用,它们的参数中总是会 “位置” 这个参数是从0开始数起的,还会有“个数”这个参数,是从1开始数起

    string str1("Heterological paradoxes are persistent.");
 
    basic_string<char>str2=str1.substr(6,7);
  例如substr这里边的6就是代表从Heterological paradoxes are persistent.的H为0数起,到序号6的‘l’作为开始,而7为个数是从1开始数起,即‘l’为第一个。
其他的 像find_first_of(),find()大多都是这样
 
 邻接表
可以用set<int> g[maxn]来实现
 
原文地址:https://www.cnblogs.com/worldcreator-zh/p/10695891.html