• 多校第六场 HDU 4927 JAVA大数类+模拟


    HDU 4927

    题目大意:给定一个长度为n的序列a,每次生成一个新的序列,长度为n-1,新序列b中bi=ai+1ai,直到序列长度为1.输出最后的数。

    思路:这题实在是太晕了,比赛的时候搞了四个小时,从T到WA,唉……对算组合还是不太了解啊。如今对组合算比較什么了……

    import java.io.*;
    import java.math.*;
    import java.util.*;
    public class Main {
        public static void main(String[] args) {
            Scanner cin=new Scanner (new BufferedInputStream(System.in));
    	int t=cin.nextInt();
    	while(t-->0)
    	{
    		int n=cin.nextInt();
    		BigInteger ans=BigInteger.ZERO;
    		BigInteger mm=BigInteger.ONE;
    		for(int i=0;i<n;i++)
    		{
    			long x = cin.nextLong();
    			if(i>0) mm=mm.multiply(BigInteger.valueOf(n-i)).divide(BigInteger.valueOf(i));
    			if((i&1)>0) ans=ans.subtract(mm.multiply(BigInteger.valueOf(x)));
    			else ans=ans.add(mm.multiply(BigInteger.valueOf(x)));
    		}
    		if((n&1)==0) ans=ans.negate();
    		System.out.println(ans);
    	}
        }
    }
    

    HDU 4925 模拟

    一个隔一个的放肥料得到的苹果就是最多的了。

    #include<iostream>
    #include<cstdio>
    #include<cstring>
    #include<algorithm>
    #include<map>
    #include<queue>
    #include<set>
    #include<cmath>
    #include<bitset>
    #define mem(a,b) memset(a,b,sizeof(a))
    #define lson i<<1,l,mid
    #define rson i<<1|1,mid+1,r
    #define INF 510010
    #define maxn 400010
    using namespace std;
    typedef long long ll;
    typedef unsigned long long ull;
    int a[101][102];
    int main()
    {
        int t;
        cin>>t;
        while(t--)
        {
            int n,m,i,j;
            scanf("%d%d",&n,&m);
            for(i=0; i<n; i++)
                fill(a[i],a[i]+m,1);
            i=0;
            while(i<n)
            {
                for(j=0; j<m; j++)
                {
                    if((i&1)&&(j&1)==0) a[i][j]=0;
                    if((i&1)==0&&(j&1)) a[i][j]=0;
                }
                i++;
            }
            for(i=0; i<n; i++)
                for(j=0; j<m; j++)
                {
                    if(!a[i][j])
                    {
                        if(i-1>=0&&a[i-1][j]) a[i-1][j]*=2;
                        if(i+1>=0&&a[i+1][j]) a[i+1][j]*=2;
                        if(j-1>=0&&a[i][j-1]) a[i][j-1]*=2;
                        if(j+1>=0&&a[i][j+1]) a[i][j+1]*=2;
                    }
                }
            int sum=0;
            for(i=0;i<n;i++)
                for(j=0;j<m;j++)
                    if(a[i][j]) sum+=a[i][j];
            printf("%d
    ",sum);
        }
        return 0;
    }
    


  • 相关阅读:
    Java使用printf格式化日期
    Java时间Date类
    Java数组
    Spring Cloud Stream
    Spring Cloud Bus
    Spring Cloud Config
    api服务网关?
    SPRINGBOOT集成SWAGGER2
    MySQL锁(一)全局锁:如何做全库的逻辑备份?
    Spring的FactoryBean
  • 原文地址:https://www.cnblogs.com/gcczhongduan/p/5085567.html
Copyright © 2020-2023  润新知