电子商务网站推广案例wordpress apple pro
- 作者: 五速梦信息网
- 时间: 2026年03月21日 11:22
当前位置: 首页 > news >正文
电子商务网站推广案例,wordpress apple pro,广东专业的网站制作,长沙百度提升优化Codeforces-741D(Arpa’s letter-marked tree and Mehrdad’s Dokhtar-kosh paths) 一棵根为1 的树#xff0c;每条边上有一个字符#xff08;a-v共22种#xff09;。 一条简单路径被称为Dokhtar-kosh当且仅当路径上的字符经过重新排序后可以变成一个回文串。 求每个子树中…Codeforces-741D(Arpa’s letter-marked tree and Mehrdad’s Dokhtar-kosh paths) 一棵根为1 的树每条边上有一个字符a-v共22种。 一条简单路径被称为Dokhtar-kosh当且仅当路径上的字符经过重新排序后可以变成一个回文串。 求每个子树中最长的Dokhtar-kosh路径的长度。给你n个点构成的一棵树树里面的每一条边有一个权值求出每个子树里面能通过重排构成回文串的最大路径长度. #includebits/stdc.h using namespace std; const int N5e510,M2*N; int h[N],e[M],ne[M],w[M],idx; int n,id[N],L[N],R[N],o,son[N],sz[N],dep[N],dfn[N]; int d[N],f[123],ans[N],flag; void add(int a,int b,int c){e[idx]b,w[idx]c,ne[idx]h[a],h[a]idx; } void dfs1(int u,int fa0){dep[u]dep[fa]1;dfn[u]o,id[o]u;sz[u]1;L[u]o;for(int ih[u];~i;ine[i]){int je[i];if(jfa)continue;d[j]d[u]^w[i];//d[j]表示从根节点到j的结点状态dfs1(j,u);sz[u]sz[j];if(sz[son[u]]sz[j])son[u]j;}R[u]o; } void upd(int u){if(f[d[u]])ans[u]max(ans[u],f[d[u]]-dep[u]);for(int i0;i22;i){int xd[u]^(1i);if(f[x])ans[u]max(ans[u],f[x]-dep[u]);} } void upd2(int j,int u){if(f[d[j]])ans[u]max(ans[u],fd[j]-dep[u]);for(int i0;i22;i){int xd[j]^(1i);if(f[x])ans[u]max(ans[u],fx-dep[u]);} } void cal(int u,int fa){upd(u);//先更新贡献f[d[u]]max(f[d[u]],dep[u]);//把我自己插进去for(int ih[u];~i;ine[i]){int je[i];if(json[u]||jfa)continue;for(int xL[j];xR[j];x)upd2(id[x],u);//计算子树所有节点和我构成的贡献for(int xL[j];xR[j];x)f[d[id[x]]]max(f[d[id[x]]],dep[id[x]]);//插入这颗子树的贡献} } void dfs(int u,int fa0,int keep0){for(int ih[u];~i;ine[i]){int je[i];if(jfa||json[u])continue;//先枚举轻儿子不保留dfs(j,u,0);ans[u]max(ans[u],ans[j]);}if(son[u]){//再计算重儿子保留答案int json[u];dfs(j,u,1);ans[u]max(ans[u],ans[j]);flagj;}cal(u,fa);//计算跟u节点相关的答案flag0;if(!keep)for(int iL[u];iR[u];i)f[d[id[i]]]0; } signed main(){ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);cinn;memset(h,-1,sizeof h);char c;for(int i2,j;in;i)cinjc,add(j,i,1(c-a)),add(i,j,1(c-a));dfs1(1);dfs(1);for(int i1;in;i)coutans[i] ; }阔力梯的树 用启发式合并写 #includebits/stdc.h using namespace std; #define int long long const int N1e510; int n,sz[N]; long long f[N]; vectorintg[N],son[N]; setintS[N]; void dfs(int u){sz[u]1;S[u].insert(u);for(auto j:g[u]){dfs(j);if(sz[u]sz[j])swap(sz[u],sz[j]),swap(S[u],S[j]),f[u]f[j];//这里swap有一个坑点f[j]是你最后要用的已经记录好了的不要乱动u用了j的set直接从f[j]就好了for(auto x:S[j]){auto itS[u].lower_bound(x);if(itS[u].begin())fu*(x-*it);else if(itS[u].end())it–,fu*(x-*it);else{int r*it;it–;int lit;f[u]-(r-l)(r-l);fu(x-l)(x-r)(x-r);}S[u].insert(x);}sz[u]sz[j];} }signed main(){ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);cinn;for(int i2;in;i){int fa;cinfa;g[fa].push_back(i);}dfs(1);for(int i1;in;i)coutf[i]\n; }用树链剖分写 #includebits/stdc.h using namespace std; #define int long long const int N1e510; int n,h[N],ne[N],e[N],idx; int sz[N],id[N],L[N],R[N],o,son[N],ans[N]; setintS; int f; void add(int a,int b){e[idx]b,ne[idx]h[a],h[a]idx; } void dsu(int u){sz[u]1;L[u]o,id[o]u;for(int ih[u];~i;ine[i]){int je[i];dsu(j);if(sz[j]sz[son[u]])son[u]j;sz[u]sz[j];}R[u]o; } void ins(int x){if(S.empty()){S.insert(x);return;}auto itS.lower_bound(x);if(itS.begin())f(x-it)(x-*it);else if(itS.end())it–,f(x-it)(x-*it);else{int r*it;it–;int lit;f-(r-l)(r-l);f(r-x)(r-x)(x-l)(x-l);}S.insert(x); } void dfs(int u,int keep0){for(int ih[u];~i;ine[i]){int je[i];if(json[u])continue;dfs(j,0);}if(son[u])dfs(son[u],1);for(int ih[u];~i;ine[i]){int je[i];if(json[u])continue;for(int kL[j];kR[j];k)ins(id[k]);}ins(u);ans[u]f;if(!keep)f0,S.clear(); }signed main(){ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);cinn;memset(h,-1,sizeof h);for(int i2;in;i){int fa;cinfa;add(fa,i);}dsu(1);dfs(1);for(int i1;in;i)coutans[i]\n; }F. Strange Memory #includebits/stdc.h // #define int long long using namespace std; const int N2e510,M1e65e5; int n,h[N],e[N],ne[N],idx,a[N]; int L[N],R[N],id[N],o,sz[N],son[N]; int f[2][20][M]; long long ans; void add(int a,int b){e[idx]b,ne[idx]h[a],h[a]idx; } void dsu(int u,int fa0){sz[u]1;L[u]o;id[o]u;for(int ih[u];~i;ine[i]){int je[i];if(jfa)continue;dsu(j,u);if(sz[j]sz[son[u]])son[u]j;sz[u]sz[j];}R[u]o; } void ins(int u,int k1){for(int i0;i20;i){int xui1;f[x][i][a[u]]k;} } void cal(int u,int need){for(int i0;i20;i){int xui1;ans(1lli)*(f[x^1][i][a[u]^need]);} } void dfs(int u,int fa0,int keep0){for(int ih[u];~i;ine[i]){int je[i];if(jfa||json[u])continue;dfs(j,u,0);}if(son[u])dfs(son[u],u,1);ins(u);//先去递归再插入我自己,不然会wafor(int ih[u];~i;ine[i]){int je[i];if(jfa||json[u])continue;for(int xL[j];xR[j];x)cal(id[x],a[u]);for(int xL[j];xR[j];x)ins(id[x]);}if(!keep)for(int iL[u];iR[u];i)ins(id[i],-1); }signed main(){ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);memset(h,-1,sizeof h);cinn;for(int i1;in;i)cina[i];for(int i1;in;i){int a,b;cinab;add(a,b);add(b,a);}dsu(1);dfs(1);coutans; }E. Blood Cousins Return 树上gcd(x,y)x^y的个数操作1插入新节点a[x]v,操作2合并x和y子树操作3把a[x]-v #includebits/stdc.h using namespace std; typedef long long ll; const int N3e510; int n,m,p[N],sz[N],a[N]; ll ans; vectorintg[N];//g[i]表示i可能的答案枚举i的约数存入进去 unordered_mapint,intmp[N]; int find(int x){if(p[x]x)return x;return p[x]find(p[x]); } // a^bgcd(a,b)有多少对 //a^b|a-b|gcd(a,b)void merge(int x,int y){xfind(x),yfind(y);if(xy)return;if(sz[x]sz[y])swap(mp[x],mp[y]),swap(sz[x],sz[y]);for(auto [k,v]:mp[y]){for(auto t:g[k])if(mp[x].count(t))ans(ll)mp[x][t]*v;}for(auto [k,v]:mp[y])mp[x][k]v;mp[y].clear();p[y]x;sz[x]sz[y]; } void so(int x){for(int d1;d*dx;d){if(x%d)continue;int id,jx/i,y;yx-i;if((x^y)gcd(x,y)y0)g[x].push_back(y);yxi;if((x^y)gcd(x,y)y2e5)g[x].push_back(y);if(ij)continue;yx-j;if((x^y)gcd(x,y)y0)g[x].push_back(y);yxj;if((x^y)gcd(x,y)y2e5)g[x].push_back(y);} } signed main(){ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);// for(int i1;i2e5;i)so(i);for (int i 1; i 200000; i) {for (int j i i; j 200000; j i) {if (gcd(j, i^j) i)g[j].push_back(i^j);}}cinnm;for(int i1;inm;i)p[i]i,sz[i]1;for(int i1;in;i)cina[i],mp[i][a[i]];while(m–){int op,x;cinop;if(op1){int v;cinxv;a[x]v;mp[x][v]1;}if(op2){int y;cinxy;merge(x,y);}if(op3){int v;cinxv;int ufind(x);for(auto t:g[a[x]])if(mp[u].count(t))ans-mp[u][t];mp[u][a[x]]–;a[x]v;for(auto t:g[a[x]])if(mp[u].count(t))ansmp[u][t];mp[u][a[x]];}coutans\n;} }#includebits/stdc.h // #define int long long using namespace std; const int N3e510; int n,m,a[N],p[N]; long long ans; vectorintg[N]; int find(int x){if(p[x]x)return x;return p[x]find(p[x]); } void init(){for(int i1;i2e5;i){for(int jii;j2e5;ji){if(__gcd(j,i^j)i)g[j].push_back(i^j);}} } unordered_mapint,intmp[N]; signed main(){ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);init();cinnm;for(int i1;iN;i)p[i]i;for(int i1;in;i)cina[i],mp[i][a[i]]1;while(m–){int op,x,v;cinopxv;if(op1)a[x]v,p[x]x,mp[x][v]1;if(op2){xfind(x),vfind(v);if(x!v){if(mp[x].size()mp[v].size())swap(mp[x],mp[v]);for(auto [a,c]:mp[v]){for(auto need:g[a])if(mp[x].count(need))ans(long long)c*mp[x][need];}for(auto [a,c]:mp[v])mp[x][a]c;// mp[v].clear();p[v]x;}}if(op3){int fafind(x);int c1;for(auto need:g[a[x]])if(mp[fa].count(need))ans-c*mp[fa][need];mp[fa][a[x]]–;a[x]v;for(auto need:g[a[x]])if(mp[fa].count(need))ansc*mp[fa][need];mp[fa][a[x]];}coutans\n;}}
- 上一篇: 电子商务网站体系结构有哪些?大数据精准营销
- 下一篇: 电子商务网站系统开发十堰论坛网站
相关文章
-
电子商务网站体系结构有哪些?大数据精准营销
电子商务网站体系结构有哪些?大数据精准营销
- 技术栈
- 2026年03月21日
-
电子商务网站搜索引擎设计网站开发 发送邮件功能
电子商务网站搜索引擎设计网站开发 发送邮件功能
- 技术栈
- 2026年03月21日
-
电子商务网站设计原理书籍接单做公司网站站群
电子商务网站设计原理书籍接单做公司网站站群
- 技术栈
- 2026年03月21日
-
电子商务网站系统开发十堰论坛网站
电子商务网站系统开发十堰论坛网站
- 技术栈
- 2026年03月21日
-
电子商务网站营销的方法郑州哪有做网站的公司
电子商务网站营销的方法郑州哪有做网站的公司
- 技术栈
- 2026年03月21日
-
电子商务网站硬件建设的核心前几年做那个网站致富
电子商务网站硬件建设的核心前几年做那个网站致富
- 技术栈
- 2026年03月21日






