【平衡规划】Arithmetic Operations(CF1654E)
正题
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)相关推荐
- P4240-毒瘤之神的考验【莫比乌斯反演,平衡规划】
正题 题目链接:https://www.luogu.com.cn/problem/P4240 题目大意 QQQ组数据给出n,mn,mn,m求 ∑i=1n∑j=1mφ(i×j)\sum_{i=1}^n\ ...
- 锦标赛排序、洪水填充算法、平衡规划
锦标赛排序 锦标赛排序(胜者树,记录胜者) 锦标赛排序(胜者树,记录胜者) - Class Xman - 博客园 锦标赛排序(胜者树,记录胜者)_继续微笑lsj-CSDN博客_锦标赛排序 数据结构之树 ...
- 【平衡规划】【CF1447F2】Frequency Problem (Hard Version)
题目 http://codeforces.com/contest/1446/problem/D2 题目大意 给你一个数组,问最长的一个区间使得这个区间的众数不唯一. n<=2×105n<= ...
- YbtOJ#943-平方约数【莫比乌斯反演,平衡规划】
正题 题目链接:http://www.ybtoj.com.cn/contest/122/problem/3 题目大意 S(i)S(i)S(i)表示iii的约数个数,QQQ次询问给出n,mn,mn,m求 ...
- jzoj4616-[NOI2016模拟7.12]二进制的世界【平衡规划,dp】
正题 题目大意 nnn个数,对于每个数找左边的一个数执行optoptopt操作使得答案最大,并且求有多少个数能够使得最大. 解题思路 我们设fi,jf_{i,j}fi,j表示下一个数的后888位为i ...
- numpy 算术运算(Arithmetic operations)
numpy算数运算函数 name descripe add(x1, x2[, out]) Add arguments element-wise. reciprocal(x[, out]) Return ...
- E. Arithmetic Operations 根号分治
题意:1e5长的数组,ai<=1e5,问要将其变成等差数列的最小次数: 分析: 简单分析可得 -- 显然这个答案是固定的,就是原数列本来就能成为等差数列的最大个数. 但是最直接的想法是 的,一维 ...
- Arithmetic circuit
1. 引言 对于只有加法门和乘法门的arithmetic circuit,可将其理解为是"一系列的乘法门+一系列表示gate输入输出关系的linear consistency equatio ...
- Algebraic Foundations ( Arithmetic and Algebra) CGAL 4.13 -User Manual
理解: 本节主要介绍CGAL的代数结构和概念之间的互操作.与传统数论不同,CGAL的代数结构关注于实数轴的"可嵌入"特征.它没有将所有传统数的集合映射到自己的代数结构概念中,避免使 ...
最新文章
- 《Flex 3权威指南》——Adobe官方培训教材
- Camstasia studio渲染(生成)视频
- Erlang的边界检查(3)
- 快速将InnoDB表复制到另一个实例
- VMware ESXi 6.7安装配置
- 聊聊网易技术如何帮教育行业开出花
- 使用WTMPlus快速搭建发卡网
- SpaceVim 语言模块 lua
- SpringBoot 使用unoconv 在线预览 doc,doxc,xls,xlsx,ppt,pptx 文件
- Python编程基础06:认识程序控制结构
- kafka session.timeout.ms 是指消费一条数据的时间?_干货 | Kafka 内核知识梳理,附思维导图...
- CNN训练可视化特征图(tensorflow2.x实现)
- html引入思源黑体
- 吴怀宇 第三版 自动控制原理课后习题答案 武汉科技大学814
- 如何建立工程测量平面控制网?
- Manjaro-architect 安装指南
- python练习题5:货币转换 I
- 云计算技术基础【9】
- 问农事 - 菜蔬作物的节令
- mysql常见关键字的用法_MySQL 常用关键字用法详解
热门文章
- php如何将页面嵌入在另一盒子里,如何将一个盒子在显示在浏览器的正中间_html/css_WEB-ITnose...
- linux perl模块检测,Linux有问必答:如何用Perl检测Linux的发行版本
- python list转dict_python中将list转为dict
- 群同态基本定理证明_群论(7): 群代数, 群表示基础
- java实用教程——常用实用类——String类(字符串类)
- php phpmailer qq邮箱,QQ邮箱利用PHPmailer发送邮件
- 一文梳理JavaScript中常见的七大继承方案
- [Java基础]方法引用
- hdu2544 最短路-Floyd算法
- 数据结构与算法--翻转单词顺序