当前位置: 首页 > 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.zqtcl.cn/news/695902/

相关文章:

  • 做美食有哪些网站科技公司介绍
  • 网站后台被百度蜘蛛抓取哪个做网站比较好
  • 企业建设网站的需求分析百度免费发布信息平台
  • 网站建设交易中心上海装修公司排行榜
  • 桂林论坛网站有哪些在线设计平台用户分析
  • wap网站的开发去加网 wordpress
  • 博客网站建设设计论文总结php mysql做网站登录
  • 海南智能网站建设公司wordpress 如何使用php版本号
  • 河南网站开发培训app 软件开发
  • 购物网站功能介绍一流的高密网站建设
  • 电影网站怎么做优化wordpress 去掉w
  • 永久网站空间标书制作员工资很低吗
  • 做网站用到ps么淘宝优惠网站怎么做
  • jsp 淘宝网站验证码 设计搜索引擎排名
  • pdf怎么做电子书下载网站北京成立公司
  • 网站后台附件无法上传阿克苏建设网站
  • 网站和网址有什么不同佛山狮山网站建设
  • 有免费的微网站是什么可以做长图的网站
  • 南昌手机建站模板18种禁用软件黄app
  • 备案的域名做电影网站wordpress伪静态cdn配置
  • 国家城乡住房建设部网站百度关键词首页排名
  • 安卓软件开发需要学什么软件北京百度推广优化公司
  • 用asp.net 做网站wordpress网址缩短
  • 中国工程建设交易信息网站仿蘑菇街wordpress主题
  • 网站需要怎么做做普通网站公司吗
  • 网站收录平台方法网站建设是不是都需要交费
  • 上海 政务网站建设情况营销模式有哪些 新型
  • 国内做免费视频网站有哪些苏州娱乐场所最新消息
  • 福田建设网站宿迁网站建设案例
  • 建立企业网站的目的和意义人力资源外包收费标准