寒假集训随笔

1.对于一些复杂度的估计问题

signed main() {
	int M=5e6;
	int cont=0;
	for(int i=2;i<=M;++i){
		int Tem=M/i;
		for(int j=2;j<=Tem;++j){
			cont++;
		}
	}
	cout<<cont;//cont=67896939
	return 0;
}

这是ln的级数展开,也就是说比log还略小些

2.在一次训练赛中unordered_map TLE,map AC,说明在复杂度可以接受的前提下应优先考虑map

3.尽量不要写类似于fin(),fin2()这样两个名字类似的函数,尤其是当过程相似且有递归部分的时候,及其容易因为复制的时候忘改导致wa

4.define int long long常数巨大,如果IO规模较大(1e6)尽量不要使用
经过实验,最为耗时的点在于cout<<endl.强烈建议不要用endl,或define endl '\n'
write+printf大概快了1/6,而endl会直接导致TLE
5.比起用clear清空map,有的时候可以直接再执行一次内层循环来清除这次循环的贡献
6.注意bfs和dfs的写法,这是基础,但是最近写的效率并不高。当出现爆栈可能时优先考虑bfs
7.重建线段树时自己的板子要重置id=0;
8.
对于这道题,需要对质数的分布有一些了解:
(1)n到2n之间必有质数
(1)在本题范围内(n<=1e6),i与比i大的最小质数之间距离很近,大概不到100!
9.

template<class ForwardIt>
ForwardIt is_sorted_until(ForwardIt first, ForwardIt last);

返回第一个无序元素的迭代器,如果有序就是end

posted @   wxk123  阅读(5)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端
点击右上角即可分享
微信分享提示