题解 | # C 现在是,学术时间 (I)#2023牛客寒假算法基础集训营1

现在是,学术时间 (I)

https://ac.nowcoder.com/acm/contest/46800/C

C 现在是,学术时间 (I)

这题不太理解,稀里糊涂做出来,有没有大佬解释一下

思路是

不考虑引用量为0的情况,然后有几篇就是几(感觉好离谱啊,但就是过了)

#include <iostream>
using namespace std;

int main() {
    int t,n;
    int a[100005]={0};
    cin>>t;
    while(t--){
        int m=0;
        cin>>n;
        for(int i=0;i<n;i++){
            cin>>a[i];
            if(a[i]==0){
                m++;
            }
        } 
        cout<<n-m<<endl;
    }    
}


class HelloWorld {
    public static void main(String[] args) {
        System.out.println("还没写,反正也差不多"); 
    }
}
编程比赛题解 文章被收录于专栏

各类编程比赛题解

全部评论
你这做法简单来说就是,因为n篇论文,n个教授,每个人平均分到的论文最大为1篇,你只要保证每个人分到的论文引用数不为0,每个人分到的论文一定是可行的
3 回复 分享
发布于 2023-01-16 22:06 浙江
我的思路是文章按引用数从大到小排序,人用优先队列从小到大排序,文章每次给队列排头那个(如果给得出去),同时记录答案就可以了。我这个应该是贪心,你这个怎么可以我也不太清楚....
1 回复 分享
发布于 2023-01-16 21:22 江西
你可以抽象出来,这些数分成若干个组,某一个组内有x个数,且这些数都大于等于x,然后你会发现答案的上限为n,n又等价于有n个组,且每个组内只有一个元素,特判a_i=0。
1 回复 分享
发布于 2023-01-16 21:13 山东

相关推荐

昨天 20:41
已编辑
北京交通大学 算法工程师
字节跳动 训练框架研发 (N+2) * (12 + 3) 硕士211
点赞 评论 收藏
分享
rbjjj:太杂了吧,同学,项目似乎都没深度,都是api调度耶,分层架构思想没有体现出来了,前端没有前端优化前端工程化体现,后端微服务以及分层架构没体现以及数据安全也没体现,核心再改改,注重于计算机网络,工程化,底层原理吧
点赞 评论 收藏
分享
牛客68151836...:实习不相关就靠后写吧,因为大概面试官也不感兴趣。前面区域写一点更容易引起提问的内容,比如投后台就把服务器项目提前。
简历上的经历如何包装
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务