zoukankan      html  css  js  c++  java
  • codeforces#571Div2 D---Vus the Cossack and Numbers【贪心】

    题目http://codeforces.com/contest/1186/problem/D

    题意:给定一个大小为$n$的浮点序列,这$n$个数的和为0.

    现在对这个序列中的每个数,进行向上取整或向下取整的操作,使得得到的整数序列之和也是0.

    思路:假设我们现在的某一种取法得到的和是$ans$,那么改变其中一个数的取法对$ans$的改变可能是+1或是-1

    所以我们想随便按照某种方法得到一个结果,再进行调整就可以了。

    最简单的就是我们全部先取整数部分,如果此时的$ans>0$说明负数都太小了,那么我们就找$ans$个负数,让他们改成取下整。

    如果$ans<0$说明正数都太小了,我们就找$ans$个正数,让他们改成取上整于是答案就会相应增加$ans$变成了0.

     1 #include<cstdio>
     2 #include<cstdlib>
     3 #include<map>
     4 #include<set>
     5 #include<cstring>
     6 #include<algorithm>
     7 #include<vector>
     8 #include<cmath> 
     9 #include<stack>
    10 #include<queue>
    11 #include<iostream>
    12 
    13 #define inf 0x3f3f3f3f
    14 using namespace std;
    15 typedef long long LL;
    16 typedef pair<int, int> pr;
    17 
    18 int n;
    19 const int maxn = 1e5 + 5;
    20 float num[maxn]; 
    21 
    22 int main()
    23 {
    24     scanf("%d", &n);
    25     int ans = 0;
    26     for(int i = 0; i < n; i++){
    27         scanf("%f", &num[i]);
    28         ans += (int)num[i];
    29     }
    30     
    31     //printf("%d
    ", ans);
    32     if(ans > 0){
    33         for(int i = 0; i < n; i++){
    34             if(num[i] > 0 || (int)num[i] == num[i] || ans <= 0)printf("%d
    ", (int)num[i]);
    35             else {
    36                 printf("%d
    ",(int)(num[i] - 1));
    37                 ans--;
    38             }
    39         }
    40     }
    41     else{
    42         for(int i = 0; i < n; i++){
    43             if(num[i] < 0 || (int)num[i] == num[i] || ans >= 0)printf("%d
    ", (int)num[i]);
    44             else{
    45                 printf("%d
    ", (int)(num[i] + 1));
    46                 ans++;
    47             }
    48         }
    49     }
    50     
    51     
    52     return 0;
    53 }
  • 相关阅读:
    js 实现图片上传
    关于IOS不能使用JQUERY的ON事件
    js实现复制
    订单列表倒计时
    小程序实现倒计时
    微信小程序服务消息推送
    python爬虫七
    python爬虫六
    python爬虫五
    python爬虫四
  • 原文地址:https://www.cnblogs.com/wyboooo/p/11145425.html
Copyright © 2011-2022 走看看