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

卡板技术支持 东莞网站建设怎么把网站放到阿里云

卡板技术支持 东莞网站建设,怎么把网站放到阿里云,网站怎么做一盘优化排名,wordpress漫画站主题Description 定义线图为把无向图的边变成点#xff0c;新图中点与点之间右边当且仅当它们对应的边在原图中有公共点#xff0c;这样得到的图。 定义弦图为不存在一个长度大于3的纯环#xff0c;纯环的定义是在环上任取两个不相邻的点#xff0c;它们之间都没有边#xff0…Description 定义线图为把无向图的边变成点新图中点与点之间右边当且仅当它们对应的边在原图中有公共点这样得到的图。 定义弦图为不存在一个长度大于3的纯环纯环的定义是在环上任取两个不相邻的点它们之间都没有边也就是不存在没有弦的环的无向图。 现在给出一棵n个点的树你可以在上面添加任意多条边不能重边要求得到的图的线图是弦图求加边的方案数。 n200000 Solution 画图可以发现一个无向图的线图是弦图的充要条件就是不存在长度大于3的环不一定是纯环 也就是说我们加边只能加成三角形并且加的边还不能交叉。 转化后的题意等价于将树上的边分成若干个集合每个集合要么是单独一条边要么是两条相邻的边问方案数。 \(O(n^2)\)的暴力呼之欲出我们记\(f[i][0/1]\)表示处理完\(i\)的子树\(i\)向父亲的这条边是否与子树内的边组合了。 转移的时候我们只需要知道所有儿子中有几个0也就是有几条边需要我们来分配。 不妨再DP预处理出一个数组\(g[i][0/1]\)表示一个点下面挂着i条边要分配集合i的父亲边是否参与的方案数。 我们考虑每次新加一条边要么自成集合要么与之前的某一个组合有\(g[i][0]g[i-1]g[i-2][0]*(i-1),g[i][1]g[i-1][0]*i\) 由于只要知道有几个0这显然可以分治NTT优化这样就做完了。 时间复杂度\(O(n\log^2 n)\) Code 以下代码未经测试完全不能保证正确性。 惨遭证伪请勿参考 #include bits/stdc.h #define fo(i,a,b) for(int ia;ib;i) #define fod(i,a,b) for(int ia;ib;--i) #define N 200005 #define M 524288 using namespace std; const int mo998244353; typedef long long LL; int n,m1,fs[N],nt[2*N],dt[2*N]; LL f[N][2],g[N]; LL ksm(LL k,LL n) {LL s1;for(;n;n1,kk*k%mo) if(n1) ss*k%mo;return s; } void link(int x,int y) {nt[m1]fs[x];dt[fs[x]m1]y; } namespace poly {int len,st[N],le[N],a[M1];int u1[M1],u2[M1],l2[M1],cf[20],wg[M1],wi[M1],ny[M1],bit[M1];void init(){fo(i,0,18) l2[cf[i](1i)]i;fod(i,M-1,2) if(!l2[i]) l2[i]l2[i1];wg[0]1,wg[1]ksm(3,(mo-1)/M);ny[1]1;fo(i,2,M) wg[i](LL)wg[i-1]*wg[1]%mo,ny[i](-(LL)ny[mo%i]*(mo/i)%momo)%mo;}void prp(int num){int pM/num,wcf[l2[num]-1];fo(i,0,num-1) bit[i](bit[i1]1)|((i1)w),wi[i]wg[i*p];}int inc(int x,int y) {xy;return(xmo)?x-mo:x;}int dec(int x,int y) {x-y;return(x0)?xmo:x;}void DFT(int *a,int num){fo(i,0,num-1) if(ibit[i]) swap(a[i],a[bit[i]]);for(int h1,lnum1;hnum;h1,l1){for(int j0;jnum;j(h1)){int *xaj,*yxh,*wwi,v;for(int i0;ih;i,x,y,wl){v(LL)(*x)*(*y)%mo;*ydec(*x,v),*xinc(*x,v);}}}}void IDFT(int *a,int num){DFT(a,num);fo(i,0,num-1) a[i](LL)a[i]*ny[num]%mo;reverse(a1,anum);}void doit(int l,int r){if(lr) return; int mid(lr)1;doit(l,mid),doit(mid1,r);int numcf[l2[le[l]le[mid1]-1]];prp(num);memset(u1,0,4*num),memset(u2,0,4*num);fo(i,0,le[l]-1) u1[i]a[st[l]i];fo(i,0,le[mid1]-1) u2[i]a[st[mid]i];DFT(u1,num),DFT(u2,num);fo(i,0,num-1) u1[i](LL)u1[i]*u2[i]%mo;IDFT(u1,num);le[l]le[mid1]-1;fo(i,0,le[l]-1) a[st[l]i]u1[i];} } using namespace poly;void dfs(int k,int fa) {for(int ifs[k];i;int[i]) {int pdt[i];if(p!fa) dfs(p,k);}len0;int cnt0;for(int ifs[k];i;int[i]){int pdt[i];if(p!fa){cnt;a[st[cnt]len]f[p][1];a[len]f[p][0];le[cnt]2;}}if(!cnt) f[k][0]1;else{doit(1,cnt);f[k][0]f[k][1]0;fo(i,0,le[1]-1){f[k][0](f[k][0](LL)a[i]*g[i])%mo;if(i) f[k][1](f[k][1](LL)a[i]*g[i-1]%mo*(LL)i)%mo;}} } int main() {cinn;fo(i,1,n-1){int x,y;scanf(%d%d,x,y);link(x,y),link(y,x);}g[0]1,g[1]1;fo(i,2,n) g[i](g[i-1]g[i-2]*(i-1))%mo;init();dfs(1,0);printf(%lld\n,f[1][0]); } 转载于:https://www.cnblogs.com/BAJimH/p/10945891.html
http://wiki.neutronadmin.com/news/232379/

