【华为机试在线训练】Day4

智谱GLM-5.1华为云Day0上线:开箱即用的大模型工程化实践 大模型落地难,核心在于部署复杂、调用割裂、运维门槛高。本文围绕大语言模型(LLM)的工程化集成与生产就绪能力展开,解析如何通过模型-运行时解耦、服务原子化、接入无感化等关键技术,实现LLM能力像水电一样即开即用。重点涵盖昇腾AI硬件适配、BF16混合精度推理、ZhipuTokenizer-v2分词计费优化等实战细节,支撑金融、政务、制造等场景下的合同审查、代码生成、低代码AI编排等高频应用。聚焦智谱GLM-5.1在华为云ModelArts、CodeArts Snap、Astro等多产品深度集成的真实案例,揭 阅读详情

题目描述

开发一个坐标计算工具, A表示向左移动,D表示向右移动,W表示向上移动,S表示向下移动。从(0,0)点开始移动,从输入字符串里面读取一些坐标,并将最终输入结果输出到输出文件里面。

输入:

合法坐标为A(或者D或者W或者S) + 数字(两位以内)

坐标之间以;分隔。

非法坐标点需要进行丢弃。如AA10;  A1A;  $%$;  YAD; 等。

下面是一个简单的例子 如:

A10;S20;W10;D30;X;A1A;B10A11;;A10;

处理过程:

起点(0,0)

+   A10   =  (-10,0)

+   S20   =  (-10,-20)

+   W10  =  (-10,-10)

+   D30  =  (20,-10)

+   x    =  无效

+   A1A   =  无效

+   B10A11   =  无效

+  一个空 不影响

+   A10  =  (10,-10)

结果 (10, -10)

输入描述:

一行字符串

输出描述:

最终坐标,以,分隔

#include<iostream>
#include<string>
#include<cstddef>   //std::size_t
using namespace std;
 
int main()
{
    string str;
    while(cin>>str){
        pair<int,int> point(0,0);               //point.first point.second
        size_t found = str.find_first_of(';');  //找到第一个';'的位置
        int start = 0;
 
        while(found!=string::npos){
            string s1 = str.substr(start,found-start);
            //cout << s1 << endl;
            start = found+1;
            found = str.find_first_of(';',found+1);
 
            if(s1.size()>1 && s1.size()<=3){    //合法的字符个数:2或3
                char c = s1[0];
                int n = 0;
                int invalid = 0;    //数字为是否非法
                for(int i=1; i<s1.size(); ++i){ //数字位判断与提取,A1A
                    if(s1[i]>='0'&&s1[i]<='9')
                        n = n*10 + (s1[i]-'0');
                    else{
                        invalid=1;
                        break;
                    }
                }
                if(invalid==0){
                    switch(c)
                    {
                        case 'A': {point.first-=n;break;}
                        case 'D': {point.first+=n;break;}
                        case 'W': {point.second+=n;break;}
                        case 'S': {point.second-=n;break;}
                    }
                }
 
            }
        }
        cout << point.first << ',' << point.second <<endl;
    }
    return 0;
}


题目描述

请解析IP地址和对应的掩码,进行分类识别。要求按照A/B/C/D/E类地址归类,不合法的地址和掩码单独归类。

所有的IP地址划分为 A,B,C,D,E五类

A类地址1.0.0.0~126.255.255.255;

B类地址128.0.0.0~191.255.255.255;

C类地址192.0.0.0~223.255.255.255;

D类地址224.0.0.0~239.255.255.255;

E类地址240.0.0.0~255.255.255.255

私网IP范围是:

10.0.0.0~10.255.255.255

172.16.0.0~172.31.255.255

192.168.0.0~192.168.255.255

子网掩码为前面是连续的1,然后全是0。(例如:255.255.255.32就是一个非法的掩码)

本题暂时默认以0开头的IP地址是合法的,比如0.1.1.2,是合法地址

输入描述:

多行字符串。每行一个IP地址和掩码,用~隔开。

输出描述:

统计A、B、C、D、E、错误IP地址或错误掩码、私有IP的个数,之间以空格隔开。

懵逼状态

#include <stdlib.h>
#include <iostream>
#include <vector>
#include <string>
#include <sstream>
using namespace std;
 
