当前位置: 首页 > news >正文

asp做企业网站很好啊自动做效果图的网站

asp做企业网站很好啊,自动做效果图的网站,在深圳的中建公司,济南全网营销型网站建设不知道这题能不能发出来#xff0c;如果不能请联系我#xff0c;我什么都会做的 题意#xff1a;给一棵 nnn 个结点的树#xff0c;每个结点有个 axbaxbaxb#xff0c;求所有根到叶子的乘积之和。系数模 998244353998244353998244353。 链的情况就是分治 NTT#xff0c…不知道这题能不能发出来如果不能请联系我我什么都会做的 题意给一棵 nnn 个结点的树每个结点有个 axbaxbaxb求所有根到叶子的乘积之和。系数模 998244353998244353998244353。 链的情况就是分治 NTT所以树上没有弱于这个的做法。 考虑链分治先对树做长链剖分然后对根所在的链分治维护两个多项式一个链上所有结点的乘积一个从区间起点往下走从区间中某个位置拐出去走到所有叶子的路径乘积之和。递归到分治树的叶子的时候就递归算原树上的轻儿子。 为了保证复杂度NTT 的长度应该开当前区间所有虚儿子的最大深度和区间长度的较大值而非区间起点的深度。这样每条链只会在链头的父亲所在的链 分治的时候贡献 O(log⁡n)\Omicron(\log n)O(logn) 次 NTT 的长度总复杂度是 O(nlog⁡2n)\Omicron(n\log^2n)O(nlog2n)并且上界很松。 第一次写封装多项式挺舒服的 #include iostream #include cstdio #include cstring #include cctype #include vector #define MAXN ((118)5) using namespace std; inline int read() {int ans0;char cgetchar();while (!isdigit(c)) cgetchar();while (isdigit(c)) ans(ans3)(ans1)(c^48),cgetchar();return ans; } const int MOD998244353; typedef long long ll; inline int add(const int x,const int y){return xyMOD? xy-MOD:xy;} inline int dec(const int x,const int y){return xy? x-yMOD:x-y;} inline int qpow(int a,int p) {int ans1;while (p){if (p1) ans(ll)ans*a%MOD;a(ll)a*a%MOD,p1;}return ans; } #define inv(x) qpow(x,MOD-2) int rt[2][24]; int r[MAXN],l,lim; inline void init(){lim1l;for (int i0;ilim;i) r[i](r[i1]1)|((i1)(l-1));} void ntt(int* a,int type) {for (int i0;ilim;i) if (ir[i]) swap(a[i],a[r[i]]);for (int L0;Ll;L){int mid1L,lenmid1;int Wnrt[type][L1];for (int s0;slim;slen){ll w1;for (int k0;kmid;k,ww*Wn%MOD){int xa[sk],yw*a[smidk]%MOD;a[sk]add(x,y),a[smidk]dec(x,y);}}}if (type){int tinv(lim);for (int i0;ilim;i) a[i](ll)a[i]*t%MOD;} } struct poly {int *a,n;inline poly():n(0){}inline poly(int x):n(x){anew int[x];memset(a,0,sizeof(int)*n);}inline poly(int x,int y):n(2){anew int[2];a[0]x,a[1]y;}inline int operator [](const int i){return a[i];}inline const int operator [](const int i)const{return a[i];} }; inline poly operator *(const poly a,const poly b) {static int ta[MAXN],tb[MAXN];poly c(a.nb.n-1);for (l0;(1l)c.n;l);init();for (int i0;ilim;i) ta[i]tb[i]0;for (int i0;ia.n;i) ta[i]a[i];for (int i0;ib.n;i) tb[i]b[i];ntt(ta,0),ntt(tb,0);for (int i0;ilim;i) ta[i](ll)ta[i]*tb[i]%MOD;ntt(ta,1);for (int i0;ic.n;i) c[i]ta[i];return c; } inline poly operator (const poly a,const poly b) {poly c(max(a.n,b.n));for (int i0;ic.n;i) c[i]add(ia.n? a[i]:0,ib.n? b[i]:0);return c; } vectorint e[MAXN]; int buf[MAXN],*tpbuf; int fa[MAXN],son[MAXN],mx[MAXN]; int *lis[MAXN]; inline int* newbuf(int x){int* ptp;tpx;return p;} void dfs(int u,int f) {fa[u]f;for (int i0;i(int)e[u].size();i)if (e[u][i]!f){dfs(e[u][i],u);if (mx[e[u][i]]mx[son[u]]) son[u]e[u][i];}mx[u]mx[son[u]]1; } void dfs(int u,int* cur) {*(lis[u]cur)u;if (son[u]) dfs(son[u],cur1);for (int i0;i(int)e[u].size();i)if (e[u][i]!fa[u]e[u][i]!son[u])dfs(e[u][i],newbuf(mx[e[u][i]])); } int rval[MAXN],gval[MAXN]; pairpoly,poly solve(int* L,int* R) {if (LR){int u*L;poly tmp;for (int i0;i(int)e[u].size();i)if (e[u][i]!fa[u]e[u][i]!son[u])tmptmpsolve(lis[e[u][i]],lis[e[u][i]]mx[e[u][i]]-1).second;if ((int)e[u].size()(fa[u]0)) tmppoly(1),tmp[0]1;return make_pair(poly(rval[u],gval[u]),poly(rval[u],gval[u])*tmp);}int* midL((R-L)1);pairpoly,poly lanssolve(L,mid),ranssolve(mid1,R);return make_pair(lans.first*rans.first,lans.first*rans.secondlans.second); } poly ans; int main() {freopen(slime.in,r,stdin);freopen(slime.out,w,stdout);rt[0][23]qpow(3,119),rt[1][23]inv(rt[0][23]);for (int i22;i0;i--){rt[0][i](ll)rt[0][i1]*rt[0][i1]%MOD;rt[1][i](ll)rt[1][i1]*rt[1][i1]%MOD;}int nread();read();for (int i1;in;i) rval[i]read();for (int i1;in;i) gval[i]read();for (int i1;in;i){int u,v;uread(),vread();e[u].push_back(v),e[v].push_back(u);}dfs(1,0);dfs(1,newbuf(mx[1]));anssolve(lis[1],lis[1]mx[1]-1).second;for (int i0;in;i) printf(%d\n,(ians.n? ans[i]:0));return 0; }
http://www.zqtcl.cn/news/514521/

