首页 > 其他分享 >牛客寒假4到6补题

牛客寒假4到6补题

时间:2024-02-25 21:01:17浏览次数:22  
标签:10 题意 int void 牛客 寒假 补题

牛客寒假4:

F:来点每日一题

题意:给定一个长度为 n 的数组,任意选6个数,6个数得分为 ((a-b) * c - d) * e - f,问最大能得到多少分 解:n*n的dp,暴力枚举每一个数字 v[i],f[i]表示以第 i 个位置结尾的得分最大是多少  
void solve() {
    int n;
    cin >> n;
    vector<int> v(n+10) , f(n+10);
    for(int i=1;i<=n;i++) cin >> v[i];
    for(int i=1;i<=n;i++) {
        vector<int> minn(10 , INF), maxx(10 , -INF);
        f[i]=max(f[i],f[i-1]);
        for(int j=i;j<=n;j++) {
            for(int k=5;k>=1;k--) {
                for(int p : {minn[k - 1], maxx[k - 1]}) {
                    if(abs(p)<INF) {
                        if(k&1) p-=v[j];
                        else p*=v[j];
                        minn[k]=min(minn[k],p);
                        maxx[k]=max(maxx[k],p);
                    }
                }
            }
            minn[0]=min(minn[0],v[j]);
            maxx[0]=max(maxx[0],v[j]);
            f[j]=max(f[j],f[i-1]+maxx[5]);
        }
    }
    cout << f[n] << endl;
}
View Code

 

牛客寒假5: F:soyorin的数组操作(hard) 题意:有一个长度为n的数组,每次可以选择一个不大于n的偶数k,使得ai(1<=i<=k) 加上 i 。问最少需要操作多少步,可以使得数组非降序排列 解法:最开始写复杂了,想到二分去了,过了80%。 但是正解手画一下就知道了。 在有解的情况下,答案就是 Ai-Ai+1 的最大值,因为相邻两数每次操作只减小1差距,所以在有解的情况下,答案就是两相邻数最小需要达到非降序的操作次数最大值。
void solve() {
    int n;
    cin >> n;
    vector<int> v(n+10);
    for(int i=0;i<n;i++) cin >> v[i];
    int ans=0,cnt=0;
    for(int i=n-2;i>=0;i--) {
        if(n&1) {
            if(v[i+1]+cnt<v[i]) {
                cout << -1 << endl;
                return ;
            }
            if((i+1)%2==0) cnt+=(v[i+1]+cnt-v[i])/(i+1);
        }
        ans = max(ans, v[i]-v[i+1]);
    }
    cout << ans << endl;
}
View Code

 

K:soyorin的通知

题意:A想要将一条消息传给n个人。有两种操作:要么将消息单独传给一个人,花费p;要么花费 a 的代价将消息传给b个人。

问:将消息传给n个人最少需要多少代价。

解:将问题转换为完全背包看即可,对于代价和体积,题目已经给了,只是在传的时候要保证当前这个人已经知道了消息,即保证第一个人一定是花费p,后面的完全背包跑即可。

int f[1010],v[1010],w[1010];

void solve() {
    int n,k;
    cin >> n >> k;
    for(int i=1;i<=n;i++) cin >> v[i] >> w[i] , f[i]=INF;
    f[1]=k;
    for(int i=1;i<=n;i++) {
        for(int j=1;j<=n;j++) f[j]=min({j*k , f[j] , f[max(1ll,j-w[i])]+v[i]});
    }
    cout << min(f[n],n*k) << endl;
}
View Code

 

 

 

 

标签:10,题意,int,void,牛客,寒假,补题
From: https://www.cnblogs.com/lzywakaka/p/18033035

相关文章

  • [个人向]寒假隔膜评分
    寒假玩了很多隔膜啊,这里做一些简单的评价,按照最后一次游玩时间排序。随便做一点个人不负责任的评分,满分10分。巴别塔圣歌(全成就):10分,非常对胃口的语言学解谜游戏。画风剧情很加分,语言部分略简单了一点,跑图与追逐/躲避战有点不喜欢(但占比不高,对游戏整体体验影响不算大),真结局非......
  • 寒假第二天
    二、JavaScript的特点HTML页面是静态的,而JavaScript可以弥补HTML语言的缺陷,实现Web页面客户端的动态效果。JavaScript的作用有以下几点:1、动态改变页面内容HTML页面是静态的,一旦编写,内容是无法改变的。JavaScript可以弥补这个不足,可以将内容动态地显示在网页中。2、动态改变网页......
  • 寒假第七天
    一、数据结构JavaScript的数据结构包括:标识符、关键字、常量、变量等。1、标识符标识符,说白了,就是一个名字。在JavaScript中,变量和函数等都需要定义一个名字,这个名字就可以称为“标识符”。JavaScript语言中标识符最重要的3点就是:(1)第一个字符必须是字母、下划线(_)或美元符号这3......
  • 2024牛客寒假算法基础集训营6
    A.欧拉筛处理出素数直接3重暴力循环找#include<bits/stdc++.h>usingnamespacestd;#defineintlonglongconstintN=1e5+10;#defineinf0x3f3f3f3fboolis_prime[N];//是否是质数,0为是,1为不是intprime[N];//质数数组inttop=1;//质数的下标intmin_p[N];//最小......
  • 寒假学习 11 编程实现将 RDD 转换为 DataFrame
    请将数据复制保存到Linux系统中,命名为employee.txt,实现从RDD转换得到DataFrame,并按“id:1,name:Ella,age:36”的格式打印出DataFrame的所有数据。请写出程序代码。scala>importorg.apache.spark.sql.types._importorg.apache.spark.sql.types._ scala>importorg.......
  • 2024牛客寒假算法基础集训营6 H 纷乱的红线 题解
    Question2024牛客寒假算法基础集训营6H纷乱的红线小红拿到了一个圆,以及平面上有\(n\)个点(保证没有三点共线)。现在小红将随机取\(3\)个点画一个三角形,她想知道这个三角形和圆的交点数量的期望是多少?Solution考虑到\(n\le1000\)可以枚举每一条线,计算这一条线和圆的交......
  • 寒假学习 13 使用Avro数据源测试Flume
    1.1  创建avro.conf#Namethecomponentsonthisagenta1.sources=r1a1.sinks=k1a1.channels=c1#Describe/configurethesourcea1.sources.r1.type=avroa1.sources.r1.channels=c1a1.sources.r1.bind=0.0.0.0a1.sources.r1.port=4141#Describet......
  • 寒假学习 14 使用netcat 数据源测试Flume
    1.1  创建netcat.conf 1.2在/usr/flume/flume-1.7.0目录下启动flumeagent出现如下: 1.3启动Flume,在另一个终端(这里称为“Telnet终端”)中,输入命令“telnetlocalhost44444”  当输出错误:bash:telnet:commandnotfound…说明容器中没有telnet,需要下载:......
  • 寒假学习 15 Spark机器学习库MLlib编程实践
    1.针对数据导入,提前导入必要的包,如下所示 2.将数据集转换为DataFrameimport spark.implicits._case class Adult(features: org.apache.spark.ml.linalg.Vector, label: String)val df = sc.textFile("/export/server/spark-3.0.0-bin-hadoop3.2/adult.data.txt")......
  • 寒假学习 5
    做实验二安装Scala1.计算级数 请用脚本的方式编程计算并输出下列级数的前n项之和Sn,直到Sn刚好大于或等于q为止,其中q为大于0的整数,其值通过键盘输入。importio.StdIn._objectlab2{defmain(args:Array[String]){   varSn:Float=0   varn:Float......