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

威海网站优化推广商务网页设计与制作第二版答案

威海网站优化推广,商务网页设计与制作第二版答案,网站怎么吸引流量,十大国际贸易公司排名比赛链接 反思 T1 奇怪的贪心和构造题一直是我的软肋部分 T2 简单题 T3 也不难 T4 套路没学过#xff0c;感觉还是太菜了 题解 A 考虑先给图随便染色#xff0c;然后调整 因为每个点的度数为 3 3 3#xff0c;所以如果有 x → u → v x\to u\to v x→u→v 的颜…比赛链接 反思 T1 奇怪的贪心和构造题一直是我的软肋部分 T2 简单题 T3 也不难 T4 套路没学过感觉还是太菜了 题解 A 考虑先给图随便染色然后调整 因为每个点的度数为 3 3 3所以如果有 x → u → v x\to u\to v x→u→v 的颜色全部相同那么修改 u u u 的颜色一定能使 u u u 符合条件然后就用队列存储调整的点一直调整即可 估算一下时间复杂度是 O ( n ) O(n) O(n) 级别的肯定不会调整很多次 #include bits/stdc.h #define pb push_back using namespace std; const int N200100; int col[N],deg[N]; bool inq[N]; vectorint G[N]; queueint que; inline int read(){int FF0,RR1;char chgetchar();for(;!isdigit(ch);chgetchar()) if(ch-) RR-1;for(;isdigit(ch);chgetchar()) FF(FF1)(FF3)ch-48;return FF*RR; } void upd(int x){deg[x]0;for(int v:G[x]) if(col[v]col[x]) deg[x];if(deg[x]2!inq[x]) inq[x]1,que.push(x); } void work(){int nread(),mread();while(!que.empty()) que.pop();for(int i1;in;i) G[i].clear(),inq[i]0;for(int i1;im;i){int xread(),yread();G[x].pb(y),G[y].pb(x);}for(int i1;in;i) col[i]0;for(int i1;in;i) upd(i);int cnt0;while(!que.empty()){int uque.front();que.pop();inq[u]0;if(deg[u]2) continue;cnt;if(cntm) break;col[u]^1;upd(u);for(int v:G[u]) upd(v);}if(!que.empty()) puts(GG);else{for(int i1;in;i) printf(%d ,col[i]);puts();return;} } int main(){freopen(classical.in,r,stdin);freopen(classical.out,w,stdout);int Tread();while(T--) work();fprintf(stderr,%d ms\n,int(1e3*clock()/CLOCKS_PER_SEC));return 0; } B 感觉这才是本场比赛的签到题 可以发现操作类似冒泡排序然后手玩一下样例发现答案为逆序对数 无解情况判一下奇偶性即可 时间复杂度 O ( n l o g n ) O(nlogn) O(nlogn) #include bits/stdc.h #define lowbit(x) x-x using namespace std; typedef long long LL; typedef pairint,int pii; const int N1000100; int n,p[N],tr[N],a[2][N],b[2][N]; pii pos[N]; inline int read(){int FF0,RR1;char chgetchar();for(;!isdigit(ch);chgetchar()) if(ch-) RR-1;for(;isdigit(ch);chgetchar()) FF(FF1)(FF3)ch-48;return FF*RR; } void add(int x){ for(;xn;xlowbit(x)) tr[x];} int ask(int x){int res0;for(;x;x-lowbit(x)) restr[x];return res; } int main(){freopen(rotate.in,r,stdin);freopen(rotate.out,w,stdout);nread();for(int i1;in;i) a[0][i]read();for(int i1;in;i) a[1][i]read();for(int i1;in;i) b[0][i]read();for(int i1;in;i) b[1][i]read();for(int i1;in;i) pos[b[0][i]]{0,i},pos[b[1][i]]{1,i};//check -1for(int i1;in;i){int xa[0][i];if(!pos[x].firstpos[x].secondi) continue;if(((pos[x].first-i)1)!(pos[x].second1)){ puts(-1);exit(0);}}for(int i1;in;i) p[i]pos[a[0][i]].second;LL ans0;for(int in;i1;i--) ansask(p[i]),add(p[i]);printf(%lld\n,ans);fprintf(stderr,%d ms\n,int(1e3*clock()/CLOCKS_PER_SEC));return 0; } C 这道题最重要的想法是分治 考虑对于左上角 ( x 1 , y 1 ) (x_1,y_1) (x1​,y1​)右下角 ( x 2 , y 2 ) (x_2,y_2) (x2​,y2​) 的矩形求出覆盖矩形内所有 1 1 1 的方案数这可以枚举行和列的分割线递归下去求解 时间复杂度 O ( n 5 ) O(n^5) O(n5)需要加一些剪枝就能卡过去了 #include bits/stdc.h using namespace std; bool Mbe; const int N65; int n,s[N][N],f[N][N][N][N]; bool a[N][N]; char str[N]; inline int read(){int FF0,RR1;char chgetchar();for(;!isdigit(ch);chgetchar()) if(ch-) RR-1;for(;isdigit(ch);chgetchar()) FF(FF1)(FF3)ch-48;return FF*RR; } inline void chkmin(int x,int y){ if(yx) xy;} int calc(int lx,int ly,int rx,int ry){ return s[rx][ry]-s[lx-1][ry]-s[rx][ly-1]s[lx-1][ly-1];} int solve(int lx,int ly,int rx,int ry){auto tf[lx][ly][rx][ry];if(t!-1) return t;if(!calc(lx,ly,rx,ry)){ t0;return 0;}if(rx-lx1ry-ly1){bool flg1;for(int ily;iry;i) if(!calc(lx,i,rx,i)){ flg0;break;}if(flg){ try-ly1;return t;}}else{bool flg1;for(int ilx;irx;i) if(!calc(i,ly,i,ry)){ flg0;break;}if(flg){ trx-lx1;return t;}}tmax(rx-lx1,ry-ly1);//枚举分割线for(int ilx;irx;i){int tmpsolve(lx,ly,i,ry);if(tmpt) chkmin(t,tmpsolve(i1,ly,rx,ry));}for(int jly;jry;j){int tmpsolve(lx,ly,rx,j);if(tmpt) chkmin(t,tmpsolve(lx,j1,rx,ry));}return t; } bool Med; int main(){freopen(detection.in,r,stdin);freopen(detection.out,w,stdout);// fprintf(stderr,%.3lf MB\n,(Mbe-Med)/1048576.0);nread();for(int i1;in;i){scanf(%s,str1);for(int j1;jn;j) a[i][j]str[j]T;}for(int i1;in;i) for(int j1;jn;j) s[i][j]s[i-1][j]s[i][j-1]-s[i-1][j-1]a[i][j];memset(f,-1,sizeof(f));printf(%d\n,solve(1,1,n,n));fprintf(stderr,%d ms\n,int(1e3*clock()/CLOCKS_PER_SEC));return 0; } D 感觉是套路题 首先 O ( n 2 ) O(n^2) O(n2) 的树形 d p dp dp 是好做的 考虑 k 1 k1 k1 的部分分这一部分有一个经典的想法考虑答案即为 ∏ s i z 每一个联通快 \prod siz_{每一个联通快} ∏siz每一个联通快​直接做仍是 O ( n 2 ) O(n^2) O(n2) 的重要考虑它的组合意义即为在每个连通块内选一个点的方案数这个可以令 f i , 0 / 1 f_{i,0/1} fi,0/1​ 表示 i i i 所在的连通块是否选过点的方案和时间复杂度 O ( n ) O(n) O(n)期望得分 50 p t s 50pts 50pts 考虑一步转化是 s k ∑ i 0 k { k i } s i ‾ ∑ i 0 k { k i } ( s i ) i ! s^k\sum\limits_{i0}^{k}{k\brace i}s^{\underline{i}}\sum\limits_{i0}^{k}{k\brace i}\binom{s}{i}i! ski0∑k​{ik​}si​i0∑k​{ik​}(is​)i! 考虑 { k i } k\brace i {ik​} 和 i ! i! i! 都是好算的主要是 ( s i ) \binom{s}{i} (is​)这个可以根据组合意义用 d p dp dp 计算即令 f i , j f_{i,j} fi,j​ 为 i i i 的联通快内选 j j j 个点的方案和但 j ≤ k j\le k j≤k所以时间复杂度 O ( n k ) O(nk) O(nk) #include bits/stdc.h using namespace std; const int N100100,K110,P1e97; int n,m,fac[K],siz[N],t[K]; int e[N],ne[N],h[N],idx; int stir2[K][K]; int f[N][K],g[N]; inline int read(){int FF0,RR1;char chgetchar();for(;!isdigit(ch);chgetchar()) if(ch-) RR-1;for(;isdigit(ch);chgetchar()) FF(FF1)(FF3)ch-48;return FF*RR; } void add(int x,int y){ e[idx]y,ne[idx]h[x],h[x]idx;} void dfs(int u){f[u][0]f[u][1]1,siz[u]1;for(int ih[u];~i;ine[i]){int ve[i];dfs(v);for(int j0;jmin(m,siz[u]siz[v]);j) t[j]0;for(int j0;jsiz[u];j) t[j]1ll*f[u][j]*g[v]%P;// for(int j0;jm;j) coutt[j] ;cout\n;for(int j0;jsiz[u];j) for(int k0;kmin(siz[v],m-j);k)t[jk](t[jk]1ll*f[u][j]*f[v][k])%P;siz[u]min(m,siz[u]siz[v]);for(int j0;jsiz[u];j) f[u][j]t[j];}for(int i0;im;i) g[u](g[u]1ll*stir2[m][i]*fac[i]%P*f[u][i])%P; } int main(){freopen(calc.in,r,stdin);freopen(calc.out,w,stdout);nread(),mread();stir2[0][0]1;for(int i1;im;i)for(int j1;ji;j) stir2[i][j](stir2[i-1][j-1]1ll*j*stir2[i-1][j])%P;fac[0]1;for(int i1;im;i) fac[i]1ll*fac[i-1]*i%P;memset(h,-1,sizeof(h));for(int i2;in;i) add(read(),i);dfs(1);printf(%d\n,g[1]);fprintf(stderr,%d ms\n,int(1e3*clock()/CLOCKS_PER_SEC));return 0; }
http://www.hkea.cn/news/14521818/