相关文章:

  • 互动网站的核心技术wordpress不用插件
  • 厦门市建设工程交易中心网站怎么自己做游戏软件的app
  • 网站论文参考文献人力资源公司名称大全简单大气
  • 射阳做企业网站哪家好wordpress 进销存
  • 青海个人旅游网站建设wordpress用户名密码加密方式
  • 安徽平台网站建设找哪家wordpress首页加登录
  • 雅安市住房和城乡建设局网站湖南全程电子化服务平台官网
  • dw做的上传网站打不开网页制作培训价格
  • 工程网站怎么做广州做网站平台
  • 成都网站建设 全美深圳定制网站建设
  • 邢台网站建设与制作陕西高速公路建设集团网站
  • 太原 招聘 网站建设 技术经理关于 建设 二级网站
  • 如何做网站店铺的模板著名的响应式网站有哪些
  • 相城区建设网站做网站 设计师很
  • python网站开发好吗广州软件外包
  • 山东能源集团 网站建设对网站建设功能的情况说明
  • 网站设计个人各种类型网站建设口碑好
  • 西安巨久科技网站建设嘚嘚笔记 wordpress主推
  • 杭州利兴建设官方网站上海专业网站建设费
  • 自适应网站制作费用中国建设网官方网站企业登录
  • h5网站和传统网站区别电子商务主要学什么就业方向及前景
  • 凡科建站弊端各学院二级网站建设通报
  • 做网站怎么注册营业执照民制作网站哪家便宜
  • 临沂做进销存网站推广软件公司
  • 网站前端建设唐山网站建设托管
  • 做效果图有哪些网站seo怎么做关键词排名
  • 深圳手机网站开发什么网站可以做英语题
  • 网站优化什么意思图片展示网站
  • 建德做网站米趋外贸网站建设
  • 国外优秀的设计网站八爪鱼磁力搜索引擎