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

合肥做网站需要多少钱简单的seo网站优化排名

合肥做网站需要多少钱,简单的seo网站优化排名,工程师网站建设,天门建设局官方网站AT2039 [ARC060C] 高橋君とホテル / Tak and Hotelsproblemsolution - 分块code - 分块solution - 倍增code - 倍增problem luogu翻译 solution - 分块 肯定刚开始#xff0c;我们很想暴力跳过去。事件复杂度取决于数据。 肯定不做把头拿给别人砍的事 这种跳法#xff0… AT2039 [ARC060C] 高橋君とホテル / Tak and Hotelsproblemsolution - 分块code - 分块solution - 倍增code - 倍增problem luogu翻译 solution - 分块 肯定刚开始我们很想暴力跳过去。事件复杂度取决于数据。 肯定不做把头拿给别人砍的事 这种跳法让我想到了是否可以分块。 我又联想到了之前做的一道维护每个点跳出本块的下一个点信息CF1491H。 这里也这么做暴力分块。 首先维护出每个点跳一步能最远跳多少采取二分另一尺取指针做法在倍增板块实现 用来在块内暴力互跳。 然后维护出每个点最少需要跳多少步才能跳出所属块以及跳出的位置。 从每个点开始一步一步跳最多跳块长 n\sqrt{n}n​ 步就跳出块了。 后面查询的时候先把起点跳到终点的块内这一过程最多暴力跳 n\sqrt{n}n​ 个整块。 然后再暴力在一个块内跳到终点这一过程最多暴力跳块长也是 n\sqrt{n}n​ 的。 时间复杂度 O(nlog⁡nnnqn)O(n\log nn\sqrt n q\sqrt n )O(nlognnn​qn​)。 code - 分块 #include bits/stdc.h using namespace std; #define maxn 100005 int n, Q, L; int x[maxn], to[maxn], block[maxn], w[maxn], g[maxn];int find( int pos ) {int l pos 1, r n, ans pos 1;while( l r ) {int mid ( l r ) 1;if( x[mid] - x[pos] L ) ans mid, l mid 1;else r mid - 1;}return ans; }int main() {scanf( %d, n );for( int i 1;i n;i ) scanf( %d, x[i] );scanf( %d %d, L, Q );for( int i 1;i n;i ) to[i] find( i );int B sqrt( n ), cnt n / B ( n % B ! 0 );for( int i 1;i n;i ) block[i] ( i - 1 ) / B 1;for( int i 1;i n;i ) {int k i, ans 0;while( block[k] block[i] ) k to[k], ans ;w[i] ans, g[i] k;if( i B * ( cnt - 1 ) 1 ) w[i] --, g[i] --;}while( Q -- ) {int u, v, ans 0;scanf( %d %d, u, v );if( u v ) swap( u, v );while( block[u] block[v] ) ans w[u], u g[u];while( u v ) ans , u to[u];printf( %d\n, ans );}return 0; }solution - 倍增 设 fi,j:if_{i,j}:ifi,j​:i 点开始跳 2k2^k2k 步最远能跳到哪儿。 初始化就指针不断尺取扫当 iii 增加时指针只会右移时间是线性的。 fi,j←ffi,j−1,j−1f_{i,j}\leftarrow f_{f_{i,j-1},j-1}fi,j​←ffi,j−1​,j−1​ 预处理倍增数组。 后面直接跳就行了。 时间复杂度 O(qlog⁡n)O(q\log n)O(qlogn)。 code - 倍增 #include bits/stdc.h using namespace std; #define maxn 100005 int n, L, Q; int x[maxn]; int f[maxn][20];int main() {scanf( %d, n );for( int i 1;i n;i ) scanf( %d, x[i] );scanf( %d %d, L, Q );for( int i 1, k 1;i n;i ) {while( k n and x[k 1] - x[i] L ) k ;f[i][0] k;}for( int j 1;( 1 j ) n;j )for( int i 1;i ( 1 j ) - 1 n;i )f[i][j] f[f[i][j - 1]][j - 1];while( Q -- ) {int a, b, ans 0;scanf( %d %d, a, b );if( a b ) swap( a, b );for( int i 16;~ i;i -- ) if( f[a][i] and f[a][i] b ) ans ( 1 i ), a f[a][i];printf( %d\n, ans 1 );} return 0; }
http://www.pierceye.com/news/695902/

相关文章:

  • 网站用什么系统好用免费网站建设找哪家
  • 网站到期续费吗网站开发是培训
  • 别人帮做的网站怎么修改怎么做产品推广和宣传
  • 国内返利网站怎么做php建设网站工具
  • 网站设计教程文档创业商机网农村
  • 宁夏交通建设质监局官方网站免费注册二级域名的网站
  • 网站门户设计网站建设有没有做的必要
  • 建模师的就业前景整站优化工具
  • 微信公众号怎么做链接网站网站404 原因
  • 安卓手机做服务器网站网站设计时多页面切换时什么控件
  • 长沙正规网站建设价格网站推广怎么发外链
  • 专业版装修用什么网站做导航条深圳网站制作易捷网络
  • 哪个公司建设网站好手机网站维护费
  • 中山高端网站建设wordpress调用分类文章列表
  • 营销网站的专业性诊断评价和优化做视频网站需要什么资质
  • 河南广告制作公司网站西班牙语网站设计公司哪家好
  • 做业务一般要注册哪些网站wordpress prepare
  • wordpress 鼠标经过seo网站内容优化有哪些
  • 单页网站制作视频教程深圳有哪些软件外包公司
  • 嘉兴电子商务网站建设wordpress如何添加页面子目录
  • 教育在线网站怎样做直播seo网站推广怎样
  • 响应式的网站建设一个多少钱百度域名解析
  • 东莞做网站卓诚网络免费大数据分析网站
  • 网站用什么图片格式好seo学徒招聘
  • 地区网站建设网站用户反馈
  • 网站备案背景幕布下载成都最好的seo外包
  • 荆州 商务 网站建设郑州网站建设灵秀
  • 重庆市建筑工程信息官方网站注册号域名后如何建设公司网站
  • 江门网站建设junke100深圳小企业网站建设设计制作
  • 个人域名能做网站吗江苏外贸型网站制作