1.行中空格行末换行
cout << dp[n][i] << " \n"[i == n];
2.dfs时注意
dfs(a[i], b[i], nowstep, all + 1); //我们的直观理解
dfs(a[i], b[i], nowstep, all++); //各不相同
dfs(a[i], b[i], nowstep, ++all);
3.确实有些题需要用暴力跑一下代码,然后得到结论再输出
题意:找一个l,r区间内的素数相乘,等于2^k(自己找)*第r+1个素数-1
题意:找一个字符串,对两个已知进行插入、删除、替换操作变成该字符串,要求操作步骤最少(输出已知两个字符串其中一个即可)
4.注意关闭同步流后不可以使用scanf printf(否则爆0),在主函数关同步流可以影响主函数中调用的函数
5.c++字符串切割拷贝
beg = s.substr(0, 4);
end = s.substr(s.size() - 4, s.size() - 1);
6.在字符串前面加前缀,一般为了使字符串从1开始
s = "0" + s;
s.insert(0, " ");