1. 首页
  2. 评测记录
  3. 公告
  1. 登录
  2. Language
    1. English
    2. 한국어
    3. 简体中文
    4. 正體中文

2022tysc1162

UID: 9281, 注册于 2022-6-20 17:20:58, 最后登录于 2024-6-1 22:43:36, 目前离线.

解决了 279 道题目,RP: 236.64 (No. 492)

♀
  • 个人简介

    mspaint 9448 11360 11690

    题目传送门

    #include<bits/stdc++.h>
    using namespace std;
    int n,m,c,a[1000001],b[1000001];
    bool check(int x)
    {
    	int sum=0;
    	bool bb=true;//判断是否有子弹 
    	for(int i=1;i<=n;i++)//初始化 
    	{
    		b[i]=a[i];
    	}
    	for(int i=1;i<=n;i++)
    	{
    		b[i]-=sum;//敌人减去之前所用的时间,因为一秒等于一米 
    		if(bb==false)//如果没子弹
    		{
    			//bb=true   我也不知道为什么不能加,加的话80分 
    			sum+=x;//sum加上换弹时间
    			b[i]-=x;//敌人减去换弹时间,因为一秒等于一米
    		}
    		if(b[i]<0)return false;//如果敌人到达山头,Lucky则牺牲 
    		if(b[i]>m)//如没到射程范围内 
    		{
    			sum+=b[i]-m;//sum加上敌人到射程内的时间
    			b[i]=b[i]-m;//敌人减去到射程内的行走的距离,因为一秒等于一米
    		}
    		if(bb==true&&b[i]<=m)//如既有子弹又在射程内,消耗子弹 
    		{
    			bb=false;
    		}
    	}
    	return true;
    }
    int main()
    {
    	cin>>n>>m;
    	int mid,r=1,l=0;
    	for(int i=1;i<=n;i++)
    	{
    		cin>>a[i];
    		l=max(l,a[i]);
    	}
    	sort(a+1,a+1+n);//从小到大排序 
    	while(l-r>1)//二分答案 
    	{
    		mid=(l+r)/2;
    		if(check(mid))r=mid;
    		else l=mid;
    	}
    	cout<<r;
    	return 0;
    }
    

    实数二分

    double r=0,l=10000000;
    	while(l-r>1e-4)//负4,看情况,题目要求保留几位小数+1
    	{
    		double mid=(r+l)/2;
    		if(check(mid)==true)l=mid;
    		else r=mid;
    	}
    

    消息传递P1218

    using namespace std;
    int n;
    double k,a[1000001];
    bool check(double x)
    {
    	double last=a[1]+x;
    	for(int i=2;i<=n;i++)
    	{
    		if((last+k)<a[i]-x)return false;
    		else last=min(last+k,a[i]+x);
    	}
    	return true;
    }
    int main()
    {
    	cin>>k>>n;
    	for(int i=1;i<=n;i++)
    	{
    		cin>>a[i];
    	}
    	double r=0,l=a[n]-a[1];
    	while(l-r>1e-4)
    	{
    		double mid=(r+l)/2;
    		if(check(mid)==true)l=mid;
    		else r=mid;
    	}
    	printf("%.3f",l);
    	return 0;
    }
    
    双指针模板
    int i=1,j=1;
    	while(i<=n&&j<=n)//到达边界则结束循环 
    	{
    		if(...)//当满足某项条件时 
    		{
    			j++;//指针指向另外一个下标 
    		}else{//否则 
    			i++;//另外一个针指向另外一个下标
    		}
    	}
    

    3559

    #include <iostream>
    using namespace std;
    int n,m,a[1000001];
    int b[1000001],sum,ans1=1000000000,ans2=1;
    int main(){ 
    	cin>>n>>m;
    	for(int i=1;i<=n;i++)
    	{
    		cin>>a[i];
    	}
    	int i=1,j=1;
    	b[a[1]]++;
    	sum=1;
    	while(i<=n&&j<=n) 
    	{
    		if(sum==m)
    		{
    			if((i-j+1)<(ans1-ans2+1))
    			{
    				ans1=i;
    				ans2=j;
    			}
    			b[a[j]]--;
    			if(b[a[j]]==0)sum--;
    			j++; 
    		}else{ 
    			i++;
    			b[a[i]]++;
    			if(b[a[i]]==1)sum++;
    		}
    	}
    	cout<<ans2<<" "<<ans1;
    	return 0;
    }
    
  • 最近活动

    • 2023-2024学年冬令营Class6-双指针 作业
    • 2023-2024学年冬令营Class4-二分搜索2 作业
    • 2023-2024学年冬令营Class3-二分搜索1 作业
    • 2023-2024学年冬令营Class1-广搜2 作业
    • 2023-2024学年冬令营Class1-广搜1 作业
    • 张晋嘉、倪穗霆杂题 作业
    • 2023年秋季营lesson15作业-深度优先搜索算法2 作业
    • 2023学年秋季班_模拟测试11 OI
    • 2023学年秋季班_模拟测试10 OI
    • 2023年秋季营lesson14作业-深度优先搜索算法1 作业
    • 2023年秋季营lesson13作业-递归算法2 作业
    • 2023学年秋季班_模拟测试08 OI
    • 2023年秋季营lesson12作业-递归算法1 作业
    • 2023年秋季营lesson11作业-阶段测试2(仅供改题) 作业
    • 2023年秋季营lesson10作业1-栈 作业
    • 2023年秋季营lesson9作业2-差分前缀和 作业
    • 2023年秋季营lesson9作业1-递推算法 作业
    • 2023年秋季营lesson8作业-指针&贪心 作业
    • 2023年秋季营lesson7作业-位运算 作业
    • 2023年秋季营lesson6作业-进制转换 作业
    • 2023年秋季营lesson5作业-2023秋季营阶段测试1(仅供改题) 作业
    • 【oiClass公益赛】2023CSPJ模拟赛#10 OI
    • 2023年秋季营lesson4作业-排序&枚举 作业
    • 第五届oiClass信息学夏令营day22作业-结构体和函数 作业
    • 2023年秋季营lesson2作业-字符数组&字符串 作业
    • 2023年秋季营lesson1作业-二维数组 作业
    • 夏令营模拟测试-05 OI
    • 夏令营模拟测试-04 OI
    • 夏令营模拟测试-03 OI
    • 新初一夏令营day12作业-一维数组3 作业
    • 2023年第四届oiClass夏令营线上选拔赛 OI
    • 夏令营day11作业-while语句2 作业
    • 夏令营第一周模拟测试 OI
    • 2022TYSC线上选拔赛 OI
    • 2022TYSC模拟测试04 OI
    • 2022TYSC模拟测试03 OI
    • 2022TYSC模拟测试02 IOI
    • 2022TYSC模拟测试01 IOI
  • Stat

  • Rating

316
已递交
279
已通过
0
题解被赞

状态

  • 评测队列
  • 服务状态

开发

  • 开源
  • API

支持

  • 帮助
  • QQ 群
  1. 关于
  2. 联系我们
  3. 隐私
  4. 服务条款
  5. 版权申诉
  6. Language
    1. English
    2. 한국어
    3. 简体中文
    4. 正體中文
  7. 兼容模式
  8. 主题
    1. 亮色
    2. 暗色
  1. 粤ICP备2024335011号
  2. Worker 0, 46ms
  3. Powered by Hydro v4.19.1 Community
关闭

登录

使用您的 oiClass 通用账户

忘记密码或者用户名?