vector<string> split(string str, char del){
    stringstream ss(str);
    string tok;
    vector<string> ret;
    while(getline(ss, tok, del)){
        ret.push_back(tok);
    }
    return ret;
}
bool IPisvalid(vector<string> svec){
    if(svec.size() != 4){
        return false;
    }
    return true;
}
bool Maskisvalid(vector<string> svec){
    bool zero = false;
    if(svec.size() != 4){
        return false;
    }
    for(int i = 0; i < 4; i++){
        if(zero == false){
            if(atoi(svec[i].c_str()) != 255){
                if(atoi(svec[i].c_str()) != 0 &&
                   atoi(svec[i].c_str()) != 128 &&
                   atoi(svec[i].c_str()) != 192 &&
                   atoi(svec[i].c_str()) != 224 &&
                   atoi(svec[i].c_str()) != 240 &&
                   atoi(svec[i].c_str()) != 248 &&
                   atoi(svec[i].c_str()) != 252 &&
                   atoi(svec[i].c_str()) != 254){
                    return false;
                }else{
                    zero = true;
                }
            }
        }else{
            if(atoi(svec[i].c_str()) != 0){
                return false;
            }
        }
    }
    if(atoi(svec[3].c_str()) == 255){
        return false;
    }
    return true;
}
 
int main(){
    vector<int> ret(7, 0);
    string str;
    vector<string> svec;
    vector<string> ip;
    vector<string> mask;
    while(getline(cin, str)){
        svec = split(str, '~');
        ip = split(svec[0], '.');
        mask = split(svec[1], '.');
        if(Maskisvalid(mask) && IPisvalid(ip)){
            if (atoi(ip[0].c_str()) >= 1 && atoi(ip[0].c_str()) <= 126){
                ++ret[0];
                if (atoi(ip[0].c_str()) == 10)
                    ++ret[6];
            }else if (atoi(ip[0].c_str()) >= 128 && atoi(ip[0].c_str()) <= 191){
                ++ret[1];
                if (atoi(ip[0].c_str()) == 172){
                    if (atoi(ip[1].c_str()) >= 16 && atoi(ip[1].c_str()) <= 31)
                        ++ret[6];
                }
            }
            else if (atoi(ip[0].c_str()) >= 192 && atoi(ip[0].c_str()) <= 223){
                ++ret[2];
                if (atoi(ip[0].c_str()) == 168)
                    ++ret[6];
            }
            else if (atoi(ip[0].c_str()) >= 224 && atoi(ip[0].c_str()) <= 239){
                ++ret[3];
            }
            else if (atoi(ip[0].c_str()) >= 240 && atoi(ip[0].c_str()) <= 255){
                ++ret[4];
            }
        }else{
            ret[5]++;
        }
    }
    cout << ret[0] << " " << ret[1] << " " << ret[2] << " " << ret[3] << " " << ret[4] << " " << ret[5] << " "<< ret[6] << endl;
    return 0;
}


题目描述

计算最少出列多少位同学,使得剩下的同学排成合唱队形

说明:

N位同学站成一排,音乐老师要请其中的(N-K)位同学出列,使得剩下的K位同学排成合唱队形。 
合唱队形是指这样的一种队形:设K位同学从左到右依次编号为1,2…,K,他们的身高分别为T1,T2,…,TK,   则他们的身高满足存在i(1<=i<=K)使得T1<T2<......<Ti-1<Ti>Ti+1>......>TK。 
 你的任务是,已知所有N位同学的身高,计算最少需要几位同学出列,可以使得剩下的同学排成合唱队形。

输入描述:

整数N

输出描述:

最少需要几位同学出列

#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
 
// 基本思路,两遍最长递增子序列,并找和最大
/*
来说一下我的思路,两遍最长递增子序列,第一遍从左往右,第二遍从右往左,然后把两遍动态规划的结果相加,取最大的那个,比如8 186 186 150 200 160 130 197 200,第一遍dp的结果是 1 1 1 2 2 1 3 4,第二遍dp的结果为3 3 2 3 2 1 1 1,那么相加最大是5,所以需要出列的同学个数就是8-5+1=4.代码如下:
*/
int main(void)
{
    int n;
    while (cin >> n)
    {
        int tmp;
        vector<int> queue;
        vector<int> dp_1(n, 1);
        vector<int> dp_2(n, 1);
         
        for (int i = 0; i < n; ++i)
        {
            cin >> tmp;
            queue.push_back(tmp);
        }
 
        // 第一遍dp
        for (int i = 0; i < n; ++i)
        {
            for (int j = i - 1; j >= 0; --j)
            {
                if (queue[i] > queue[j] && dp_1[i] < dp_1[j] + 1)
                    dp_1[i] = dp_1[j] + 1;
            }
        }
 
        std::reverse(queue.begin(), queue.end());
        // 第二遍dp
        for (int i = 0; i < n; ++i)
        {
            for (int j = i - 1; j >= 0; --j)
            {
                if (queue[i] > queue[j] && dp_2[i] < dp_2[j] + 1)
                    dp_2[i] = dp_2[j] + 1;
            }
        }
        std::reverse(dp_2.begin(), dp_2.end());
 
        int max = -1;
        int sum;
        for (int i = 0; i < n; ++i)
        {
            sum = dp_1[i] + dp_2[i];
            if (sum > max)
            {
                max = sum;
            }
        }
        cout << n - max + 1 << endl;
    }
    return 0;
}

 

