• Codeforces Round #276 (Div. 2)


    A. Factory

    题意:给出a,m,第一天的总量为a,需要生产为a%m,第二天的总量为a+a%m,需要生产(a+a%m)%m 计算到哪一天a%m==0为止

    自己做的时候,把i开到1000来循环就过了,后来搜题解发现这样过了是运气好

    应该这样理解:a大于m的时候没有意义,当a%m重复出现的时候,说明出现了循环,终止计算。

     1 #include<iostream>  
     2 #include<cstdio>  
     3 #include<cstring>  
     4 #include<algorithm>  
     5 using namespace std;
     6 
     7 int main()
     8 {
     9     int i,sum=0,ans=0,x,m,flag=0;
    10     scanf("%d %d",&x,&m);
    11     for(i=1;i<=1000;i++)
    12     {
    13         sum=x;
    14         ans=x%m;
    15         if(ans==0) 
    16         {
    17             flag=1;
    18             break;
    19         }
    20         x=sum+ans;
    21     //    printf("x=%d
    ",x);
    22     }
    23     if(flag) printf("Yes
    ");
    24     else printf("No
    ");
    25 }
    View Code

    补-------------------

    B. Valuable Resources

    题意:给出n个坐标,求能够覆盖这n个坐标的最小的正方形的面积

    将这n个点的坐标排序后,正方形的边长为ans=max(a[n]-a[1],b[n]-b[1])

     1 #include<iostream>  
     2 #include<cstdio>  
     3 #include<cstring>  
     4 #include<algorithm>  
     5 using namespace std;
     6 
     7 int a[1005],b[1005];
     8  long long area;
     9 
    10 int main()
    11 {
    12     int i,j,n;
    13     long long ans1,ans2;
    14     scanf("%d",&n);
    15     for(i=0;i<n;i++)
    16     {
    17         cin>>a[i]>>b[i];
    18     }
    19     sort(a,a+n);
    20     sort(b,b+n);
    21     
    22     ans1=a[n-1]-a[0];
    23     ans2=b[n-1]-b[0];
    24     long long t=max(ans1,ans2);
    25     printf("%I64d
    ",t*t);    
    26 }
    View Code


     

    C. Bits

    题意:给出n,n对数l,r,找出一个数x使得x满足,l<=x<=r,且转换成二进制之后,构成x的1是最多的。

    将l从最低位开始填1,直到>=r为止,这样能够保证组成x的1最多

     1 #include<iostream>  
     2 #include<cstdio>  
     3 #include<cstring> 
     4 #include <cmath>   
     5 #include<algorithm>  
     6 using namespace std;
     7 
     8 typedef long long LL;
     9 
    10 int main()
    11 {
    12     int n;
    13     LL l,r;
    14     scanf("%d",&n);
    15     while(n--)
    16     {
    17         scanf("%I64d %I64d",&l,&r);
    18         for(int i=0;i<63;i++)
    19             if((l|(1LL<<i))<=r) l|=(1LL<<i);
    20             
    21             printf("%I64d
    ",l);
    22     }
    23 }
    View Code
  • 相关阅读:
    codevs 1160 蛇形矩阵
    进程同步-进程内部也需要锁
    进程间通讯-3(Manager)-实现数据的同时修改
    进程间通讯-2(pipe)
    python 中的queue 与多进程--待继续
    进程间通讯-1-传递函数的方法
    多进程
    queue队列
    python-输出颜色显示
    python深浅copy-转自EVA的博客
  • 原文地址:https://www.cnblogs.com/wuyuewoniu/p/4308751.html
Copyright © 2020-2023  润新知