ZlycerQan和Myj大佬的NOIP模拟赛

来源:互联网 发布:linux删除用户及目录 编辑:程序博客网 时间:2024/06/05 23:07

这里写图片描述

这里写图片描述

这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述

这里写图片描述
这里写图片描述

题目来自:ZlycerQan和Myj大佬

T1

#include<iostream>#include<cstring>#include<cstdio>#include<algorithm>using namespace std;#define LL long longint a[10000010<<1],b[10000010<<1],c[10000010<<1];LL ans=0;inline void read(int &x){    x=0; int f=1; char c=getchar();    while(c>'9'||c<'0'){ if(c=='-') f=-1; c=getchar(); }    while(c>='0'&&c<='9'){ x=x*10+c-'0'; c=getchar(); }  x*=f;}int main(){    freopen("section.in","r",stdin);    freopen("section.out","w",stdout);    int x,n,d,m;    read(n),read(d);    for(int i=1;i<=n;++i){        read(x);        if(x==d) m=0;        else if(x<d) m=-1;        else if(x>d) m=1;        c[i]+=c[i-1]+m;        if(c[i]==0&&(i&1)) ++ans;        if(i&1) ans+=a[c[i]+n],++b[c[i]+n];        else if(!(i&1)) ans+=b[c[i]+n],++a[c[i]+n];    }    printf("%I64d\n",ans);    fclose(stdin);fclose(stdout);    return 0;}

T2

#include<iostream>#include<cstring>#include<cstdio>#include<cstdlib>#include<algorithm>#include<ctime>#include<map>using namespace std;map<long long,bool> mp;int a[105],b[105],n,ans;long long sum;void DFS(int now,long long sum){    if(now==n+1){        if(!mp[sum]) ++ans,mp[sum]=1;        return ;    }    if(clock()>5700){        printf("%I64d\n",ans);        fclose(stdin),fclose(stdout);        exit(0);    }    for(int j=a[now];j<=b[now];++j)        DFS(now+1,sum+j*j);}int main(){    freopen("kinds.in","r",stdin);    freopen("kinds.out","w",stdout);    scanf("%d",&n);    for(int i=1;i<=n;++i)        scanf("%d %d",&a[i],&b[i]);    DFS(1,0);    printf("%I64d\n",ans);    fclose(stdin);    fclose(stdout);    return 0;}

T3

#include<iostream>#include<cstring>#include<cstdio>#include<algorithm>using namespace std;#define MAXN 2005double sumc,ans=0;int n,x,y,k,v[MAXN],c[MAXN];void read(int &x){    x=0; int f=1; char c=getchar();    while(c>'9'||c<'0'){ if(c=='-') f=-1; c=getchar(); }    while(c>='0'&&c<='9'){ x=x*10+c-'0'; c=getchar(); } x*=f;}int main(){    freopen("yuuka.in","r",stdin);    freopen("yuuka.out","w",stdout);    read(n);    for(int i=1;i<=n;++i)        read(x),read(y),read(v[i]),read(c[i]),sumc+=c[i];    read(k);    for(int i=1;i<=n;++i)        ans+=(v[i]*sumc/(n*1.0));    printf("%.3lf\n",ans);    fclose(stdin);fclose(stdout);    return 0;}
原创粉丝点击