z.cn/wangzhan/weihu/"> 网站运营维护
  • 案例

  • 方案

  • 电商网站开发

  • 微信小程序

  • 我们

  • 联系

  • 资讯

    精准传达 • 有效沟通

    从品牌网站建设到网络营销策划,从策略到执行的一站式服务

    SRM466-创新互联

    250pt:SRM466

       给出一个数n(n <= 10^10),问至少修改几位能使其变成完全平方数。

    创新互联公司是一家专业的成都网站建设公司,我们专注做网站、成都网站建设、网络营销、企业网站建设,外链一元广告为企业客户提供一站式建站解决方案,能带给客户新的互联网理念。从网站结构的规划UI设计到用户体验提高,创新互联力求做到尽善尽美。思路:  直接枚举平方根,然后统计。  注意枚举时要枚举到比她大。。
     1 #line 7 "LotteryCheating.cpp"
     2 #include 
     3 #include 
     4 #include 
     5 #include 
     6 #include 
     7 #include 
     8 #include 
     9 #include 
    10 #include 
    11 #include 
    12 #include 
    13 #include 
    14 #include 
    15 #include 
    16 #include 
    17 #include 
    18 #include 
    19 #include 
    20 #include 
    21 #include 
    22 #include 
    23 #include 
    24 #include 
    25 using namespace std;
    26 
    27 #define PB push_back
    28 #define MP make_pair
    29 
    30 #define REP(i,n) for(i=0;i<(n);++i)
    31 #define FOR(i,l,h) for(i=(l);i<=(h);++i)
    32 #define FORD(i,h,l) for(i=(h);i>=(l);--i)
    33 
    34 typedef vector VI;
    35 typedef vector VS;
    36 typedef vector VD;
    37 typedef long long LL;
    38 typedef pair PII;
    39 
    40 
    41 class LotteryCheating
    42 {
    43 public:
    44 int bit[20], L = 0;
    45 int work(long long x){
    46   int ret = 0;
    47   for (int i = 0; i < L + 1; ++i){
    48   if (x % 10 != bit[i]) ++ret;
    49                    x /= 10;
    50              }  
    51   return ret;
    52         }
    53 int minimalChange(string ID)
    54         {
    55  int sz = ID.size();
    56                L = sz;
    57                memset(bit, 0, sizeof(bit)); 
    58  long long n = 0;
    59  for (int i = 0; i < sz; ++i)
    60                   n = n * 10 + ID[i] - 48, bit[sz-i-1] = ID[i] - 48;
    61  int ans = 100;
    62  for (long long i = 0; i * i <= n * 10; ++i)
    63                   ans = min(work(i * i), ans);
    64  return ans;   
    65           
    66         }
    67         
    68 
    69 };
    View Code500pt:   彩票上有N行5列的格子,其中有1-5*N的排列。抽奖会抽出5个数来,如果彩票上一行有超过三个抽出的数则中奖。问彩票中奖概率。思路:   直接枚举中奖的情形,那么有可能是3行 2行,1行。   对于3行,只有可能是3+1+1,   对于2行,4 + 1   对于1行,5  其他全排列即可
     1 #line 7 "LotteryPyaterochka.cpp"
     2 #include 
     3 #include 
     4 #include 
     5 #include 
     6 #include 
     7 #include 
     8 #include 
     9 #include 
    10 #include 
    11 #include 
    12 #include 
    13 #include 
    14 #include 
    15 #include 
    16 #include 
    17 #include 
    18 #include 
    19 #include 
    20 #include 
    21 #include 
    22 #include 
    23 #include 
    24 #include 
    25 using namespace std;
    26 
    27 #define PB push_back
    28 #define MP make_pair
    29 
    30 #define REP(i,n) for(i=0;i<(n);++i)
    31 #define FOR(i,l,h) for(i=(l);i<=(h);++i)
    32 #define FORD(i,h,l) for(i=(h);i>=(l);--i)
    33 
    34 typedef vector VI;
    35 typedef vector VS;
    36 typedef vector VD;
    37 typedef long long LL;
    38 typedef pair PII;
    39 
    40 
    41 class LotteryPyaterochka
    42 {
    43 public:
    44 double C(int n, int m){
    45 double ret = 1.0;
    46 for (int i = 1; i <= m; ++i)
    47                  ret *= (n - i + 1.0) / (i + .0);
    48 return ret;
    49         }
    50 double A(int n, int m){
    51 double ret = 1.0;
    52 for (int i = 1; i <= m; ++i)
    53                  ret *= (n - i + 1.0);
    54 return ret;
    55         }
    56 double chanceToWin(int N)
    57         {
    58 if (N <= 2) return 1.0;
    59 double ans = 0;
    60               ans += C(N, 1) * C(N - 1, 2) * C(5, 3) * C(5, 1) * C(5, 1) * A(5, 5);
    61               ans += C(N, 1) * C(N - 1, 1) * C(5, 3) * C(5, 2) * A(5, 5);
    62               ans += C(N, 1) * C(N - 1, 1) * C(5, 4) * C(5, 1) * A(5, 5); 
    63               ans += C(N, 1) * A(5, 5);
    64               cout << ans << endl;
    65 for (int i = 0; i < 5; ++i)
    66                  ans /= (5 * N - i + .0);
    67 return ans;  
    68         }
    69 
    70 };
    View Code
    当前标题:SRM466-创新互联
    文章源于:http://cdkjz.cn/article/djopgi.html
    多年建站经验

    多一份参考,总有益处

    联系快上网,免费获得专属《策划方案》及报价

    咨询相关问题或预约面谈,可以通过以下方式与我们联系

    大客户专线   成都:13518219792   座机:028-86922220