zoukankan      html  css  js  c++  java
  • SRM 587 DIV1

    要掉到DVI2了。。好不容这次的250那么简单,500的题知道怎么做,可惜没调出来500

    250的题很简单,从第1步到第N步,每次要么不做,要么走i步,且X不能走,问说最远走多远。

    #include <iostream>
    #include <vector>
    #include <string>
    #include <string.h>
    using namespace std;
    
    class JumpFurther {
    public:
        int furthest(int N, int badStep) {
            int sum = 0;
            for (int i = 1; i <= N; i++) {
                sum += i;
                if (sum == badStep) {
                    sum--;
                }
            }
            return sum;
        }
    };

    500的题,用g(i)表示不重叠的面积和,n(i)表示异或后的一层的面积和,则最后的答案n(0)+n(2)+...,最重要的发现是g(i)=(w + 1 - i) * f(i) - (w - i) * f(i + 1),f(i)表示一层中的一个三角形的面积,还个重点是分析出对角线被分割的比例,那个比例可以转换为宽度的比。

    #include <iostream>
    #include <vector>
    #include <string>
    #include <string.h>
    using namespace std;
    
    class TriangleXor {
    public:
        int w;
        double h(int i) {
            return w * 1.0 / (w + i);
        }
        double f(int i) {
            return w * h(i) / 2.0;
        }
        double g(int i) {
            if (i > w) {
                return 0;
            }
            return (w + 1 - i) * f(i) - (w - i) * f(i + 1);
        }
        double n(int i) {
            return g(i) - g(i + 1);
        }
        int theArea(int W) {
            w = W;
    
            double s = 0;
            for (int i = 0; i <= w; i += 2) {
                s += n(i);
            }
    
            return (int)s;
        }
    };
  • 相关阅读:
    Lombok 安装、入门
    详细解析@Resource和@Autowired的区别 , 以及@Qualifier的作用
    Spring中@Resource与@Autowired、@Qualifier的用法与区别
    springMVC整合swagger
    jetty maven插件
    【原创】Sagger使用
    Eclipse详细设置护眼背景色和字体颜色
    eclipse中相同代码的高亮显示
    Mybatis分页插件
    mybatis
  • 原文地址:https://www.cnblogs.com/litstrong/p/3232465.html
Copyright © 2011-2022 走看看