首页 > 其他 > 详细

习题:This Message Will Self-Destruct in 5s (atcoder)(杂题)

时间:2020-05-03 23:34:32      阅读:45      评论:0      收藏:0      [点我收藏+]

题目

给出一个序列\(A\)

\(a_i+a_j=j-i(j>i)\)的个数

思路

首先我们对式子进行一波处理

\(a_i+i=j-a_j\)

看到这个东西就很熟悉了

直接用map记忆化好了

代码

#include<iostream>
#include<map>
using namespace std;
map<int,int> f;
int n;
int a[200005];
long long tot;
int main()
{
    cin>>n;
    for(int i=1;i<=n;i++)
    {
        cin>>a[i];
        f[i-a[i]]++;
    }
    for(int i=1;i<=n;i++)
    {
        tot+=f[i+a[i]];
    }
    cout<<tot;
    return 0;
}

习题:This Message Will Self-Destruct in 5s (atcoder)(杂题)

原文:https://www.cnblogs.com/loney-s/p/12824410.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!