A:搜索好难啊根本不会啊。

  B:原题都能写挂没救了啊。考虑求出每个数作为最小值时能向左向右扩展到的最远位置,那么这段区间里的所有数就不可能作为唯一的最小值成为最优解了,否则假设可以的话这段区间里的数都能整除该数,也一定能整除之前找到的最小值,区间就可以扩展到这里。所以从左往右从右往左各扫一遍即可,注意各种细节。

  1. #include<iostream>
  2. #include<cstdio>
  3. #include<cstdlib>
  4. #include<cstring>
  5. #include<algorithm>
  6. #include<cmath>
  7. using namespace std;
  8. int read()
  9. {
  10. int x=,f=;char c=getchar();
  11. while (c<''||c>'') {if (c=='-') f=-;c=getchar();}
  12. while (c>=''&&c<='') x=(x<<)+(x<<)+(c^),c=getchar();
  13. return x*f;
  14. }
  15. #define N 500010
  16. int n,a[N],l[N],r[N],ans;
  17. struct data
  18. {
  19. int l,r;
  20. bool operator ==(const data&a) const
  21. {
  22. return l==a.l&&r==a.r;
  23. }
  24. bool operator <(const data&a) const
  25. {
  26. return l<a.l||l==a.l&&r<a.r;
  27. }
  28. }b[N];
  29. int main()
  30. {
  31. freopen("sequence.in","r",stdin);
  32. freopen("sequence.out","w",stdout);
  33. n=read();
  34. for (int i=;i<=n;i++) a[i]=read();
  35. for (int i=;i<=n;i++)
  36. {
  37. r[i]=i;
  38. while (r[i]<n&&a[r[i]+]%a[i]==) r[i]++;
  39. while (i<r[i]) r[i+]=r[i],i++;
  40. }
  41. for (int i=n;i>=;i--)
  42. {
  43. l[i]=i;
  44. while (l[i]>&&a[l[i]-]%a[i]==) l[i]--;
  45. while (i>l[i]) l[i-]=l[i],i--;
  46. }
  47. for (int i=;i<=n;i++) ans=max(ans,r[i]-l[i]);
  48. for (int i=;i<=n;i++) b[i].l=l[i],b[i].r=r[i];
  49. sort(b+,b+n+);
  50. int t=unique(b+,b+n+)-b-;n=t;
  51. int cnt=;
  52. for (int i=;i<=n;i++) if (b[i].r-b[i].l==ans) cnt++;
  53. cout<<cnt<<' '<<ans<<endl;
  54. for (int i=;i<=n;i++) if (b[i].r-b[i].l==ans) printf("%d ",b[i].l);
  55. return ;
  56. }

  C:可能连二分都不会了啊。设f[i][j]为前i行切j刀能得到的最大的最小值,转移时枚举上次切割位置二分答案算出来,复杂度n3log。然后就一直在想怎么利用各种单调性去log了,最后无果卡了一波常,最后卡进2s然后好像多拿了10分。正解直接二分答案明明非常显然啊怎么我不会啊。

  result:180 rank8

Contest 7的更多相关文章

  1. Programming Contest Problem Types

        Programming Contest Problem Types Hal Burch conducted an analysis over spring break of 1999 and ...

  2. hdu 4946 2014 Multi-University Training Contest 8

    Area of Mushroom Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) ...

  3. 2016 Multi-University Training Contest 2 D. Differencia

    Differencia Time Limit: 10000/10000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Tot ...

  4. 2016 Multi-University Training Contest 1 G. Rigid Frameworks

    Rigid Frameworks Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) ...

  5. hdu-5988 Coding Contest(费用流)

    题目链接: Coding Contest Time Limit: 2000/1000 MS (Java/Others)     Memory Limit: 65536/65536 K (Java/Ot ...

  6. ZOJ 3703 Happy Programming Contest

    偏方记录背包里的物品.....每个背包的价值+0.01 Happy Programming Contest Time Limit: 2 Seconds      Memory Limit: 65536 ...

  7. 2012 Multi-University Training Contest 9 / hdu4389

    2012 Multi-University Training Contest 9 / hdu4389 打巨表,实为数位dp 还不太懂 先这样放着.. 对于打表,当然我们不能直接打,这里有技巧.我们可以 ...

  8. 2014 Multi-University Training Contest 9#11

    2014 Multi-University Training Contest 9#11 Killing MonstersTime Limit: 2000/1000 MS (Java/Others)   ...

  9. 2014 Multi-University Training Contest 9#6

    2014 Multi-University Training Contest 9#6 Fast Matrix CalculationTime Limit: 2000/1000 MS (Java/Oth ...

  10. 校际联合Contest

    每次开一个坑都像是重新被碾压的预感 最近的新闻,以前很喜欢乔任梁的<复活>...然后他就死了...感觉我再多愁善感一点的话...就要悲伤逆流成河了吧... Contest 09/24(乐滋 ...

随机推荐

  1. 深入浅出之-route命令实战使用指南

    本博文的视频讲解已发布:http://oldboy.blog.51cto.com/2561410/1119453 缘起:本文为老男孩linux培训第七次课前考试题及参考答案,有朋友在看完http:// ...

  2. 【MYSQL命令】mysql基础命令

    1.查询MYSQL当前用户命令:select user() mysql> select user(); +------------------------+ | user() | +------ ...

  3. exe4j 使用记录(一):下载、安装及注册

    一.下载 exe4j下载地址:https://www.ej-technologies.com/download/exe4j/files 进入下载页面,可以选择exe4j版本. 选择完成后,下载即可. ...

  4. linux常用的查看设备的命令

    系统 # uname -a # 查看内核/操作系统/CPU信息  # head -n 1 /etc/issue # 查看操作系统版本 # cat /proc/cpuinfo # 查看CPU信息  # ...

  5. 在GPT格式的硬盘上,使用EFI启动的方式,安装Win7 64位系统

    Win7 sp1 原装系统,用UltraISO(软碟通) 把U 盘制成Win7 安装的启动U盘 将bootmgfw.efi和shell.efi 加到已制好启动U盘的根目录,并在efi/boot/路径下 ...

  6. 阿里与ShopRunner达成协议 联手在国内推出服务

    阿里巴巴集团与美国在线零售商 ShopRunner 达成协议,将帮助后者在中国大陆销售商品和履行订单交付产品. ShopRunner 首席战略官菲奥娜·迪亚斯(Fiona Dias)周三接受媒体采访时 ...

  7. 关于JavaScript定时器我的一些小理解

    因为自己在平时工作中,有些功能需要用到定时器,但是定时器并不像我们表边上看到的那样,所以这周末我看看书查查资料,深入研究了一下JavaScript中的定时器,那么废话不多说,下面进入我们今天的正题. ...

  8. 20个常用Linux性能监控工具/命令

    20个常用Linux性能监控工具/命令 对于 Linux/Unix 系统管理员非常有用的并且最常用的20个命令行系统监视工具.这些命令可以在所有版本的 Linux 下使用去监控和查找系统性能的实际原因 ...

  9. 【转】node.js框架比较

    我偶然间看到这篇文章,转这个文章并没有什么含义,仅仅是感觉总结的不错,对于新学node的友友们来说希望这篇文章为大家对 Node.js 后端框架选型带来一些帮助,学习不再迷茫,也是让我有个保存,以后参 ...

  10. struts2 不返回result的做法

    有时候 比如提交一个弹框的表单 提交成功后我们只是让表单关闭并不进行页面跳转,那么action 里面就returne null, 然后result 也不用配置了 版权声明:本文为博主原创文章,未经博主 ...