相关文章:

  • 门户网站建设经济交流材料wordpress如何添加关键词和描述
  • 广州网站推广软件设计素材免费下载网站
  • 做网站按什么收费什么网站做产品销售做的好
  • 网站开发与应用专业就业方向盐城网站开发代理
  • 站长工具怎么用wordpress live chat
  • 佛山的网站建设注册安全工程师考试题库
  • 青海省建设厅勘察设计备案网站百度网站推广外包
  • 做的网站无法显示此页中信建设有限责任公司 闫励
  • 深圳注册公司需要租赁凭证吗厦门优化公司
  • 搭建网站实时访问地图网站颜色编号
  • 广州seo网站设计wordpress 腾讯验证码
  • 销售珍珠网站建设策划书福建省城乡住房建设厅网站
  • 网站建设的基本步骤是吉林市城市建设管理执法局网站
  • 福建省建设工程信息网站天津做网站选津坤科技
  • 做网站vpn多大内存企业网站建设招标文件
  • 免费建站哪个好推广网站建设花费得多少钱
  • 西安网站建设的费用如何查询网站接入信息
  • 学网站建设要多少钱成都家具公司
  • 美食网站二级页面模板新闻发布平台有哪些
  • 手机自己制作表白网站网站制作多少费用
  • 有网站做点什么好去哪找做网站的人
  • 网站建设实施计划包括福建刚刚发生大事
  • 中国建设银行官网站陕西西安网站设计制作是什么
  • asp网站发布ftp排名优化网站seo排名
  • 自己的网站服务器北京网站建设首选小峰
  • 自建站外贸平台有哪些比较好全网品牌营销
  • 网站开发需要的学历手机网站功能
  • 做网站拉广告网络营销是什么的产生主要源于网络市场的复杂性
  • 炫酷表白网站在线制作ps怎么做网站横幅广告
  • 网站做动态图片大全共享虚拟主机 几个网站