10.30 下午考试

P76
竞赛时间: ??????????:??-??:??

题目名称
名称 he she it
输入 he.in she.in it.in
输出 he.out she.out it.out
每个测试点时限 1 秒 1 秒 1 秒
内存限制 512MB 512MB 512MB
测试点数目 10 10 10
每个测试点分值 10 10 10
是否有部分分
题目类型 传统 传统 传统

 


【问题描述】
一张长度为N的纸带, 我们可以从左至右编号为0 − N( 纸带最左端标号为
0)。 现在有M次操作, 每次将纸带沿着某个位置进行折叠, 问所有操作之后纸带
的长度是多少。
【输入格式】
第一行两个数字N, M如题意所述。
接下来一行M个整数代表每次折叠的位置。
【输出格式】
一行一个整数代表答案。
【样例输入】
5 2
3 5
【样例输出】
2
【样例解释】
树上有只鸟。
【数据规模与约定】
对于60%的数据, N, M ≤ 3000。
对于100%的数据, N ≤ 10^18, M ≤ 3000。

/*
离线做
每次折之后 都找出后面还没折的位置变到了那里
设折的位置为x,折之前位置为i
若i<=x则位置不变 
若否则变为2*x-i
并且一直保持左端点为0
若这之后右边折到0左边 则所有的点加上右边现在位置的相反数
*/
#include<iostream>
#include<cstdio>
#include<cstring>
#define LL long long
#define maxn 3010
using namespace std;
LL n,m,r;
LL w[maxn];
LL init()
{
    LL x=0,f=1;char c=getchar();
    while(c<'0'||c>'9'){if(c=='-')f=-1;c=getchar();}
    while(c>='0'&&c<='9'){x=x*10+c-'0';c=getchar();}
    return x*f;
}
int main()
{
    freopen("he.in","r",stdin);
    freopen("he.out","w",stdout);
    n=init();m=init();r=n;
    for(LL i=1;i<=m;i++)
      w[i]=init();
    for(LL i=1;i<=m;i++)
    {
        LL minn=2*w[i]-r;r=w[i];
        for(LL j=i+1;j<=m;j++)
        {
            if(w[j]<=w[i])continue;
            w[j]=2*w[i]-w[j];
        }
        if(minn<0)
        {
            r-=minn;
            for(LL j=i+1;j<=m;j++)
              w[j]-=minn;
        }
    }
    cout<<r<<endl;
    return 0;
}


【问题描述】
给你M, S, L, R, 求满足L ≤ (S × x) mod M ≤ R最小的正整数x。

【输入格式】
第一行一个数T代表数据组数。
接下来T行每行四个数代表该组数据的M, S, L, R。
【输出格式】
对于每组数据, 输出一行代表答案。 如果不存在解, 输出“ −1”。
【样例输入】
1
5 4 2 3
【 样例输出】
2
【 样例解释】
叫南小鸟。
【数据规模与约定】
对于30%的数据, 保证有解且答案不超过10^6。
对于另外20%的数据, L = R。
对于100%的数据, 1 ≤ T ≤ 100,0 ≤ M, S, L,R ≤ 10^9。

 正解暂无                                                                                                                                                                       

【问题描述】
N个人坐成一圈, 其中第K个人拿着一个球。 每次每个人会以一定的概率向
左边的人和右边的人传球。 当所有人都拿到过球之后, 最后一个拿到球的人即为
胜者。 求第N个人获胜的概率。( 所有人按照编号逆时针坐成一圈)
【输入格式】
第一行一个数T代表数据组数。
对于每组数据, 第一行两个整数N, K如题意所述。
接下来每行一个实数p代表该人将球传给右边的人的概率。
【输出格式】
对于每组数据, 一行一个实数代表答案, 保留9位小数。
【样例输入】
1
5 1
0.10
0.20
0.30
0.40
0.50
【 样例输出】
0.007692308
【 样例解释】
然后鸟是我的。
【数据规模与约定】
对于20%的数据, N ≤ 3。
对于70%的数据, T, N ≤ 100。
对于100%的数据, T ≤ 10000,1 ≤ N ≤ 100。

  正解暂无  

原文地址:https://www.cnblogs.com/dingmenghao/p/6034094.html