知识积累

hang = (n-1)/lie + 1;//等价于  n/lie +(n%lie) ? 1:0;
  1. string 作为形参是不会改变原始数的值就好似传整型

  2. 引用的精髓在于无返回值!就是可以多值改变返回,而return 主要是有复杂的计算

  3. hash字符串 在于可以任意快速的去切某个字符串,得其hash 快速判断,s[i+n] - s[i]*p[n]
    kmp因为学时莫得next[] 但其错位的地方即 (i-f[i])可用于判断是否为循环节
    若是则为 f[i] && ! ( n%(i-f[i]) ) 益于判断最大循环节

    5.线段树 : https://www.bilibili.com/video/av47331849

    6.并查集到底是怎样的人物呢,刚开始是认为是找爸爸,分出不同的派别与团伙;
    第二种化看成点几点若可互相达到即为有老大,即判断是否连通,类图思想,切记可不是一对一匹配,即例如此时A,B不能再一起,而其中的A不能与C在一起,并不代表B与C不能再一起! 而如果你用并查集,则B与C也无法在一起!
    那么如果要很好的表示两个人的关系,则可以用什么? 邻接表

  4. 重载运算符

用于struct内

bool operator>=(const point b) const
	{
		return this->elem >= b.elem;
	}

用于struct外

bool operator < (const node &A,const node &B) {
    return A.pos > B.pos;
}
8.map 清空
for(map<int,int>::iterator it = he.begin(); it != he.end();)
{
	he.erase(it++);
}  // it++  写于第二个分号后就不行
//he.clear();

为什么?因为it在进行++之前会先开个临时变量,而函数操作慢于参数处理,所以it的临时变量++了,然后那个运行完之后,再赋值给it,若写在for后面,则此时it 已经被删,所以此时其为一个非法指针

9.换行不会整,咋搞???scanf("%s")教你做人
10.

//小数先出
priority_queue <int,vector<int>,greater<int> > q;
//大数先出
priority_queue <int,vector<int>,less<int> >q;
  1. stl跑一遍所有的数
	for (auto x:state1) cout<<x;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值