上一页 1 ··· 68 69 70 71 72 73 74 75 76 ··· 109 下一页

2019年4月28日

马拉车算法——求回文串起点hdu3294

摘要: #include using namespace std; #define maxn 500005 int p[maxn]; char s[maxn],s_new[maxn],ch[2]; int start; int init(){ int len=strlen(s); int j=2; s_new[0]='$',s_new[1]='#'; for(int i=... 阅读全文

posted @ 2019-04-28 16:31 zsben 阅读(227) 评论(0) 推荐(0) 编辑

马拉车算法——边界拓展时加限制hdu4513

摘要: #include using namespace std; #define maxn 500005 int n,p[maxn],s[maxn],s_new[maxn]; int init(){ s_new[0]=-2,s_new[1]=-1; int j=2; for(int i=0;imx) mx=i+p[i],id=i; res... 阅读全文

posted @ 2019-04-28 15:37 zsben 阅读(223) 评论(0) 推荐(0) 编辑

马拉车算法——poj3974

摘要: https://segmentfault.com/a/1190000008484167?tdsourcetag=s_pctim_aiomsg 讲的超好! poj3974 #include<iostream> #include<cstring> #include<cstdio> using names 阅读全文

posted @ 2019-04-28 14:42 zsben 阅读(174) 评论(0) 推荐(0) 编辑

非递归并查集——zoj4109

摘要: 卡常卡的我难受 非递归并查集好像写起来常数小一点 下面是完整代码 #include<bits/stdc++.h> using namespace std; #define maxn 1000005 vector<int> G[maxn]; int n,m; int F[maxn]; int Find 阅读全文

posted @ 2019-04-28 11:16 zsben 阅读(312) 评论(0) 推荐(0) 编辑

2019年4月26日

主席树+树链剖分——南昌邀请赛Distance on the tree

摘要: 学了差不多一星期的主席树+树链剖分,再来看这题发现其实是个板子题 一开始想复杂了,以为要用类似求树上第k大的树上差分思想来解决这道题,但其实树链上<=k的元素个数其实直接可以用树链剖分来求 具体是把每条树链放到主席树上询问一下求和就好了 阅读全文

posted @ 2019-04-26 00:48 zsben 阅读(168) 评论(0) 推荐(0) 编辑

2019年4月25日

trie上记忆化搜索,括号匹配——cf1152D好题!

摘要: #include<bits/stdc++.h> using namespace std; #define maxn 2005 #define ll long long #define mod 1000000007 ll n,dp[maxn][maxn]; int dfs(int i,int j){ 阅读全文

posted @ 2019-04-25 15:30 zsben 阅读(264) 评论(0) 推荐(0) 编辑

2019年4月24日

主席树套树状数组——带修区间第k大zoj2112

摘要: 一些实现上的细节 按照静态主席树建立 T[1-n] 用相同结构的树状数组 S[1-n]来维护 T[1-n] S[i]表示一棵权值线段树的根节点 update:修改位置i,必然要修改S[i],那么S[i+lowbit i]也要修改 query [l,r]:转化成前缀和问题,静态的初始主席树 T[r]- 阅读全文

posted @ 2019-04-24 22:17 zsben 阅读(443) 评论(0) 推荐(0) 编辑

卢卡斯定理——应用hdu4349

摘要: #include using namespace std; int n; int main(){ while(cin>>n){ int ans=1; while(n){ if(n&1)ans*=2; n>>=1; } cout<<ans<<endl; } } 阅读全文

posted @ 2019-04-24 20:56 zsben 阅读(141) 评论(0) 推荐(0) 编辑

可持久化线段树——区间更新hdu4348

摘要: 和线段树类似,每个结点也要打lazy标记 但是lazy标记和线段树不一样 具体区别在于可持久化后lazy-tag不用往下传递,而是固定在这个区间并不断累加,变成了这个区间固有的性质(有点像分块的标记了) update就按照这么来 查询时由于lazytag固定在区间上。所以向下查询的时候要把上层的la 阅读全文

posted @ 2019-04-24 19:56 zsben 阅读(295) 评论(0) 推荐(0) 编辑

主席树——树链上第k大spoj COT

摘要: 首先要求第k大就想到用主席树来处理 但是不能直接用树链剖分的dfs序来维护,因为一条链对应的dfs下标可能是断开的几段,无法用权值线段树来维护 那么久维护每个点到根节点的全值线段树,结点u的权值线段树记录了其到根节点路径上数值的出现次数 主席树相当于维护了一个前缀和,由树上前缀和可以分析出u->v路 阅读全文

posted @ 2019-04-24 15:51 zsben 阅读(291) 评论(0) 推荐(0) 编辑

上一页 1 ··· 68 69 70 71 72 73 74 75 76 ··· 109 下一页

导航