一、上午(字符串处理)
- 数字反转:
新知识:
sscanf(s,"%d",&n);//将字符串s转化成数字n,字符串前面的负号保留,后面的不保留,如果读入非数字则中断
sprintf(s,"%d",n);//将数字n转化成字符串s
- 移位包含 :
string
的应用
a.erase(p,l);//删除a中从p开始的l个字符,并且用后面的字符补齐
a.substr(p,l);//返回a从p开始长度为l的子串
a.find(b,p);//返回值是string型b在a中位置p以后首次出现的位置
string::npos//表示不存在的位置
if(a.find(b,0)!=string::npos);//如果a中存在b
- 单词替换:还是
string
的应用
s.erase(p,a.length());//同上
s.insert(p,b);//在p位置加入string型b
p=s.find(a,p);//同上
二、下午
- 字符串还原:注意
string
的赋值方法。 - 判断溢出:输入有毒!
三、晚上
- 判断溢出 :真的有毒!
还是0分。 - 特殊数列:直接
set
,TLE;unordered_set
还是TLE;hash
表,还是TLE。结果看了下同学的,开了大小为1e9
的bool
型数组直接暴力判断,这是真的O(1)查询,都没有常数的。 - 求好元素:纯暴力40分,二分小优化60分,