zoukankan      html  css  js  c++  java
  • 2017 CCPC 1005. CaoHaha's staff

    题意:在笛卡尔坐标系下,画一个面积至少为 nn 的简单多边形,每次只能画一条边或者一个格子的对角线,问至少要画几条。

    题解:如果一个斜着的矩形长宽分别是 a, ba,b,那么它的面积是 2ab2ab。最优解肯定是离 sqrt{frac{n}{2}}2n​​​​ 很近的位置。想想 n=5n=5 时答案为什么是 77 然后在那个小范围内枚举一下就好了。

     当时做法为打表 通过边数确定最大面积 然后搜索 边数为4i的最大面积就是斜正方形 4i+1的可以多i-1个  4i+2的为i*(i+1)*2  4i+3的为a[4i+2]+i

    AC代码:

     1 #include <bits/stdc++.h>
     2 using namespace std;
     3 int a[100000];
     4 int t,n;
     5 int main()
     6 {
     7     for(int i=1;i<=25000;i++)
     8     {
     9         int x=i;
    10         int y=x*x*2;
    11         a[i*4]=y;
    12         a[i*4+1]=a[i*4]+x-1;
    13         a[i*4+2]=x*(x+1)*2;
    14         a[i*4+3]=a[i*4+2]+x;
    15     }
    16     cin>>t;
    17     while(t--)
    18     {
    19         cin>>n;
    20         for(int i=4;i<=100000;i++)
    21         {
    22             if(a[i]>=n)
    23             {
    24                 cout<<i<<endl;
    25                 break;
    26             }
    27         }
    28     }
    29     return 0;
    30 }

     

  • 相关阅读:
    第04组(64) 需求分析报告
    第04组(64) 团队展示
    结对编程作业
    Python单元测试框架 Unittest 的简单使用方法
    第一次个人编程作业
    第09组 Alpha冲刺 总结
    Swagger 工具集
    第09组 Alpha冲刺(6/6)
    第09组 Alpha冲刺(5/6)
    第09组 Alpha冲刺(4/6)
  • 原文地址:https://www.cnblogs.com/sortmin/p/7399655.html
Copyright © 2011-2022 走看看