主页
最近更新
Day1笔记
最后更新于 2025-05-01 19:37:55
作者
lvzhaohong
分类
个人记录
复制 Markdown
更新文章内容
# Day1 笔记 ## 分治 i<j,a[i]>a[j] ## 分而治之 ## 代码: ## if(l==r)return ; ## int m=(l+r)>>1;//(l+r)/2 ## merge(l,m);//递归去算l-m的答案a[l]-a[m] 排好序了 ## ## merge(m+1,r);// 递归去算m+1-r的答案a[m+1]-a[r] 排好序了 ## //i在左边j在右边的答案 ## 递归实现(手懒,勿喷) # 小技巧: ## 遇到区间想到分治 # 异或:同位为0,异位为1 符号:^ ## 字典树Trie:存储,重复走同路,否则重建一路 ## endl时间长 # **易超时 ## 队列性质 FIFO 先进先出 ## 栈性质 FILO 先进后出 # (以上两条请费心区分) ## (1)STL ## 队列:定义--queue<元素类型> 队列名 ## 栈:定义--stack<元素类型> 栈名 # (基本用法请自行了解,本人不予解释) ## (2)手搓 ## 栈不加解释--都有STL了,手搓栈实在没意义 ## 队列--代码: ### struct qu ### { ### int a[1000]; ### int head=1,tail=0; ### void push(int x) ### { ### tail++; ### a[tail]=x; ### } ### void pop() ### { ### head++; ### } ### int size() ### { ### return tail-head+1; ### } ### int front() ### { ### return a[head]; ### } ### }
Loading...
点赞
0
收藏
0