随笔分类 - **模板总结
摘要:哈希表 简单来说$hash$表就是依据原信息建立虚点 通过临接表相连,同时记录正确信息 事实上这是一种比较随机的映射,我们通过映射的元素查询原信息 同时因为$\%mod$的原因我们的复杂度趋近$O(1)$. (csp-s模拟测试53 v) 二元组加和和比较大小
阅读全文
摘要:void work() { int t=log(n)/log(2); for(int j=1;j<=t;++j) { for(int i=1;i<=(n+1-(1<<j));++i) { f[j][i]=max(f[j-1][i],f[j-1][i+(1<<(j-1))]); f_min...
阅读全文
摘要:bool DFS(int x,int color,int r,int l,int fa) { col[x]=color; for(int i=0;ir||to<l)continue; if(col[to]==0) { if(!DFS(to,3-color,r,l,x)) return 0; ...
阅读全文
摘要:才知道vector在插入值后是可以直接修改的... 那就很简单了 用vector的lowerbound这样的二分操作,提前储存每个颜色的位置 发现交换相对位置不变 关于vector的lowerbound的讲解(感谢QAQ) 还有主席树做法(我怎么没想到.....) ps:超时了,只是存板子(它竟然卡
阅读全文
摘要:作为一道板子题放在第二题令人身心愉悦,不到一个小时码完连对拍都没打。 关于tarjan割点的注意事项: 1.在该板子中我们求的是V-DCC,而不是缩点,V-DCC最少有两个点组成,表示出掉一个块里的任意 一点及其连边,联通性不变,所以割点只是顺便标记上low[to]>=dfn[x]的点,在以后的操作
阅读全文
摘要:作为考试第一题,难度比较小,开始时忘记KMP打法,于是先做第二题了,迅速水完第二题 回来想了想,其实单论数据范围hash明显可解甚至更快 KMP时间复杂度O(n+m)即两个字符串长度 hash该题中复杂度O(n)......... 没啥可说的 hash: 1 #include<iostream> 2
阅读全文
摘要:卢卡斯定理(模数较小,且是质数) 式子C(m,n)=C(m/p,n/p)*C(m%p,n%p)%p 至于证明(我也不会QAQ,只要记住公式也该就好了)。 同时卢卡斯定理一般用于组合数取模上 1.首先当组合数取得模较大时,我们可以使用卢卡斯,也可以直接求 (只要数据范围不是很大,还能开得起数组,我们可
阅读全文
摘要:1 priority_queue >q; 2 void SPFA(ll top) 3 { 4 memset(bian,0,sizeof(bian)); 5 dis[top]=0;q.push(make_pair(0,top));bian[top]=1; 6 while(!q.empty()) 7 { 8 ll x=q.top().se...
阅读全文
摘要:这题确实水,纯板子,考试意外出错,只拿了暴力分QAQ tarjan缩点加上拓扑排序,注意这里求最短路径时不能用最小生成树 因为是单向边,不然就可能不是一个联通图了.... 1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 #i
阅读全文

浙公网安备 33010602011771号