照常,上题目:J-甜甜圈_河南省第十三届ICPC大学生程序设计竞赛(重现赛) (nowcoder.com)

这种题,就一眼能看出来直接模拟肯定是不行的了

然后比赛的时候三个人就思考了下人生决定跳过

咳咳正经题解来了

每次移动的是一个区间,区间可以联想得到树状数组(奇怪的联想增加了!)

想象一下,把两叠甜甜圈的顶端相对

图有点随意大家将就点

然后相当于有个每次只能移动一格的指针,然后跳来跳去每次取出当前最大的甜甜圈

我们考虑建一个数组(脑子里)此时此位置有甜甜圈为1,没有为0

每次移动的步数就是指针位置和最大甜甜圈位置这个区间的数组的和

这不就是树状数组擅长的嘛

(然后有个b忘了longlong结果wa了还是队友发现的,十年oi一场空不写ll见祖宗)

管你听没听到,看就完了

#include <bits/stdc++.h>using namespace std;int n,m;
int a[200005],c[400005]; //对应原数组和树状数组
int b[200005], vis[6000007];int lowbit(int x){return x&(-x);}void updata(int i,int k){    //在i位置加上kwhile(i <= n){c[i] += k;i += lowbit(i);}
}int getsum(int i){        //求A[1 - i]的和int res = 0;while(i > 0){res += c[i];i -= lowbit(i);}return res;}int main(){ios::sync_with_stdio(false);
cin.tie(0);int n1,n2;cin>>n1>>n2;n=n1+n2;for(int i=n1;i>=1;i--){updata(i,1);cin>>a[i];b[i]=a[i];vis[a[i]]=i;}for(int i=n1+1;i<=n1+n2;i++){updata(i,1);cin>>a[i];b[i]=a[i];vis[a[i]]=i;}int flag1=n1,flag2,sum=0;sort(b+1,b+n+1);// m=n;while(m){flag2=vis[b[m]];//甜甜圈位置 if(flag2==flag1||flag2==flag1+1){updata(flag2,-1);if(flag2==flag1)  flag1--;}else if(flag2>flag1){sum+=getsum(flag2-1)-getsum(flag1);flag1=flag2-1;updata(flag2,-1);}else{sum+=getsum(flag1)-getsum(flag2);flag1=flag2-1;updata(flag2,-1);}m--;}cout<<sum<<"\n";}

j-甜甜圈(第十三届icpc河南省赛)相关推荐

  1. 2021河南省第十三届ICPC程序设计竞赛(题目.终榜.总结)

    ICPC/ACM 完整榜单 比赛题目 A. 祝融击火 B. Honeycomb C. Alice and Bob D. Connic E. Dance with stick F. 图像识别 G. El ...

  2. 河南省第十三届ICPC大学生程序设计竞赛 【部分题题解】

    比赛参加了,打的很垃圾. 霸爷说过:一个人要不是比别人大几个数量级,其实是很难比别人强的. 努力变强,到达巅峰. 目录 A: 祝融传火 E: Dance with a stick F: 图像识别 H: ...

  3. 第十三届NENUACM校赛正式赛总结

    目录 A B C D E F G H I 这次比赛主要是心态稳定,一直坚持不懈地想把题A掉,运气好就好在有很多思维题,我出的题没有用到高级点的算法. 一个点在于自己潜心研究了一点组合数学,其实并没有比 ...

  4. CQUPT第十三届ACM网赛 J. 才华横溢 题解

    样例输入: 2 2 2 2 4 5 2 3 5 样例输出: 2 5 一丶引入GCD GDC,即最大公约数.便捷求法如下. int GCD(int a,int b){return !a?b:GCD( b ...

  5. 第 45 届ICPC区域赛(南京)记录

    题在这里 K - Co-prime Permutation 题意:让你从1~n的数字序列中,选出每一个数字放到一个位置i使得gcd(a[i],i) = 1. 解:相邻的数字互质,故将需要gcd(a[i ...

  6. 胖哈勃杯第十三届CUIT校赛web300短域名工具wp及出题心得

    此题是一个短域名生成工具,某次使用google短域名的时候,发现居然还会请求域名!后面发现挺多短域名工具也会这样做,所以以此为契机. 非预期解法绕过 http://0xAC120002 这个题目,我是 ...

  7. 胖哈勃杯第十三届CUIT校赛web500wp及出题心得

    这大概是我搭建最大的环境吧,贴近实战.回路有点多,按ctf思路套路来做,还是有点麻烦. 总共用了7台服务器,虽然不需要这么多.但是还是怕搅?被穿. 前言 膜rr大佬,被rr大佬一直非预期,不过还是很开 ...

  8. CQUPT第十三届ACM网赛 H. 活动图 题解

    输入样例 6 7 3 1 4 1 5 9 1 2 7 1 3 11 2 3 13 3 4 1 3 6 19 4 5 20 5 6 1 输出样例 5 我们需要走遍整张图,故求最小生成树即可,想复杂了. ...

  9. CQUPT第十三届ACM网赛 C 高次OSU题解

    输入样例: 3 3 0.5 0.5 0.5 输出样例: 6.0 (保留一位小数) 代码: #include<bits/stdc++.h>using namespace std;double ...

最新文章

  1. linux容器怎么运行到windows,如何在 Windows 上运行 Linux 容器?
  2. 【C++】函数缺省参数的作用
  3. SpringCloud 基于OAth2.0 搭建认证授权中心_02
  4. jq ajax提交评论,织梦评论怎么改成自己的jq ajax评论
  5. 计算机专业经典书籍强烈推荐
  6. 基本数据类型包装类的使用与转换
  7. 通过Docker部署的ffmpeg进行视频分割与合并
  8. pythonpdf识别文字_python 提取pdf文字
  9. mybatis替代mysql_怎样将mybatis替换成nutz,求大神指导
  10. 史上最小白之BM25详解与实现
  11. 腾讯位置 - 服务端IP定位(结尾附视频)
  12. 日历签到 mysql_php+mysql+jquery实现日历签到功能的方法
  13. 四步骤关闭Windows10自动更新
  14. 华语乐坛十二大伤感情歌手
  15. 2011最牛高考作文:时间在流逝——上还是不上大学?
  16. 顺应数字化转型趋势化解“上云”风险,擎天Enclave保障数据安全
  17. 当敦煌月牙泉遍布Wi-Fi:一个“新型智慧城市”打开方式是这样的
  18. 微宝自动更新影视源码全解
  19. 体系结构风格——《软件工程:实践者的研究方法》第八版
  20. python复习28~29文件

热门文章

  1. JavaScript系列之ES6篇(2)
  2. vmware启动虚拟机黑屏
  3. 互联网公司校招Java面试题总结及答案——网易
  4. python token过期_Python token及token验证
  5. java毕业设计闲置物品交易系统mybatis+源码+调试部署+系统+数据库+lw
  6. LML学习打卡(总)
  7. 2012第30周国内Android应用下载动态
  8. Redis持久化,事务,主从复制
  9. gt911多点触摸实验
  10. HY的web前端day4 3.27