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

服装网站建设建议网络架构要求包括

服装网站建设建议,网络架构要求包括,全国各地网站开发外包,wordpress 去版权前言 day11 期望#xff1a;406030130 实际#xff1a;4003070 rnk16 挂大分了。。 T2树边不加双向#xff1a;60-0。 这什么伞兵bug啊#xff01; 整体状态也不太好#xff0c;T2死磕无果。 T1看出正解结果写不出来拉插#xff0c;乐。 题目解析 T1 网格序列406030130 实际4003070 rnk16 挂大分了。。 T2树边不加双向60-0。 这什么伞兵bug啊 整体状态也不太好T2死磕无果。 T1看出正解结果写不出来拉插乐。 题目解析 T1 网格序列grid 一开始看就不太想做的一个题。 因为对自己计数方面的能力还是不太自信。。。 还是喜欢树算法awa。 死磕T2N年后回来发现这个题有点纸老虎拉插一下不就能过吗awa 然后…拉插柿子长啥样来着… 然后就for循环40分跑路了。 关键性质一个序列合法当且仅当行最大值的最大值等于列最大值的最大值。 有了这个就不难列出答案的式子了 ans∑i1k(in−(i−1)n)(im−(i−1)m)ans\sum_{i1}^k(i^n-(i-1)^n)(i^m-(i-1)^m)ansi1∑k​(in−(i−1)n)(im−(i−1)m) 这个东西显然是一个 nm1nm1nm1 次的多项式。 直接连续选点快速插值即可 O(n)O(n)O(n) 求单点值。 求函数值的时候快速幂会炸需要线性筛把 xn,xmx^n,x^mxn,xm 这两个东西当成积性函数筛出来还是完全积性的呢 然后就做完了。 确实是不太难的一道题唉。 T2 交换游戏exchange 今日死因了属于是。 一直在想dfs序转二维数点问题但是那样的话二维线段树直接就带上两个log了。 然后就一直在寻找各种优化到方法后来整了一个差分加二维线段树合并的神奇科技拿掉了一个log却带上了18倍常数。 呵呵还不如个log。 正解感觉和NOI那道轻重边异曲同工都是利用染色来进行题意的转化。 题意从另一个角度来看就是一棵树一条边的两端点在另一棵树上形成的链之间的边是需要在考虑范围的。 然后用染色满足反过来的限制dsu on tree 维护。 确实巧妙。 T3 树的删除delete 别说这个题我还真想到LCT了。 但是我也就只看出操作1可以当成换根对于维护排名还是很茫然。 按照题解的思路这个“链”可以恰好用类似access维护虚实边的方式维护。 确实不太好想到…但是既然觉得是LCT其实应该从那个算法反过来出发想想的。 感叹出题人真是用心良苦。 代码 T1 #includebits/stdc.h using namespace std; #define ll long long #define ull unsigned long long #define debug(...) fprintf(stderr,__VA_ARGS__) #define ok debug(OK\n) inline ll read(){ll x(0),f(1);char cgetchar();while(!isdigit(c)){if(c-) f-1;cgetchar();}while(isdigit(c)){x(x1)(x3)c-0;cgetchar();}return x*f; } const int N2e6100; const int M1e6100; const int mod998244353;int n,m,k;inline ll ksm(ll x,ll k){ll res(1);while(k){if(k1) resres*x%mod;xx*x%mod;k1;}return res; }ll nmi[N],mmi[N]; int vis[N],prime[N],tot; void init(){nmi[1]mmi[1]1;for(int i2,onm2;io;i){if(!vis[i]){prime[tot]i;nmi[i]ksm(i,n);mmi[i]ksm(i,m);}for(int j1;jtotprime[j]o/i;j){int nowprime[j];nmi[now*i]nmi[now]*nmi[i]%mod;mmi[now*i]mmi[now]*mmi[i]%mod;vis[now*i]1;if(i%now0) break;}}return; } ll f[N]; ll jc[N],ni[N],pre[N],suf[N]; ll lagrange(int n,ll *y,int k){//if(kn) return y[k];jc[0]1;for(int i1;in;i) jc[i]jc[i-1]*i%mod;ni[n]ksm(jc[n],mod-2);for(int in-1;i0;i--) ni[i]ni[i1]*(i1)%mod;pre[0]1;for(int i1;in;i) pre[i]pre[i-1]*(k-imod)%mod;suf[n1]1;for(int in;i1;i--) suf[i]suf[i1]*(k-imod)%mod;ll ans(0);for(int i1;in;i){ll addy[i]*pre[i-1]%mod*suf[i1]%mod*ni[i-1]%mod*ni[n-i]%mod;//printf(i%d add%lld y%lld pre%lld suf%lld ni%lld %lld\n,i,add,y[i],pre[i-1],suf[i1],ni[i-1],ni[n-i]);if((n-i)1) ans(ansmod-add)%mod;else ans(ansadd)%mod;}return ans; }signed main(){freopen(grid.in,r,stdin);freopen(grid.out,w,stdout);nread();mread();kread();init();int onm2;for(int i1;io;i){f[i](f[i-1](nmi[i]-nmi[i-1]mod)*(mmi[i]-mmi[i-1]mod))%mod;}printf(%lld\n,lagrange(o,f,k));return 0; } /* */ T2 #includebits/stdc.h using namespace std; #define ll long long #define ull unsigned long long #define debug(...) fprintf(stderr,__VA_ARGS__) #define ok debug(OK\n) inline ll read(){ll x(0),f(1);char cgetchar();while(!isdigit(c)){if(c-) f-1;cgetchar();}while(isdigit(c)){x(x1)(x3)c-0;cgetchar();}return x*f; } const int N2e5100; const int M1e6100; const int mod998244353;int n,m,k; bool jd0;#define mid ((lr)1) #define ls (k1) #define rs (k1|1) struct node{int lc,rc,sum; }tr[N2]; node merge(node a,node b){if(!a.sum) return b;else if(!b.sum) return a;else return (node){a.lc,b.rc,a.sumb.sum-(a.rcb.lc)}; } int laz[N2]; inline void tag(int k){tr[k].lctr[k].rc0;tr[k].sum1;laz[k]0; } inline void pushdown(int k){if(laz[k]-1) return;laz[k]-1;tag(ls);tag(rs);return; } inline void pushup(int k){tr[k]merge(tr[ls],tr[rs]);return; } void change(int k,int l,int r,int p,int w){if(lr){tr[k].lctr[k].rcw;tr[k].sum1;return;}pushdown(k);if(pmid) change(ls,l,mid,p,w);else change(rs,mid1,r,p,w);pushup(k); } node ask(int k,int l,int r,int x,int y){if(xy) return (node){-1,-1,0};if(xlry) return tr[k];pushdown(k);if(ymid) return ask(ls,l,mid,x,y);else if(xmid) return ask(rs,mid1,r,x,y);else return merge(ask(ls,l,mid,x,y),ask(rs,mid1,r,x,y)); } struct tree2{vectorintv[N];void addline(int x,int y){v[x].push_back(y);v[y].push_back(x);}int hson[N],siz[N],dep[N],top[N],tim,fa[N],dfn[N],pos[N];void dfs1(int x,int f){siz[x]1;dep[x]dep[f]1;fa[x]f;for(int to:v[x]){if(tof) continue;dfs1(to,x);siz[x]siz[to];if(siz[to]siz[hson[x]]) hson[x]to; }return;}void dfs2(int x,int tp){top[x]tp;dfn[tim]x;pos[x]tim;if(hson[x]) dfs2(hson[x],tp);for(int to:v[x]){if(tofa[x]||tohson[x]) continue;dfs2(to,to);}return;}inline void add(int x){if(jd) printf( add:%d\n,x);change(1,1,n,pos[x],1);return;}inline int Lca(int x,int y){while(top[x]!top[y]){if(dep[top[x]]dep[top[y]]) swap(x,y);xfa[top[x]];}if(dep[x]dep[y]) swap(x,y);return y;}inline node find(int x,int anc,int op){if(jd) printf(find: x%d anc%d op%d\n,x,anc,op);node res(node){-1,-1,0};while(top[x]!top[anc]){resmerge(ask(1,1,n,pos[top[x]],pos[x]),res);if(jd){printf( merge: %d %d (%d %d %d)\n,top[x],x,res.lc,res.rc,res.sum);}xfa[top[x]];}resmerge(ask(1,1,n,pos[anc]op,pos[x]),res);if(jd){node oask(1,1,n,pos[anc]op,pos[x]);printf( o: (%d %d %d)\n,o.lc,o.rc,o.sum);printf( merge: %d %d (%d %d %d)\n,anc,x,res.lc,res.rc,res.sum);}return res;}inline int query(int x,int y){int lcaLca(x,y);node ufind(x,lca,0),vfind(y,lca,1);if(jd){printf(query: (%d %d) lca%d u:(%d %d %d) v:(%d %d %d)\n,x,y,lca,u.lc,u.rc,u.sum,v.lc,v.rc,v.sum);}return u.sumv.sum-(u.lcv.lc);} }t2; int ans[N],u[N],v[N]; struct tree1{vectorintv[N];void addline(int x,int y){v[x].push_back(y);v[y].push_back(x);}int hson[N],siz[N],dep[N],top[N],tim,fa[N],dfn[N],pos[N];void dfs1(int x,int f){siz[x]1;dep[x]dep[f]1;fa[x]f;for(int to:v[x]){if(tof) continue;dfs1(to,x);siz[x]siz[to];if(siz[to]siz[hson[x]]) hson[x]to; }return;}void dfs2(int x,int tp){top[x]tp;dfn[tim]x;pos[x]tim;if(hson[x]) dfs2(hson[x],tp);for(int to:v[x]){if(tofa[x]||tohson[x]) continue;dfs2(to,to);}return;}void solve(int x,int kep){for(int to:v[x]){if(tofa[x]||tohson[x]) continue;solve(to,0);}if(hson[x]) solve(hson[x],1);t2.add(x);for(int to:v[x]){if(tofa[x]||tohson[x]) continue;for(int ipos[to];ipos[to]siz[to]-1;i){int nowdfn[i];t2.add(now);}}if(fa[x]) ans[x]t2.query(x,fa[x]);if(!kep){tag(1);if(jd) printf(clear\n\n);}return;} }t1;signed main(){freopen(exchange.in,r,stdin);freopen(exchange.out,w,stdout);nread();for(int i1;in;i){u[i]read(),v[i]read();t1.addline(u[i],v[i]);}for(int i1;in;i){int xread(),yread();t2.addline(x,y);}t2.dfs1(1,0);t2.dfs2(1,1);t1.dfs1(1,0);t1.dfs2(1,1);t1.solve(1,0);for(int i1;in;i){if(t1.fa[v[i]]u[i]) swap(u[i],v[i]);printf(%d ,ans[u[i]]-1);}return 0; } /* 4 1 2 1 3 1 4 1 2 2 3 3 4 */ T3 #includebits/stdc.h using namespace std; #define ll long long #define ull unsigned long long #define debug(...) fprintf(stderr,__VA_ARGS__) #define ok debug(OK\n) inline ll read(){ll x(0),f(1);char cgetchar();while(!isdigit(c)){if(c-) f-1;cgetchar();}while(isdigit(c)){x(x1)(x3)c-0;cgetchar();}return x*f; } const int N4e5100; const int M1e6100; const int mod998244353;int n,m,k; bool jd0;int mx,s[N]; inline void add(int p,int w){if(jd) printf( val%d\n,p);for(;pmx;pp-p) s[p]w; } inline int ask(int p){int res(0);for(;p;p-p-p) ress[p];return res; }int tr[N][2],f[N],siz[N],bot[N],top[N],rev[N],val[N]; void print(){for(int i1;in;i) printf(i%d ls%d rs%d fa%d siz%d bot%d top%d\n,i,tr[i][0],tr[i][1],f[i],siz[i],bot[i],top[i]);puts(); } inline bool nroot(int x){return tr[f[x]][0]x||tr[f[x]][1]x; } inline bool which(int x){return tr[f[x]][1]x; } inline void pushup(int x){if(x){siz[x]siz[tr[x][0]]siz[tr[x][1]]1;bot[x]tr[x][1]?bot[tr[x][1]]:x;top[x]tr[x][0]?top[tr[x][0]]:x;} } inline void Rev(int x){if(x){swap(tr[x][0],tr[x][1]);swap(bot[x],top[x]);rev[x]^1;} } inline void pushdown(int x){if(rev[x]){rev[x]0;Rev(tr[x][0]);Rev(tr[x][1]);} } inline void rotate(int x){int faf[x],gfaf[fa];int dwhich(x),sontr[x][d^1];f[x]gfa;if(nroot(fa)) tr[gfa][which(fa)]x;f[fa]x;tr[x][d^1]fa;if(son){f[son]fa;}tr[fa][d]son;pushup(fa);pushup(x); } int zhan[N]; inline void splay(int x){assert(x);int top(0),y(x);zhan[top]x;while(nroot(y)) zhan[top]yf[y];while(top) pushdown(zhan[top--]);for(int fa;faf[x],nroot(x);rotate(x)){if(nroot(fa)) which(fa)which(x)?rotate(fa):rotate(x);}return; } int now; void access(int x,int op1){//assert(x);if(jd) printf(\naccess: %d\n,x);int orix;for(int y(0);x;yx,xf[x]){assert(x);splay(x);if(jd) printf( del: %d siz%d\n,x,siz[x]);add(val[bot[x]],-siz[x]);int otr[x][1];if(o){ //splay(o);//printf( o%d bot%d siz%d\n,o,bot[o],siz[o]);if(jd) printf( add: %d siz%d\n,o,siz[o]);add(val[bot[o]],siz[o]);}//splay(x);tr[x][1]y;pushup(x);}splay(ori);if(op) val[ori]now;//assert(nowbot[now]);if(jd) printf( add: %d siz%d\n,ori,siz[ori]);add(val[op?top[ori]:bot[ori]],siz[ori]);if(jd) puts(); } void makeroot(int x){access(x);splay(x);Rev(x); } vectorintv[N]; void dfs(int x,int fa){f[x]fa;for(int to:v[x]){if(to!fa) dfs(to,x);}return; } inline int rnk(int x){splay(x);int oask(val[bot[x]]-1);if(jd) printf(o%d bot%d siz%d\n,o,bot[x],siz[tr[x][1]]);osiz[tr[x][1]];return o1; } char ss[100]; signed main(){freopen(delete.in,r,stdin);freopen(delete.out,w,stdout);//freopen(a.in,r,stdin);//freopen(a.out,w,stdout);nread();mread();mxnm;nown;for(int i1;in;i){int xread(),yread();v[x].push_back(y);v[y].push_back(x);}dfs(n,0);for(int i1;in;i){val[i]i;bot[i]top[i]i;siz[i]1;add(val[i],1);}for(int i1;in;i){access(i,0);//print();}for(int i1;im;i){int opread(),xread();if(op1){//val[x]now;makeroot(x);}else printf(%d\n,rnk(x));if(jd) printf(op%d x%d\n,op,x);if(jd) print();}return 0; } /* 4 1 2 1 3 1 4 1 2 2 3 3 4 */
http://wiki.neutronadmin.com/news/220213/

