正题


题目大意

一个长度为nnn的序列。可以选择一段区间旋转,求使得∑i=1n[ai==i]\sum_{i=1}^n[a_i==i]∑i=1n​[ai​==i]最大。


解题思路

现在序列中每隔一个插入一个#\##号(伪插入)
用gig_{i}gi​表示以中点为iii的序列翻转后能够对应的数字。

然后枚举中心点,然后从短到长枚举翻转可以对应的数组,然后统计答案。


codecodecode

#include<cstdio>
#include<algorithm>
#include<cstring>
#include<vector>
using namespace std;
const int N=500010;
int n,a[N],s[N],ans;
vector<int> g[N];
int main()
{freopen("rotate.in","r",stdin);freopen("rotate.out","w",stdout);scanf("%d",&n);for(int i=1;i<=n;i++){scanf("%d",&a[i]);g[i+a[i]].push_back(abs(a[i]-i));s[i]=s[i-1]+(a[i]==i);}for(int i=1;i<=2*n;i++)if(!g[i].empty()){sort(g[i].begin(),g[i].end());int k=g[i].size();for(int j=0;j<k;j++){int l=(i-g[i][j])/2,r=(i+g[i][j])/2;ans=max(ans,s[n]-s[r]+s[l-1]+j+1);}}printf("%d",ans);
}

jzoj6288-旋转子段【优雅的暴力】相关推荐

  1. 九校联考-长沙市一中NOIP模拟Day2T1 旋转子段(rotate)

    问题描述 ZYL有N张牌编号分别为1, 2,--,N.他把这N张牌打乱排成一排,然后他要做一次旋转使得旋转后固定点尽可能多.如果第i个位置的牌的编号为i,我们就称之为固定点. 旋转可以被认为是将其中的 ...

  2. NOIP模拟测试14「旋转子段·走格子·柱状图」

    旋转子段 连60分都没想,考试一直肝t3,t2,没想到t1最简单 我一直以为t1很难,看了题解发现也就那样 题解 性质1 一个包含a[i]旋转区间值域范围最多为min(a[i],i)----max(a ...

  3. 【字符串算法1】 再谈字符串Hash(优雅的暴力)

    [字符串算法1] 字符串Hash(优雅的暴力) [字符串算法2]Manacher算法 [字符串算法3]KMP算法 这里将讲述  [字符串算法1] 字符串Hash 老版原文: RK哈希(Rabin_Ka ...

  4. 分块详解(优雅的暴力)

    作者: hsez_yyh 链接: ​​​​​​​​​​​​​​https://blog.csdn.net/yyh_getAC/article/details/126823013 来源:湖北省黄石二中信 ...

  5. 【算法竞赛学习笔记】莫队算法-超优雅的暴力算法

    title : 莫队算法 tags : ACM,暴力 date : 2021-10-30 author : Linno 普通莫队 常用操作:分块/排序/卡常/离散化等,直接上板子. luoguP270 ...

  6. 关于旋转图片验证码的暴力思路

    旋转图片验证码涉及到两个http请求,第一个获取图片,第二个提交验证码. 在提交post请求时,需要传递x值,也就是鼠标横向滑动的距离. 破解思路: 多次提交重复请求,不断遍历x值,从1开始,每次递增 ...

  7. jzoj3508-好元素【hash,优雅的暴力】

    正题 大意 一个序列A,求满足 An+Am+Ap=Ai(n,m,p<i)An+Am+Ap=Ai(n,m,p<i) A_n+A_m+A_p=A_i(n,m,p 这个要求的 AiAiA_i的个 ...

  8. 欢乐纪中A组赛【2019.8.9】

    前言 在短暂的比赛时间中,我发现本菜鸡越是功于心计想ACACAC,越是拿不到分,所以... 我不写比赛了JOJO!JOJO!JOJO! 成绩 JJJ表示初中,HHH表示高中后面加的是几年级 RankR ...

  9. 复数可以阐释的如此优雅

    复数不仅有意义,而且可以用图示来优雅地解释 1.实函数与数轴变换 大家都认识,对于这样的初等函数,我们从小就学会使用直角坐标系来刻画它们: 它们的特点都大同小异:把实数轴对应到实数轴.然而,既然是一维 ...

最新文章

  1. 2020年Java程序员不得不学习的10大技术
  2. API 23之前的版本都是自动获取权限,而从 Android 6.0 开始添加了权限申请的需求,更加安全。
  3. 2018计算机领域大事件,吕伟:2018年计算机行业回顾
  4. vue怎么让接口带上cookie_在Vue中怎么使用cookie 之 vue-cookies
  5. 前端获取本机ip_前端开发者必须明白的浏览器工作原理
  6. Linux启动芯片的初始代码,Linux系统初始化流程(简述)
  7. HTML5 学习笔记(三)——本地存储(LocalStorage、SessionStorage、Web SQL Database)
  8. JS--------文件操作基本方法:上传/下载
  9. 使用CubeMX配置STM32L476RG,Timer触发ADC采集通过DMA搬运
  10. PSD是什么文件格式
  11. Cannot create PoolableConnectionFactory (Communications link failure due to unde
  12. 高等工程数学 —— 第四章 (1)线性方程组的直接解法与广义逆矩阵求解矛盾方程组
  13. python读取数据集csv文件_读取CSV文件并使用python提取所需的数据量
  14. MCU-LCD屏与RGB-LCD屏的区别?
  15. 智能硬件行业产品经理
  16. 程序员员为什么总是要加班呢?不加班会被开除吗?
  17. 两个开关电源可以并联使用吗开关电源有均流功能,只有开关电源有均流功能的才可以并联使用。没有的切记不可并联使用。电工之家百度快照课复制(可以把网址复制到百度搜索栏,不是http网址搜索栏)
  18. 朋友关系再好,你也别做这3件好事,彼此太沉重,早晚没知己
  19. 这些年我读过的那些经典书籍(待续)
  20. 如何排查CPU占用过高以及常见的几种情况

热门文章

  1. python变量的作用_python 变量的作用范围
  2. node.js require 自动执行脚本 并生成html,nodejs 执行脚本并实时输出
  3. ksu7对讲机调频软件_数字对讲机的群呼功能原理是什么?你了解多少?
  4. php查询类似abab,ABAB中的正则表达式匹配编号(必须相同) - php
  5. 单体 soa 微服务 区别_漫谈何时从单体架构迁移到微服务?
  6. 每天一小时python官方文档学习(一)————python的简单介绍
  7. 模块化妙用!用vue3实现一个鼠标追踪器和异步加载组件
  8. vs 2019 aspx灰色_蛇纹当道,豹纹在侧:穿成动物园是2019时尚大势?
  9. [SpringSecurity]web权限方案_自动登陆_原理分析和具体实现
  10. Java实现Huffman哈夫曼树