首页 > 其他分享 >牛客周赛 Round 24

牛客周赛 Round 24

时间:2023-12-17 21:24:45浏览次数:29  
标签:24 return int mid long 牛客 因子 solve Round

牛客周赛 Round 24

比赛地址

最后一题没想到用二分做,可惜可惜,思考的方向错了

A 小红的矩阵构造

题目链接

思路:

主要是区分一下n是奇数还是偶数,是奇数的话就正常输出就行,是偶数的话就可以把偶数行逆着输出

代码:

#include<bits/stdc++.h>
using namespace std;
void solve(){
	int n;
	cin>>n;
	int l=1;
	if(n%2){
		for(int i=1;i<=n;i++){
			for(int j=1;j<=n;j++){
				cout<<l++<<" ";
			}
			cout<<endl;
		}
	}
	else{
		for(int i=1;i<=n;i++){
			if(i%2){
				for(int j=1;j<=n;j++){
					cout<<l++<<" ";
				}
				cout<<endl;
			

			}
			else{
				l=l+n-1;
				for(int j=1;j<=n;j++){
					cout<<l--<<" ";
				}
				l+=n+1;
				cout<<endl;

			}
		}
	}
	
	return ;
	
}
signed main(){
	int t=1;
	while(t--){
		solve();
	}
}

B 小红的因子

题目链接

思路:

因子都是两两成对的,如果要到一个因子p使得p * p > n
那么我们就可以取中间那个因子,那后向前枚举第一个因子,他的另一半就是适合题意的最小因子p

代码:

#include<bits/stdc++.h>
using namespace std;
#define int long long

int prime(int x){
    if(x==1||x==0){
        return 0;
    }
    if(x==2){
        return 1;

    }
    for(int i=2;i<=sqrt(x);i++){
        if(x%i==0){
            return 0;
        }
    }
    return 1;
    
}
void solve(){
    int n;
    cin>>n;
    if(prime(n)){
        cout<<n<<endl;
        return ;

    }
    int x=sqrt(n);
    if(x*x!=n){
        x+=1;
        
    }
    for(int i=x-1;i>=1;i--){
        if(n%i==0){
            // cout<<i<<endl;
            
            cout<<n/i<<endl;
            return ;
        }
    }
}
signed main(){
    int t=1;
    cin>>t;
    while(t--){
        solve();
    }
    return 0;

}

C小红的小数点串

题目链接

思路:

看样例,我们肯定是不可以让小数点后面的位数超过1位的,贪心的思想吧

代码:

#include<bits/stdc++.h>
using namespace std;
#define int long long

void solve(){
    string s;
    cin>>s;
    double ans=0;
    string s1="";
    for(int i=0;i<s.size();i++){
        if(s[i]=='.'){
            s1+=s[i];
            s1+=s[i+1];
            ans+=stod(s1);
            s1="";
            i+=1;

        }
        else{
            s1+=s[i];

        }
    }
    ans+=stod(s1);
    printf("%.1f",ans);
    cout<<endl;
    
    return ;
    
    
}
signed main(){
    int t=1;
    // cin>>t;

    while(t--){
        solve();
    }
    return 0;

}

D小红的数组操作

题目链接

思路:

其实看到要求尽可能小的最大值,我们应该要想到二分,但是好久不做二分的题了,导致根本没有往哪一方面去思考
为什么我二分除以2超时,但是位运算却没超时!!!

代码:

#include<bits/stdc++.h>
using namespace std;
#define int long long
const int N=1e5+10;
int a[N];
int n,k,x;
bool check(int mid){
    int ans=0;
    for(int i=1;i<=n;i++){
        if(a[i]>mid){
            ans+=(a[i]-mid+x-1)/x;
            if(ans>k){
                return false;
            }
        }
    }
    return true;

}
void solve(){
    cin>>n>>k>>x;
    for(int i=1;i<=n;i++){
        cin>>a[i];
    }
    int l=-1e18;
    int r=1e18;
    while(l<r){
        int mid=(l+r)>>1;
        if(check(mid)){
            r=mid;
        }
        else{
            l=mid+1;
        }
    }
    cout<<l<<endl;
    return ;
    
}
signed main(){
    int t=1;
    while(t--){
        solve();
    }
    return 0;

}

标签:24,return,int,mid,long,牛客,因子,solve,Round
From: https://www.cnblogs.com/du463/p/17909855.html