【华为OD机试真题】115、最大利润 | 机试真题+思路参考+代码解析(C++、Java、Py、C语言、JS) 题目描述 >商人经营一家店铺, 有number种商品,由于仓库限制每件商品的最大持有数量是item[index],每种商品的价格是item-price[item _index][day], 通过对商品的买进和卖出获取利润,请给出商人在days天内能获取的最大的利润   注:同一件商品可以反复买进和卖出 阅读详情

相关推荐

MAX31865模块温度测量

本文主要介绍MAX31865 测温注意事项,并写出读取温度的示例代码,模块详细参数可以查阅相关手册,

7454

一周算法实践day4:模型调优

一周算法实践day4:模型调优数据说明1任务2k折交叉验证&amp;amp;amp;网格搜索法&amp;amp;amp;GridSearchCV3不同模型调参前后的性能4完整代码及注释5结论6参考 数据说明 使用之前的数据data_all.csv 1任务 使用网格搜索法对7个模型进行调优(调参时采用五折交叉验证的方式),并进行模型评估. 2k折交叉验证&amp;amp;amp;网格搜索法&amp;amp;amp;GridSearchCV K折交叉验证(

qq_30006749的博客 439

Oracle EBS MRP 模块测试记录

MRP 模块测试记录        构思:创建Shirt成品物料,它由Cloth和Button组成。1*Shirt=1*Cloth+8*Button。        首先创建这三个物料(复制模板创建),并分配给T02。        创建BOM,将这三个物料关联起来。        分别创建资源(人工和设备)制造Cloth和Button。        分别创建两个部门(HumanDep和Mach

NetSuite 张老师 8164

stl里反转函数(reverse)总结

总结: 0.algorithm 里的反转函数接口:reverse(first,last) 参数为容器的迭代器起始位置和终止位置 1.string和vector只能使用模板库算法里的反转函数 2.list可以使用算法里的和list类的reverse 3.stack和queue没有迭代器,自然不能使用算法里的reverse,其类也没有提供反转的成员函数 4.set和map的元素是按照键值排序的,不能修...

weixin_43971252的博客 7050

深入解析Uplift模型评估:AUUC指标的计算与应用

本文深入解析了Uplift模型评估的核心指标AUUC。针对传统响应模型无法区分用户真实转化动因的痛点,AUUC通过量化模型对用户增益(Uplift)的排序能力,有效衡量营销干预的增量收益。文章详细拆解了AUUC的计算逻辑,从构建Qini曲线到Python代码实战,并强调了其在预算约束下的精准营销等场景的应用价值与常见陷阱。

weixin_29254029的博客 475

【Power Compiler手册】4.saif文件

功耗计算的准确性取决于切换活动数据的准确性。这些数据是通过使用RTL仿真或门级仿真生成的,并存储在SAIF文件中。在执行功耗优化和分析之前,应该使用SAIF文件来反标设计对象上的切换活动信息。SAIF是由Synopsys支持的ASCII格式,用于促进不同Synopsys工具之间的信息交换(参见IEEE 1801标准,附录J)。使用`read_saif`命令读取SAIF文件,使用`write_saif`命令写出SAIF文件。有关更多信息,请参见`read_saif`和`write_saif`命令的手册页。

QRBQ 2186

华为机试day4

一、题目 1、简单密码破解 密码是我们生活中非常重要的东东,我们的那么一点不能说的秘密就全靠它了。哇哈哈. 接下来渊子要在密码之上再加一套密码,虽然简单但也安全。   假设渊子原来一个BBS上的密码为zvbo9441987,为了方便记忆,他通过一种算法把这个密码变换成YUANzhi1987,这个密码是他的名字和出生年份,怎么忘都忘不了,而且可以明目张胆地放在显眼的地方而不被

mhl119的专栏 562

Java 大视界 -- 基于 Java+Flink 构建实时电商交易风控系统实战(436)

本文介绍基于Java+Flink构建实时电商交易风控系统的实战经验。系统采用分层架构设计,包含数据采集层、实时计算层、规则引擎层、数据存储层和应用服务层,实现毫秒级风险识别与拦截。核心组件包括Flink 1.17处理交易数据流、Drools规则引擎动态匹配风险规则、Redis缓存热点数据等。文章详细提供了开发环境配置清单和Maven依赖说明,确保系统具备低延迟(≤200ms)、高吞吐(10万TPS)和高可用性(99.99%)特性。该方案已通过生产环境验证,可有效应对恶意刷单、盗刷支付等电商交易风险。

【青云交】华为云云享专家 | 阿里云开发者社区专家博主 技术圈个人影响力前 9 | 博客之星 TOP12 优快云 首位四榜(原力榜 / 作者周榜 / 领军人物 / 综合热榜)榜首,破平台纪录! 苏州地区全榜霸榜,感恩全网十多万粉丝同行! 3942

C++/C++11中std::queue的使用

C++/C++11中std::queue的使用

网络资源是无限的 4万+

《QGIS快速入门与应用基础》021:插件仓库 URL 获取与添加

详细介绍了在QGIS中添加第三方插件仓库的方法。首先强调必须从官方推荐、开源社区等可靠渠道获取插件仓库URL以确保安全性,并列出了4类可信获取渠道。文章分步骤讲解了URL添加流程,包括打开插件管理器设置面板、填写仓库信息、刷新缓存验证等操作。针对常见问题如URL格式错误、连接失败等提供了具体解决方案。最后总结指出,成功添加第三方仓库后即可直接搜索安装各类专业插件,从而扩展QGIS功能边界。全文注重实操指导,特别适合需要安装行业专用插件的QGIS用户参考。

LuckyHanMo的博客 463

5、数据计算与处理技巧全解析

本文深入解析了Tableau中的多种数据计算与处理技巧,涵盖LOD计算、日期与字符串处理、计数优化、数据混合限制及自定义总计等核心内容。通过实际案例和流程图,系统讲解了各技巧的应用场景、实现步骤与注意事项,并提供性能优化建议和常见问题解答,帮助用户提升数据分析效率与可视化精度。同时展望了未来数据计算技术的发展趋势,是Tableau用户进阶必备的全面指南。

peach的博客 82

【华为机试在线训练】Day5

题目描述 信息社会,有海量的数据需要分析处理,比如公安局分析身份证号码、 QQ 用户、手机号码、银行帐号等信息及活动记录。   采集输入大数据和分类规则,通过大数据分类处理程序,将大数据分类输出。 输入描述: 一组输入整数序列I和一组规则整数序列R,I和R序列的第一个整数为序列的个数(个数不包含第一个整数);整数范围为0~0xFFFFFFFF,序列个数不限 输出描述: 从R依次中取...

Twinkle 563

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

【华为机试在线训练】Day 8

21点游戏 题目描述 问题描述:给出4个1-10的数字,通过加减乘除,得到数字为24就算胜利 输入: 4个1-10的数字。[数字允许重复,但每个数字仅允许使用一次,测试用例保证无异常数字] 输出: true or false 输入描述: 输入4个int整数 输出描述: 返回能否得到24点,能输出true,不能输出false #include&lt;iostream&gt; #inc...

Twinkle 355

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

【牛客网】—— 华为机试在线练习整理

题目ID:36884 - 查找组成一个偶数最接近的两个素数 题目描述 任意一个偶数(大于2)都可以由2个素数组成,组成偶数的2个素数有很多种情况,本题目要求输出组成指定偶数的两个素数差值最小的素数对 输入描述: 输入一个偶数 输出描述: 输出两个素数 示例1 输入:20 输出:7 13 解题思路 该题思路是:我们先实现一个判断一个树是否为素数的子函数,如何判断一个数是否为素数,那就很简...

chenxiyuehh的博客 2万+

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

【华为机试在线训练】Day 9

公共字串计算 题目描述 题目标题: 计算两个字符串的最大公共字串的长度,字符不区分大小写 详细描述: 接口说明 原型: int getCommonStrLength(char * pFirstStr, char * pSecondStr); 输入参数:      char * pFirstStr //第一个字符串      char * pSecondStr//第二个字符串 ...

Twinkle 476

【华为机试在线训练】Day2

Day2 题目描述 写出一个程序,接受一个十六进制的数值字符串,输出该数值的十进制字符串。(多组同时输入 ) 输入描述: 输入一个十六进制的数值字符串。 输出描述: 输出该数值的十进制字符串。 注意有一个多组输入!!!! 挺坑的。 #include &lt;iostream&gt; #include &lt;string&gt; #include &lt;vector&gt...

Twinkle 306

【华为机试在线训练】Day 10

自动售货系统 题目描述 1 总体说明 考生需要模拟实现一个简单的自动售货系统,实现投币、购买商品、退币、查询库存商品及存钱盒信息的功能。 系统初始化时自动售货机中商品为6种商品,商品的单价参见1.1规格说明,存钱盒内放置1元、2元、5元、10元钱币,商品数量和钱币张数通过初始化命令设置,参见2.1 系统初始化。 1.1规格说明 1. 商品:每种商品包含商品名称、单价、数量三种属性,其中...

Twinkle 631

【华为机试在线训练】Day 7

题目描述 请实现如下接口     /* 功能:四则运算      * 输入:strExpression:字符串格式的算术表达式,如: "3+2*{1+2*[-4/(8-6)+7]}"          * 返回:算术表达式的计算结果      */     public static int calculate(String strExpression)     {        ...

Twinkle 423

【华为机试在线训练】Day1

  Day1 题目描述 计算字符串最后一个单词的长度,单词以空格隔开。  输入描述: 一行字符串,非空,长度小于5000。 输出描述: 整数N,最后一个单词的长度。 示例1 输入 hello world 输出 5 #include &lt;iostream&gt; #include &lt;string&gt; using namespace std; int m...

Twinkle 540

【华为机试在线训练】Day 6

题目描述 定义一个二维数组N*M(其中2&lt;=N&lt;=10;2&lt;=M&lt;=10),如5 × 5数组下所示:  int maze[5][5] = {         0, 1, 0, 0, 0,         0, 1, 0, 1, 0,         0, 0, 0, 0, 0,         0, 1, 1, 1, 0,         0, 0...

Twinkle 370

【华为机试在线训练】Day 11

计算字符串的相似度 题目描述 对于不同的字符串,我们希望能有办法判断相似程度,我们定义了一套操作方法来把两个不相同的字符串变得相同,具体的操作方法如下: 1 修改一个字符,如把“a”替换为“b”。 2 增加一个字符,如把“abdd”变为“aebdd”。 3 删除一个字符,如把“travelling”变为“traveling”。 比如,对于“abcdefg”和“abcdef”两个字符串来...

Twinkle 336

【华为机试在线训练】Day3

题目描述 输入一个int型整数,按照从右向左的阅读顺序,返回一个不含重复数字的新的整数。 输入描述: 输入一个int型整数 输出描述: 按照从右向左的阅读顺序,返回一个不含重复数字的新的整数 #include &lt;stdio.h&gt; int main(void){ int n,m; int a[10]={0,0,0,0,0,0,0,0,0,0};//标记 ...

Twinkle 378

华为云 open day,带你看看别人家的公司

3月5日是华为云普惠AI开放日,非常有幸被邀请参加活动,除了近距离了解华为云,也切身感受到华为的文化。 收到参加活动的邀请是在公司放假的前一天,华为云运营美女问我能否参加年后的开放日活动,虽然也经常参加一些本地的技术活动,但是像这种大厂组织的活动还是比较少参加,加上我本身就在深圳工作,不必像其他专家一样还需要坐飞机赶来舟车劳顿,于是就爽快的答应了。答应之后就是期待,隔三差五收到一些通知,做一些准备...

江南一点雨的专栏 3902

Day0迁移、一键部署,华为开源的昇思MindSpore成为大模型开发的“万能钥匙”

比如PyTorch写的训练脚本,直接在MindSpore里运行,动态图体验和原来一样顺手,95%以上的接口都能自动转换,迁移损耗几乎为零。模型拿来就能用:支持很多业内常用的模型,拿来就能直接用,像DeepSeek、Pangu、Qwen这些,已经有20多个模型上线了。JIT 编译:把常用代码 “打包” 成高效执行的模块,像把重复工作做成模板,用的时候直接拿出来用,兼顾灵活编程和高性能。,传统靠专家经验,现在MindSpore能自动搜索最优方案,比如在DeepSeek-V3训练中,性能提升了9.5%。

量子位 962
上一篇: 【华为机试在线训练】Day3
下一篇: 【Linux入门教程】3 进程管理、网络通信工具、vi编辑器、文件系统、文件存储结构
HelloZEX
博客等级 码龄11年 486粉丝 264原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值