相关文章:

  • 网站制作哪些公司制作何炅做的代言网站
  • 姑苏网站建设东莞网站建设怎么做
  • cdr做好排班怎么做网站专业开发网站建设哪家好
  • 广州网站seo营销模板哪些人可以做网站
  • 旅行社网站模版emlog怎么换wordpress
  • 中国空间站科幻作文1000字前端和做网站
  • 十大招聘网站排行榜商标注册网址
  • 做网站用别人图片文章会侵权吗建筑工程网络设计
  • 网站制作知名公司做网站在后台如何添加链接
  • 虚拟会员商城网站分销温州小程序开发哪家好
  • 网站建设合同中的违约责任网站入口你会回来感谢我的
  • seo整站优化外包服务好的网站建设公司
  • 大学生做兼职的网站有哪些ppp项目建设交易网站
  • 网站结构方面主要做哪些优化锦州做网站
  • 如何根据仿站做网站个人能网站建设
  • 红色文化网站建设山东建设主管部门网站
  • 网站开发一般多钱软件外包项目平台
  • 玩网页游戏的网站西安网站建设网晨雨
  • 企业网站免费建站centos wordpress
  • 好看的seo网站白宫 wordpress
  • 临沂网站改版小程序搭建需要多久
  • 帝国网站单页做301重庆市建设安全信息网
  • 企业网站开发总结做网站一月工资
  • 网站修改文案发布 php 微网站
  • 青岛高端网站建设公司wordpress 301重定向插件
  • 青海住房和建设厅网站做网站要求什么软件
  • 微营销 网站模板福田网站建设报价
  • 做响应式网站的体会企业网站管理系统设计报告
  • 上海网站建设找缘魁营销策略怎么写范文
  • 网站建设入门培训专做医药中间体的网站