2019暑假训练日常收获1

58 阅读1分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

  1. 用c++判断一个数是否超过 long long的小技巧,前段时间做了一道题目,这道题目可能爆long long ,但是知道爆 long long 之后应该输出什么,所以可以用这种方式:
long long x;
scanf("%lld", &x);
if(x < 0) puts("long long");

但是需要注意的是:  cin 不可以,如果用 cin>>x 且输入的数字超过了 long long ,x的值是空。

题目:

C - Cindy

HDU - 5879

AC代码:

#include<bits/stdc++.h>
#define up(i, x, y) for(int i = x; i <= y; i++)
#define down(i, x, y) for(int i = x; i >= y; i--)
#define maxn ((int)1e6 + 10)
#define INF 0x3f3f3f3f
using namespace std;
typedef long long ll;
int len = 0;
double ans[maxn];
void init()
{
    double t = 0.0;
    for(ll i = 1; i <= maxn - 5; i += 1)
    {
        t += 1.0 / (i * i);
        ans[++len] = t;
    }

}
int main()
{
    init();
    ll n; while(~scanf("%lld", &n))
    {
        if(n < 0) n = len;
        if(n > len) printf("%.5f\n", ans[len]);
        else printf("%.5f\n", ans[n]);
    }
}

2.  ...