Codeforces Round #280 (Div. 2)

B. Vanya and Lanterns

题意:给出n个路灯,街道的长度,求出路灯的最小照射半径,使得整条街道都被照亮。

求出起点到第一盏灯的距离---n盏灯之间的距离/2---最后一盏灯到街尾的距离,找出这些值里面的最大值。

 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 int a[10005],b[10005];
10 
11 int main()
12 {
13     int n,l,i,x,y;
14     double d;
15     cin>>n>>l;
16     for(i=1;i<=n;i++) cin>>a[i];
17     sort(a+1,a+n+1);
18     int maxd=-1;
19     for(i=1;i<n;i++)
20     {
21          b[i]=a[i+1]-a[i];        
22         maxd=max(maxd,b[i]);
23     }
24     x=a[1]-0;
25     y=l-a[n];
26 //    printf("x=%d\n",x);
27 //    printf("y=%d\n",y);
28 //    printf("maxd=%d\n",maxd);
29 if(2*x>maxd&&x>=y) printf("%.7lf\n",x*1.0);
30 else if(y>=x&&2*y>maxd) printf("%.7lf\n",y*1.0);
31      
32 else printf("%.7lf\n",maxd*0.5);
33     
34 }
View Code

 

C. Vanya and Exams

题意:给出n场考试,每场考试只能考到的最高分r,平均分 再给出现在每场考试的成绩a[i],提高一分需要做的试卷b[i],问至少需要做多少张试卷才能每科都达到平均分

先按照b[i]从小到大排序,再算出需要做的试卷数量,模拟做试卷

 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 struct node{
10     int x,y;
11 } a[100005];
12 
13 int cmp(node n1,node n2){
14     if(n1.y!=n2.y) return n1.y<n2.y;
15     return n1.x<n2.x;
16 }
17 
18 int main()
19 {
20     LL tmp=0,sum=0,ans=0,c,i, n,r,avg;
21     cin>>n>>r>>avg;
22     for(i=1;i<=n;i++) {
23         cin>>a[i].x>>a[i].y;
24         sum+=a[i].x;
25     }
26     sort(a+1,a+n+1,cmp);
27     ans=n*avg-sum;
28     
29 //    for(i=1;i<=n;i++)
30 //    {
31 //        printf("%d %d\n",a[i].x,a[i].y);
32 //    }
33 //    printf("ans=%d\n\n",ans);
34     if(ans<=0) printf("0\n");
35     else
36     {
37         for(i=1;i<=n;i++){
38             if(ans<=(r-a[i].x)){
39                 tmp+=ans*a[i].y;
40                 c=ans;
41             }
42             else{
43                 tmp+=(r-a[i].x)*a[i].y;
44                 c=r-a[i].x;
45             }
46             ans=ans-c;
47             if(ans<=0) break;
48         }
49         printf("%I64d\n",tmp);        
50     }
51 }
View Code

 

D. Vanya and Computer Game

题意:给出n只怪兽,vanya打怪的频率为x次每秒,给怪兽的伤害是1/x vova打怪的频率为y次每秒,给怪的伤害是1/y 再给出每只怪兽最多被伤害的次数 问第i只怪兽是被谁打败的

看的题解= =

可以转化为vanya每y秒伤害一次怪兽,vova每x秒伤害一次怪兽 再在时间轴上查找被攻击的次数,肯定是能被x或者y或者两者都整除的

 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 LL i,n,x,y,l,r,m,atk,a;
10 
11 void bsearch(LL a)
12 {
13     l=1,r=1e15;
14     while(l<r){
15         m=(l+r)/2;
16         atk=m/y+m/x;
17         if(atk>=a) r=m;
18         else l=m+1;
19     }
20     if(l%x==0&&l%y==0) printf("Both\n");
21     else if(l%x==0) printf("Vova\n");
22     else printf("Vanya\n");
23 }
24 
25 int main()
26 {
27     cin>>n>>x>>y;
28     for(i=1;i<=n;i++){
29         cin>>a;
30         bsearch(a);
31     }
32     return 0;    
33 }
View Code

 

 

话说这是做的第一次 cf诶----当时做A的时候发现是一个公式= =1+(1+2)+(1+2+3)---记得等于6分之多少来着---百度到之后,交上去= =居然过啦(好激动)

加油啊- ----  go--go--go

 

转载于:https://www.cnblogs.com/wuyuewoniu/p/4313646.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
【1】项目代码完整且功能都验证ok,确保稳定可靠运行后才上传。欢迎下载使用!在使用过程中,如有问题或建议,请及时私信沟通,帮助解答。 【2】项目主要针对各个计算机相关专业,包括计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网等领域的在校学生、专业教师或企业员工使用。 【3】项目具有较高的学习借鉴价值,不仅适用于小白学习入门进阶。也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 【4】如果基础还行,或热爱钻研,可基于此项目进行二次开发,DIY其他不同功能,欢迎交流学习。 【注意】 项目下载解压后,项目名字和项目路径不要用中文,否则可能会出现解析不了的错误,建议解压重命名为英文名字后再运行!有问题私信沟通,祝顺利! 基于C语言实现智能决策的人机跳棋对战系统源码+报告+详细说明.zip基于C语言实现智能决策的人机跳棋对战系统源码+报告+详细说明.zip基于C语言实现智能决策的人机跳棋对战系统源码+报告+详细说明.zip基于C语言实现智能决策的人机跳棋对战系统源码+报告+详细说明.zip基于C语言实现智能决策的人机跳棋对战系统源码+报告+详细说明.zip基于C语言实现智能决策的人机跳棋对战系统源码+报告+详细说明.zip基于C语言实现智能决策的人机跳棋对战系统源码+报告+详细说明.zip基于C语言实现智能决策的人机跳棋对战系统源码+报告+详细说明.zip基于C语言实现智能决策的人机跳棋对战系统源码+报告+详细说明.zip基于C语言实现智能决策的人机跳棋对战系统源码+报告+详细说明.zip基于C语言实现智能决策的人机跳棋对战系统源码+报告+详细说明.zip基于C语言实现智能决策的人机跳棋对战系统源码+报告+详细说明.zip基于C语言实现智能决策的人机跳棋对战系统源码+报告+详细说明.zip
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值