相关文章

  • 学期(2023-2024-1) 学号(20232411)《网络空间安全导论》第六周学习总结
    学期(2023-2024-1)学号(20232411)《网络空间安全导论》第六周学习总结教材学习内容总结本周我学习了《网络空间安全导论》的第六章,其主要讲述了应用安全的概述,一些具体的防御措施和应用安全的一些重点对象。在学习过程中,我总结了如下要点,以思维导图的方式呈现:教材学习中的......
  • 2023-2024-1 20231413 《计算机基础与程序设计》第十二周学习总结
    2023-2024-120231413《计算机基础与程序设计》第十二周学习总结1.作业信息班级:2023-2024-1-计算机基础与程序设计作业要求:2023-2024-1《计算机基础与程序设计》教学进程目标:自学教材:《C语言程序设计》第12章并完成云班课测试作业正文:https://www.cnblogs.com/Kaifazheju......
  • 2023-2024-1 20231307《计算机基础与程序设计》第十二周学习总结
    作业信息所属课程2023-2024-1-计算机基础与程序设计作业要求2023-2024-1计算机基础与程序设计第十二周作业作业目标自学教材《C语言程序设计》第11章并完成云班课测试作业正文https://www.cnblogs.com/lzt-/p/17909819.html教材学习内容总结《C语言程序设......
  • 2023-2024-1 20231425《计算机基础与程序设计》第十二周学习总结
    2023-2024-120231425《计算机基础与程序设计》第十二周学习总结作业信息这个作业属于哪个课程2023-2024-1《计算机基础与程序设计》这个作业要求在哪里2023-2024-1计算机基础与程序设计第十二周作业)这个作业的目标自学《计算机科学概论》第17章,《C语......
  • Educational Codeforces Round 134 (Rated for Div. 2)
    基本情况AB秒了。C搞了一个错的二分答案,虽然过样例了。C.Min-MaxArrayTransformation错误分析没有进一步推导性质,而是觉得数据单调递增估计是二分,然后就无脑写,实际上check的正确性没有保证。boolcheck(intind,intnow){ if(ind==now)returntrue; if(b[ind]......
  • 2023-2024-1 20231304 《计算机基础与程序设计》第十二周学习总结
    2023-2024-120231304《计算机基础与程序设计》第十二周学习总结作业信息这个作业属于哪个课程2023-2024-1-计算机基础与程序设计这个作业要求在哪里2023-2024-1计算机基础与程序设计第十二周作业这个作业的目标《C语言程序设计》第11章并完成云班课测试作业......
  • 学期 2023-2024-1 20232326《网络空间安全导论》第六周学习总结
    教材学习内容总结教材学习中的问题和解决过程问题1:挑战应答认证协议为什么可以对抗重放攻击?问题1解决方案:百度得知挑战应答认证协议可以对抗重放攻击的原因是因为它引入了挑战和应答的机制。在该协议中,服务端会向客户端发送一个随机的挑战值,客户端必须通过对挑战值进行加密......
  • 2023-2024-1 20231303 《计算机基础与程序设计》赵泊瑄第十二周学习总结
    2023-2024-120231303《计算机基础与程序设计》赵泊瑄第十二周学习总结作业信息这个作业属于哪个课程2023-2024-1-计算机基础与程序设计这个作业要求在哪里作业要求的链接https://i.cnblogs.com/posts/edit)这个作业的目标总结第十二周学习收获作业正文2023-......
  • 2023-2024-1 20231306 《计算机基础与程序设计》第十二周学习总结
    作业信息这个作业属于哪个课程2023-2024-1-计算机基础与程序设计这个作业要求在哪里2023-2024-1计算机基础与程序设计第十二周作业这个作业的目标无作业正文https://www.cnblogs.com/zwywuhu/p/17908748.html教材学习内容总结《C语言程序设计》——第十......
  • 20232413《网络》第六周学习总结
    教材学习内容总结教材学习中的问题和解决方案问题一:跨站脚本攻击(XSS)解决方案: 对用户输入进行验证和转义,使用内容安全策略(CSP),避免直接在页面中执行未经验证的用户输入。问题二:跨站请求伪造(CSRF)解决方案:使用CSRF令牌,验证请求来源,确保只有合法的用户可以提交请求。基于AI的学......