zoukankan      html  css  js  c++  java
  • Gym

    题意:good element的定义是a[i]在1~i-1中任取三个数(可以重复)的和能等于a[i]

    思路:vis[x]标记一下任两个数的和,处理a[i]时枚举1~i-1判断vis[a[i] - a[j]]是否被标记

     1 #include <iostream>
     2 #include <cstdio>
     3 #include <fstream>
     4 #include <algorithm>
     5 #include <cmath>
     6 #include <deque>
     7 #include <vector>
     8 #include <queue>
     9 #include <string>
    10 #include <cstring>
    11 #include <map>
    12 #include <stack>
    13 #include <set>
    14 #define LL long long
    15 #define eps 1e-8
    16 #define INF 0x3f3f3f3f
    17 #define MAXN 200005
    18 using namespace std;
    19 int a[5005];
    20 bool vis[400005];
    21 int main()
    22 {
    23 #ifndef ONLINE_JUDGE
    24     freopen("in.txt", "r", stdin);
    25     //freopen("out.txt", "w", stdout);
    26 #endif // OPEN_FILE
    27     int n;
    28     scanf("%d", &n);
    29     for(int i = 1; i <= n; i++){
    30         scanf("%d", &a[i]);
    31     }
    32     int ans = 0;
    33     for(int i = 1; i <= n; i++){
    34         for(int j = 1; j <= i - 1; j++){
    35             if(!vis[a[i] - a[j] + MAXN]) continue;
    36             ans++;
    37             break;
    38         }
    39         for(int j = 1; j <= i; j++){
    40             vis[a[i] + a[j] + MAXN] = true;
    41         }
    42     }
    43     printf("%d
    ", ans);
    44 }
  • 相关阅读:
    Qt学习之路,part1
    1.获取状态栏的高度
    如何在Android Studio中上传代码到Gitee上
    关于类图
    外观模式
    关于类的实例
    SharedPreference中关于editor.apply()和editor.commit()
    活动的4种启动模式
    unittest中case批量管理
    unittest使用
  • 原文地址:https://www.cnblogs.com/macinchang/p/4733478.html
Copyright © 2011-2022 走看看