正题

CF1654E
luogu


正题

给你一个正整数序列,你可以让一个位置变成任意整数,问你最少修改多少个数,能使得其成为等差序列


解题思路

考虑根号分治

对于公差小于 n\sqrt{n}n​ 的,直接枚举公差,然后枚举所有点,计算首项

对于公差大于 n\sqrt{n}n​ 的,由初始序列保留下来的点相差不大于 n\sqrt{n}n​,所以枚举每个点,然后遍历后面的 n\sqrt{n}n​ 个点,计算公差


code

#include<cmath>
#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
#define ll long long
#define N 100100
using namespace std;
int n,m,ans,a[N],s[N*640];
int main()
{scanf("%d",&n);for(int i=1;i<=n;++i)scanf("%d",&a[i]);m=320;for(int i=0;i<=m;++i){for(int j=1;j<=n;++j)ans=max(ans,++s[a[j]-i*j+n*i]);for(int j=1;j<=n;++j)s[a[j]-i*j+n*i]--;}for(int i=1;i<=m;++i){for(int j=1;j<=n;++j)ans=max(ans,++s[a[j]+i*j]);for(int j=1;j<=n;++j)s[a[j]+i*j]--;}for(int i=1;i<=n;++i){for(int j=1;j<=100000/m&&i+j<=n;++j)if((a[i+j]-a[i])%j==0)ans=max(ans,++s[(a[i+j]-a[i])/j+100000]+1);for(int j=1;j<=100000/m&&i+j<=n;++j)if((a[i+j]-a[i])%j==0)s[(a[i+j]-a[i])/j+100000]--;}printf("%d",n-ans);return 0;
}

【平衡规划】Arithmetic Operations(CF1654E)相关推荐

  1. P4240-毒瘤之神的考验【莫比乌斯反演,平衡规划】

    正题 题目链接:https://www.luogu.com.cn/problem/P4240 题目大意 QQQ组数据给出n,mn,mn,m求 ∑i=1n∑j=1mφ(i×j)\sum_{i=1}^n\ ...

  2. 锦标赛排序、洪水填充算法、平衡规划

    锦标赛排序 锦标赛排序(胜者树,记录胜者) 锦标赛排序(胜者树,记录胜者) - Class Xman - 博客园 锦标赛排序(胜者树,记录胜者)_继续微笑lsj-CSDN博客_锦标赛排序 数据结构之树 ...

  3. 【平衡规划】【CF1447F2】Frequency Problem (Hard Version)

    题目 http://codeforces.com/contest/1446/problem/D2 题目大意 给你一个数组,问最长的一个区间使得这个区间的众数不唯一. n<=2×105n<= ...

  4. YbtOJ#943-平方约数【莫比乌斯反演,平衡规划】

    正题 题目链接:http://www.ybtoj.com.cn/contest/122/problem/3 题目大意 S(i)S(i)S(i)表示iii的约数个数,QQQ次询问给出n,mn,mn,m求 ...

  5. jzoj4616-[NOI2016模拟7.12]二进制的世界【平衡规划,dp】

    正题 题目大意 nnn个数,对于每个数找左边的一个数执行optoptopt操作使得答案最大,并且求有多少个数能够使得最大. 解题思路 我们设fi,jf_{i,j}fi,j​表示下一个数的后888位为i ...

  6. numpy 算术运算(Arithmetic operations)

    numpy算数运算函数 name descripe add(x1, x2[, out]) Add arguments element-wise. reciprocal(x[, out]) Return ...

  7. E. Arithmetic Operations 根号分治

    题意:1e5长的数组,ai<=1e5,问要将其变成等差数列的最小次数: 分析: 简单分析可得 -- 显然这个答案是固定的,就是原数列本来就能成为等差数列的最大个数. 但是最直接的想法是 的,一维 ...

  8. Arithmetic circuit

    1. 引言 对于只有加法门和乘法门的arithmetic circuit,可将其理解为是"一系列的乘法门+一系列表示gate输入输出关系的linear consistency equatio ...

  9. Algebraic Foundations ( Arithmetic and Algebra) CGAL 4.13 -User Manual

    理解: 本节主要介绍CGAL的代数结构和概念之间的互操作.与传统数论不同,CGAL的代数结构关注于实数轴的"可嵌入"特征.它没有将所有传统数的集合映射到自己的代数结构概念中,避免使 ...

最新文章

  1. 《Flex 3权威指南》——Adobe官方培训教材
  2. Camstasia studio渲染(生成)视频
  3. Erlang的边界检查(3)
  4. 快速将InnoDB表复制到另一个实例
  5. VMware ESXi 6.7安装配置
  6. 聊聊网易技术如何帮教育行业开出花
  7. 使用WTMPlus快速搭建发卡网
  8. SpaceVim 语言模块 lua
  9. SpringBoot 使用unoconv 在线预览 doc,doxc,xls,xlsx,ppt,pptx 文件
  10. Python编程基础06:认识程序控制结构
  11. kafka session.timeout.ms 是指消费一条数据的时间?_干货 | Kafka 内核知识梳理,附思维导图...
  12. CNN训练可视化特征图(tensorflow2.x实现)
  13. html引入思源黑体
  14. 吴怀宇 第三版 自动控制原理课后习题答案 武汉科技大学814
  15. 如何建立工程测量平面控制网?
  16. Manjaro-architect 安装指南
  17. python练习题5:货币转换 I
  18. 云计算技术基础【9】
  19. 问农事 - 菜蔬作物的节令
  20. mysql常见关键字的用法_MySQL 常用关键字用法详解

热门文章

  1. php如何将页面嵌入在另一盒子里,如何将一个盒子在显示在浏览器的正中间_html/css_WEB-ITnose...
  2. linux perl模块检测,Linux有问必答:如何用Perl检测Linux的发行版本
  3. python list转dict_python中将list转为dict
  4. 群同态基本定理证明_群论(7): 群代数, 群表示基础
  5. java实用教程——常用实用类——String类(字符串类)
  6. php phpmailer qq邮箱,QQ邮箱利用PHPmailer发送邮件
  7. 一文梳理JavaScript中常见的七大继承方案
  8. [Java基础]方法引用
  9. hdu2544 最短路-Floyd算法
  10. 数据结构与算法--翻转单词顺序