洛谷 改数
来源:互联网 发布:校园安全事件网络诈骗 编辑:程序博客网 时间:2024/05/21 07:06
题目:给出一个长度为n的整数序列a,你能改动最少的数,使之满足a[i+1]-a[i]=i(1<=i<n)么?
n<=100000 a[i]<1e9
感觉这道题的解法比较巧妙,我们深入发掘这个数列的性质,如果我们随便求一个满足递推式的b数组,假设a数组全部满足递推式,那么有a[i]-b[i]为一个定值,知道了这个性质后,我们可以记录每一个差值出现了几次,那么n-出现次数最多的差值的值即为答案。
#include<cstdio>#include<cstring>#include<algorithm>#include<map>using namespace std;#define maxn 100005map<int,int> f;int a[maxn],b[maxn],n,ans;int main(){scanf("%d",&n);for (int i=1;i<=n;i++) scanf("%d",a+i);b[1]=1;for (int i=1;i<n;i++) b[i+1]=b[i]+i;for (int i=1;i<=n;i++) {f[a[i]-b[i]]++;ans=max(ans,f[a[i]-b[i]]);}printf("%d\n",n-ans);return 0;}
0 0
- 洛谷 改数
- ORACL 改连接数
- 改:输出两个数之间的素数
- windwos server 2003下如何改大远程连接数:
- 待改 洛谷1600
- 改
- 改
- 改
- WinXP中IIS修改默认10个连接数怎么改(只能增加到40)
- d026: 从 n 个数中挑选出最大的数(改)
- 【转】小修改让点击数(浏览量)变得更随机
- uva 11151 增减改求变成回文的最小步数
- 【转】mysql5.0.x统计每秒增删改查替换数及系统每秒磁盘IO
- 【SzNOI语法百题】【d026】从 n 个数中挑选出最大的数(改)
- 备忘:CentOS-7 使用systemctrl 管理的服务,文件打开数上限1024要改
- 第39讲项目3——反序数(改)
- 改dede留言板的分页标签样式 和留言条数
- 关于bootstrap-treeview数型结构的转化及使用、增删改等操作
- 模板特例化,偏特化
- 在Docker中运行DPDK
- 安徽大学大一高数第二章习题册答案
- Intel Code Challenge Final Round (Div. 1 + Div. 2, Combined) G
- swift初学者(简单值)
- 洛谷 改数
- armcc/armlink初探
- MyEclipse2015 3.0破解
- 默认路由、浮动路由
- Spring 的基本使用(一)
- 【codeforces 731F】【前缀和 分块求和 好题】F. Video Cards
- QT入门
- 二进制中1的个数[剑指offer]之python实现
- Codeforces Round #371 (Div. 1) D. Animals and Puzzle 二维倍增 ★ ★ ★