Experimental Educational Round: VolBIT Formulas Blitz

cf的一次数学场。。。

递推 C

题意:长度<=n的数只含有7或8的个数

分析:每一位都有2种可能,累加不同长度的方案数就是总方案数

组合 G

题意:将5个苹果和3个梨放进n个不同的盒子里的方案数。

分析:经典的组合题目:C(n+5-1, 5) * C(n+3-1, 3)。因为可以同一个盒子放多个苹果或梨,在n基础上多k-1个,看成每个盒子放一个。

组合 H

题意:将5个车放在n*n的棋盘上的方案数。

分析:也是经典的题目,先选行,再全排列,即C (n, 5) * A (n, 5)。

枚举 I

题意:有4种车和2*n-2个停车位,要求必须连续停n辆同种类的车,问将所有车位停满的方案数。

分析:枚举停n辆同种类车的起点,统计就好了。注意,n俩相邻的方案是3,其余是4。

数学 J

题意:问1-n里面能够被2-10全部整除的数有多少个?

分析:lcm(2, ... 10) = 2520。ans = n / lcm。

数学 K

题意:问1-n里面 能够不被[2, 10]里面任意一个数整除的数 有多少个?

分析:J题的变形,经典的容斥题目。容斥原理

import java.io.*;
import java.util.*;

public class Main   {
    public static void main(String[] args)  {
        new Main ().run ();
    }
    void run()  {
        Scanner cin = new Scanner (new BufferedInputStream (System.in));
        long n = cin.nextLong ();
        long ans = n - n / 2 - n / 3 - n / 5 - n / 7;
        ans = ans + n/(2*3) + n/(2*5) + n/(2*7) + n/(3*5) + n/(3*7) + n/(5*7);
        ans = ans - n/(2*3*5) - n/(2*3*7) - n/(2*5*7) - n/(3*5*7);
        ans = ans + n / (2 * 3 * 5 * 7);
        System.out.println (ans);
    }
}

数学 P

题意:问你n角形的面积。

分析:角度已知,只要算出蓝线占直线的比例,就能算出面积。

#include <bits/stdc++.h>

const double PI = acos (-1.0);

int main(void)  {
    int n;
    double r;
    scanf ("%d%lf", &n, &r);
    double a = 2 * PI / n;
    double ans = 0.5 * n * r * r * sin (a) * sin (a/4) / (cos (a/2) * sin (PI - a*3/4));
    printf ("%.10f
", ans);

    return 0;
}

  

编译人生,运行世界!
原文地址:https://www.cnblogs.com/Running-Time/p/5211845.html