【洛谷】独自一人听歌写题

简介: 【洛谷】独自一人听歌写题



原题链接:P1011 [NOIP1998 提高组] 车站 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 

6.1.png

🏳️‍🌈🏳️‍🌈🏳️‍🌈🏳️‍🌈🏳️‍🌈🏳️‍🌈

参考文章:题解 P1011 【车站】 - dingcx 的博客 - 洛谷博客 (luogu.com.cn)

image.png

#include<cstdio>
using namespace std;
int sum1[25],sum2[25];//a和b的系数
int main(){
  int a,n,m,x;
  scanf("%d%d%d%d",&a,&n,&m,&x);
  sum1[2]=1,sum1[3]=2;//初始化
  for(int i=4;i<n;i++){//遍历(必须从4开始,前面没有规律)
    sum1[i]=sum1[i-1]+sum1[i-2]-1;//计算系数,见上
    sum2[i]=sum2[i-1]+sum2[i-2]+1;
  }
  int b=(m-a*sum1[n-1])/sum2[n-1];//公式
  printf("%d",a*sum1[x]+b*sum2[x]);
  return 0;//华丽结束
}

P1068 [NOIP2009 普及组] 分数线划定 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)

6.2.png

使用sort排序

 #include<iostream>
 #include<algorithm>
 using namespace std;
 const int N=10010;
 typedef pair<int,int>PII;
 PII a[N];
 bool cmp(PII x,PII y)
 {
  if(x.second>y.second) return 1;
  //这一步特别妙
  //控制排序时,成绩相同时学号靠前的排在前面 
  if(x.second==y.second&&x.first<y.first) return 1;
  return 0;
 }
 int main()
 {
  int n,m,num=0;
  cin>>n>>m;
  for(int i=0;i<n;i++)
  {
    cin>>a[i].first>>a[i].second;//学号  分数 
  }
   sort(a,a+n,cmp);
   int t=m*1.5;//人数 
   int pass=a[t-1].second;//分数线
   for(int i=0;i<n;i++)
   {
    if(a[i].second>=pass) num++;
    } 
    cout<<pass<<' '<<num<<endl;
    for(int i=0;i<num;i++)
    {
      cout<<a[i].first<<' '<<a[i].second<<endl;
    }
    return 0;
 }

不使用排序

使用枚举

#include<cstdio>
using namespace std;
int s[105],k[10005][105];
int main()
{
    int n,m,ss,kk,count=0,i,max=0,x,j;
    scanf("%d%d",&n,&m);
    m=m*1.5;//人数计算
    for(i=0;i<n;i++)
    {
        scanf("%d%d",&kk,&ss);
        k[kk][ss]++;//计入
        s[ss]++;//计入
    }
    for(i=100;count<m;i--)
        count+=s[i];//算出分数线和能进的人数
    printf("%d %d\n",i+1,count);
    x=i+1;//记录分数线
    for(i=100;i>=x;i--)//分数线内从大到小枚举
        for(j=1000;j<=10000;j++)
            if(k[j][i]) printf("%d %d\n",j,i);
    return 0;
}

Code over!

相关文章
|
算法 C++ Python
【每日算法Day 68】脑筋急转弯:只要一行代码,但你会证吗?
【每日算法Day 68】脑筋急转弯:只要一行代码,但你会证吗?
114 0
【洛谷】三连击
P1618 三连击(升级版) - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)
98 0
|
存储 人工智能 JavaScript
【寒假每日一题】AcWing 4510. 寻宝!大冒险!
目录 一、题目 1、原题链接 2、题目描述 二、解题报告 1、思路分析 2、时间复杂度 3、代码详解
136 0
|
移动开发
【寒假每日一题】AcWing 4261. 孤独的照片(补)
文章目录 一、题目 1、原题链接 2、题目描述 二、解题报告 1、思路分析 2、时间复杂度 3、代码详解
87 0
每日一题——找出游戏的获胜者
每日一题——找出游戏的获胜者
102 0
每日一题——找出游戏的获胜者
|
机器学习/深度学习 算法 搜索推荐
洛谷每日三题之第六天
洛谷每日三题之第六天
|
算法
《C游记》 番外篇(壹)二分查找显神威 猜数游戏趣味生
《C游记》 番外篇(壹)二分查找显神威 猜数游戏趣味生
135 0
《C游记》 番外篇(壹)二分查找显神威 猜数游戏趣味生
看小朋友做游戏顿时解决了约瑟夫问题
看小朋友做游戏顿时解决了约瑟夫问题
看小朋友做游戏顿时解决了约瑟夫问题
|
测试技术
HDU-4508,湫湫系列故事——减肥记I(完全背包)
HDU-4508,湫湫系列故事——减肥记I(完全背包)
|
算法
蓝桥杯-开灯游戏(算法提高)
蓝桥杯-开灯游戏(算法提高)