相关文章:

  • 建设部网站查询造价师证件柳州网站建设33
  • 知名网站建设北京的网站设计
  • 宁夏网站建设一条龙手机制作网站免费
  • 免费的站外推广2021年室内设计公司全国排名百强
  • 网站源代码下载工具什么关键词可以搜到那种
  • 新网站建设的工作各大网站流量排名
  • 手机网站导航栏特效网站排名突然下降解决
  • 蜂蜜做的好网站或案例沈阳新民网站建设
  • 如何制作家具网站网站建设策划书 范文
  • 四川城乡建设网网站昆明优化广告公司
  • 建设网站的价格是多少钱郑州 发布会
  • 购物网站建设课程设计网站开发发送短信
  • 百度推广帮做网站建设厅网站174号文
  • 江苏省建设工人考勤网站在线qq登录无需下载
  • 平顶山北京网站建设自己怎么做网站购买空间
  • 电子商务网站的后台管理系统关键词排名优化公司成都
  • 上海网站建设规划嘉兴网站建设咨询
  • 福田做网站价格网站建设公司公司我我提供一个平台
  • 国际贸易网站有哪些美丽乡村 网站建设
  • 怎么使用wordpress建站wordpress做微信登录页面模板
  • 手机网站开发session邯山手机网站建设
  • 企业网站php模板eclipse怎么做网页
  • 网站建设网站软件有哪些方面设计师互联网
  • 网站设计项目海南网址
  • 动态asp.net网站开发植物染企业解决方案
  • 广州模板网站建设wordpress怎么加栏目
  • 保山市网站建设wordpress开发商
  • 别人恶意点击我们竞价网站中国建设银行舟山分行网站
  • 中企高呈网站建设报考项目经理证需要什么条件
  • 建材 网站 模板洛阳网站建设启辰网络