又是毕业季I

洛谷P1372 又是毕业季I

对于答案a,k*a是最接近n的,即a=n/k(下取整),所以直接输n/k即可。

我的方法是

二分查找

n/k真的没有想到唉。

我找的最大公约数,如果当前的mid对应的个数比k大,就往大了找,否则往小里找,对于边界问题,要加一些特判。

#include<bits/stdc++.h>
using namespace std;
int n,k;
bool p(int x)
{
    int i;
    for(i=0;i<=n&&i*x<=n;i++){
    }
    if(i-1>=k)
    return true;
    return false;
}
int main()
{
  cin>>n>>k;
  if(n==k)
  {
      cout<<1;
      return 0;
  }
  int l=1,r=n,mid;
  while(l<r)
  {
    mid=(l+r)>>1;
    if(p(mid))
    l=mid+1;
    else
    r=mid;
  }
  if(k==1)
  cout<<n;
  else
  cout<<max(l-1,1);
  return 0;
}
时间: 2024-08-08 01:27:13

又是毕业季I的相关文章

洛谷P1372 又是毕业季I&amp;&amp;P1414 又是毕业季II[最大公约数]

P1372 又是毕业季I 题目背景 “叮铃铃铃”,随着高考最后一科结考铃声的敲响,三年青春时光顿时凝固于此刻.毕业的欣喜怎敌那离别的不舍,憧憬着未来仍毋忘逝去的歌.1000多个日夜的欢笑和泪水,全凝聚在毕业晚会上,相信,这一定是一生最难忘的时刻! 题目描述 为了把毕业晚会办得更好,老师想要挑出默契程度最大的k个人参与毕业晚会彩排.可是如何挑呢?老师列出全班同学的号数1,2,……,n,并且相信k个人的默契程度便是他们的最大公约数(这不是迷信哦~).这可难为了他,请你帮帮忙吧! PS:一个数的最大公

GCD问题 洛谷P1372 又是毕业季I &amp; P1414 又是毕业季II

P1372 又是毕业季I 题目背景 "叮铃铃铃",随着高考最后一科结考铃声的敲响,三年青春时光顿时凝固于此刻.毕业的欣喜怎敌那离别的不舍,憧憬着未来仍毋忘逝去的歌.1000多个日夜的欢笑和泪水,全凝聚在毕业晚会上,相信,这一定是一生最难忘的时刻! 题目描述 为了把毕业晚会办得更好,老师想要挑出默契程度最大的k个人参与毕业晚会彩排.可是如何挑呢?老师列出全班同学的号数1,2,--,n,并且相信k个人的默契程度便是他们的最大公约数(这不是迷信哦~).这可难为了他,请你帮帮忙吧! PS:一个

【数论】洛谷P1372又是毕业季

题目背景 "叮铃铃铃",随着高考最后一科结考铃声的敲响,三年青春时光顿时凝固于此刻.毕业的欣喜怎敌那离别的不舍,憧憬着未来仍毋忘逝去的歌.1000多个日夜的欢笑和泪水,全凝聚在毕业晚会上,相信,这一定是一生最难忘的时刻! 题目描述 为了把毕业晚会办得更好,老师想要挑出默契程度最大的k个人参与毕业晚会彩排.可是如何挑呢?老师列出全班同学的号数1,2,--,n,并且相信k个人的默契程度便是他们的最大公约数(这不是迷信哦~).这可难为了他,请你帮帮忙吧! PS:一个数的最大公约数即本身. 输

【数论】洛谷P1414又是毕业季II

题目背景 "叮铃铃铃",随着高考最后一科结考铃声的敲响,三年青春时光顿时凝固于此刻.毕业的欣喜怎敌那离别的不舍,憧憬着未来仍毋忘逝去的歌.1000多个日夜的欢笑和泪水,全凝聚在毕业晚会上,相信,这一定是一生最难忘的时刻! 题目描述 彩排了一次,老师不太满意.当然啦,取每位同学的号数来找最大公约数显然不太合理.于是老师给每位同学评了一个能力值.于是现在问题变为,从n个学生中挑出k个人使得他们的默契程度(即能力值的最大公约数)最大.但因为节目太多了,而且每个节目需要的人数又不知道.老师想要

洛谷1414 又是毕业季II

题目背景 “叮铃铃铃”,随着高考最后一科结考铃声的敲响,三年青春时光顿时凝固于此刻.毕业的欣喜怎敌那离别的不舍,憧憬着未来仍毋忘逝去的歌.1000多个日夜的欢笑和泪水,全凝聚在毕业晚会上,相信,这一定是一生最难忘的时刻! 题目描述 彩排了一次,老师不太满意.当然啦,取每位同学的号数来找最大公约数显然不太合理.于是老师给每位同学评了一个能力值.于是现在问题变为,从n个学生中挑出k个人使得他们的默契程度(即能力值的最大公约数)最大.但因为节目太多了,而且每个节目需要的人数又不知道.老师想要知道所有情

洛谷 P1372 又是毕业季I Label:None

题目背景 “叮铃铃铃”,随着高考最后一科结考铃声的敲响,三年青春时光顿时凝固于此刻.毕业的欣喜怎敌那离别的不舍,憧憬着未来仍毋忘逝去的歌.1000多个日夜的欢笑和泪水,全凝聚在毕业晚会上,相信,这一定是一生最难忘的时刻! 题目描述 为了把毕业晚会办得更好,老师想要挑出默契程度最大的k个人参与毕业晚会彩排.可是如何挑呢?老师列出全班同学的号数1,2,……,n,并且相信k个人的默契程度便是他们的最大公约数(这不是迷信哦~).这可难为了他,请你帮帮忙吧! PS:一个数的最大公约数即本身. 输入输出格式

P1372 又是毕业季I

题目背景 "叮铃铃铃",随着高考最后一科结考铃声的敲响,三年青春时光顿时凝固于此刻.毕业的欣喜怎敌那离别的不舍,憧憬着未来仍毋忘逝去的歌.1000多个日夜的欢笑和泪水,全凝聚在毕业晚会上,相信,这一定是一生最难忘的时刻! 题目描述 为了把毕业晚会办得更好,老师想要挑出默契程度最大的k个人参与毕业晚会彩排.可是如何挑呢?老师列出全班同学的号数1,2,--,n,并且相信k个人的默契程度便是他们的最大公约数(这不是迷信哦~).这可难为了他,请你帮帮忙吧! PS:一个数的最大公约数即本身. 输

又是毕业季Ⅰ

这道题我还真不会 #include<bits/stdc++.h> using namespace std; int n,k; int main() { scanf("%d%d",&n,&k); printf("%d",n/k); return 0; } AC 原文地址:https://www.cnblogs.com/yige2019/p/11291536.html

P1414 又是毕业季(数论)

1 #include<cstdio> 2 #include<iostream> 3 #include<algorithm> 4 using namespace std; 5 const int N=1e6+10; 6 int c[N]; 7 int main() 8 { 9 int n; 10 cin>>n; 11 int m=0; 12 for(int i=1;i<=n;i++) 13 { 14 int x; 15 cin>>x; 16