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

昆山市建设局网站途途外贸企业网站管理系统

昆山市建设局网站,途途外贸企业网站管理系统,免费wordpress模板下载地址,表情网站源码题目描述 给定一个长为 nnn 的序列 a1,…,ana_1,\ldots,a_na1​,…,an​#xff0c;其中对于任意的 iii 满足 1≤ai≤n1 \leq a_i \leq n1≤ai​≤n。 定义一个二元组函数如下#xff1a; f((l,r))(min⁡{al,…,ar},max⁡{al,…,ar})(l≤r)f((l,r))(\min\{a_l,\ldots,a_r\}…题目描述 给定一个长为 nnn 的序列 a1,…,ana_1,\ldots,a_na1​,…,an​其中对于任意的 iii 满足 1≤ai≤n1 \leq a_i \leq n1≤ai​≤n。 定义一个二元组函数如下 f((l,r))(min⁡{al,…,ar},max⁡{al,…,ar})(l≤r)f((l,r))(\min\{a_l,\ldots,a_r\},\max\{a_l,\ldots,a_r\})(l \leq r)f((l,r))(min{al​,…,ar​},max{al​,…,ar​})(l≤r) 你需要回答 qqq 次询问每次给定 (li,ri)(l_i,r_i)(li​,ri​)问其最少经过多少次 fff 的调用即 (l,r)→f((l,r))(l,r) \rightarrow f((l,r))(l,r)→f((l,r))使得 (li,ri)(l_i,r_i)(li​,ri​) 变成 (1,n)(1,n)(1,n)若无解请输出 -1。 题解 智慧的性质题 首先注意到f((l,r))⋃ilr−1f((i,i1))f((l,r))\bigcup_{il}^{r-1}f((i,i1))f((l,r))⋃ilr−1​f((i,i1)) 发现可以推广到fk((l,r))⋃ilr−1fk((i,i1))f^k((l,r))\bigcup_{il}^{r-1}f^k((i,i1))fk((l,r))⋃ilr−1​fk((i,i1))可以用归纳法证明 接下来的做法就容易可以想出了 设Fi,jf2i((j,j1))F_{i,j}f^{2^i}((j,j1))Fi,j​f2i((j,j1))然后倍增解决合并区间可以用线段树长度为111的线段需要特别处理 code\text{code}code #includecstdio #includealgorithm #define ll long long using namespace std; void read(int res) {res0;char chgetchar();while(ch0||ch9) chgetchar();while(0chch9) res(res1)(res3)(ch^48),chgetchar(); } const int N1e5100,B40; int n,q,a[N10]; struct seg {int l,r; }f[B10][N10]; int g[B10][N10]; seg merge(seg a,seg b){return (seg){min(a.l,b.l),max(a.r,b.r)};} struct SEG {seg t[N2|1];#define ls (p1)#define rs (p1|1)#define mid ((lr)1)void build(seg *f,int p1,int l1,int rn-1){if(lr){t[p]f[l];return;}build(f,ls,l,mid),build(f,rs,mid1,r);t[p]merge(t[ls],t[rs]);}seg query(int L,int R,int p1,int l1,int rn-1){if(LlrR) return t[p];if(Rmid) return query(L,R,ls,l,mid);else if(Lmid) return query(L,R,rs,mid1,r);else return merge(query(L,R,ls,l,mid),query(L,R,rs,mid1,r));}#undef ls#undef rs#undef mid }t[B10]; int main() { // freopen(a.in,r,stdin);read(n),read(q);if(n1){for(;q--;) printf(0\n);return 0;}for(int i1;in;i) read(a[i]);for(int i1;in;i) f[0][i](seg){min(a[i],a[i1]),max(a[i],a[i1])},g[0][i]a[i];t[0].build(f[0]);for(int j1;jB;j){for(int i1;in;i){if(f[j-1][i].lf[j-1][i].r) f[j][i](seg){g[j-1][f[j-1][i].l],g[j-1][f[j-1][i].l]};else f[j][i]t[j-1].query(f[j-1][i].l,f[j-1][i].r-1);}t[j].build(f[j]);for(int i1;in;i) g[j][i]g[j-1][g[j-1][i]];}for(int l,r;q--;){read(l),read(r);if(l1rn){printf(0\n);continue;}ll ans0;if(l!r)for(int iB;i0;i--){seg tmpt[i].query(l,r-1);if(tmp.l!1||tmp.r!n){ltmp.l,rtmp.r;ans(1lli);}if(lr) break;}if(lr) printf(-1\n);else{seg tmpt[0].query(l,r-1);if(tmp.l1tmp.rn) printf(%lld\n,ans1);else printf(-1\n);}}return 0; }
http://www.hkea.cn/news/14365892/

相关文章:

  • 网站建设方案2018在线logo制作生成免费
  • 酒店 手机网站模板金湖建设工程质量监督网站
  • 小白用网站建设工具wordpress 留言簿
  • 做网站公司哪里好加强网站技术建设
  • 做全国社保代理的网站平台建设网站公司
  • 郑州网站建设与设计湖北省市政工程建设官方网站
  • 浙江建设银行网站深圳英文网站建设去哪家
  • 收录查询站长工具徐州手机网站制作公司
  • 学校网站建设和维护情况柳州网站虚拟主机公司
  • 北京房山网站建设网易企业邮箱和个人邮箱的区别
  • 高校财务网站建设前端开发包括哪些内容
  • 株洲网站建设 李东莞网站设计出名 乐云践新
  • 微商城网站建设鄂州建设工程造价信息管理网站
  • 阿里云网站建设9元seo关于网站搜索
  • 手机网站关键编写一个android应用程序
  • 电商网站建设需要多少钱一年企业vi品牌设计公司
  • 好一点的网站建设网站被墙301怎么做
  • 建设一个交易网站要用多少钱搜索引擎营销原理是什么
  • 销售网站设计方案电销客户数据怎么买
  • 做餐饮网站邀请推广app
  • 网站开发进度计划做的网站图片不显示
  • 公司网站制作需要找广告公司么手机网站建设代码
  • 成都做公司网站wordpress弹穿登陆
  • 湘西州建设银行网站求个网站你们知道的
  • 济南建站推荐企汇优见效付款网站免费空间购买
  • 郑州彩票网站建设沈阳响应式网站建设
  • 烟台高端网站建设公司建筑模板尺寸规格有几种
  • 网站开发类参考文献进入淘宝网官网首页 淘宝
  • 深圳微信建网站网站后台网址在哪输入
  • 帝国软件怎么做网站建设银行宁德分行网站