2023河南萌新联赛第(五)场:郑州轻工业大学

news2024/11/18 8:44:41

A.买爱心气球

原题链接 : 登录—专业IT笔试面试备考平台_牛客网

 博弈论 : 

#include <iostream>
using namespace std;
int t,n,m;
string s1 = "Alice",s2 = "Bob";
int main() {
    cin>>t;
    while(t--){
        cin>>n>>m;
        if (n % 3 == 0) {
            cout << s1 << endl;
            continue;
        }
        if (n % 3 == 1) {
            cout << (m != 1 ? "Alice\n" : "Bob\n");
            continue;
        }
        if (n % 3 == 2) {
            cout << (m != 2 ? "Alice\n" : "Bob\n");
            continue;
        }
    }
    return 0;
}

B.亚托莉 -我挚爱的时光-

原题链接 : 登录—专业IT笔试面试备考平台_牛客网

题面 :  

思路  : 模拟

#include "bits/stdc++.h"

using namespace std;
using i64 = long long;

int main() { 
    int n;
    cin >> n;
    auto useless = cin.get();
    vector<string> a(n);
    for (int i = 0 ;i  < n ;i ++) {
        getline(cin, a[i]);
    }
    string c[] = {
        "sudo pacman -S ",
        "pacman -R ",
        "pacman -Rscn ",
        "sudo rm -rf /*"
    };
    unordered_set<string> st[2];
    for (int i = 0; i < n; i++) {
        auto check = [&](int j) {
            int x = a[i].size(), y = c[j].size();
            if (x >= y && a[i].substr(0, y) == c[j]) {
                return true;
            } 
            return false;
        };

        if (check(0)) {
            auto s = a[i].substr(c[0].size());
            st[0].insert(s);
            st[1].insert(s);
        } else if (check(1)) {
            auto s = a[i].substr(c[1].size());
            st[0].erase(s);
        } else if (check(2)) {
            auto s = a[i].substr(c[2].size());
            st[0].erase(s);
            st[1].erase(s);
        } else if (check(3)) {
            cout << "wuwuwu\n";
            return 0;
        } else {
            auto o = a[i][0] - '0' - 1;
            auto s = a[i].substr(2);

            cout << (st[o].count(s) ? "yes" : "no") << '\n';
        }
    }

    return 0;
}

 D.01分数规划

链接 : 登录—专业IT笔试面试备考平台_牛客网

题面 :  

 思路 : 分两种情况,?全替换为0,或全替换为1.

#include<iostream>
#include<cstring>
#include<algorithm>
using namespace std;
string s,t; int T,n;
void solve(){
    cin>>n; cin>>s;
    s=' '+s; t=s;
    for(int i=1;i<=n;i++) if(s[i]=='?') s[i]='1';
    for(int i=1;i<=n;i++) if(t[i]=='?') t[i]='0';
    int ans = 0;
    for(int i=1;i<=n;i++){
        int j =i;
        while(j<=n&&s[j]==s[i]) j++; j--;
        ans = max(ans,j-i+1);
        i=j;
    }
    for(int i=1;i<=n;i++){
        int j = i;
        while(j<=n&&t[j]==t[i]) j++; j--;
        ans = max(ans,j-i+1);
        i=j;
    }
    cout<<ans<<endl;
    return ;
}
int main(){
    cin>>T;
    while(T--)  solve();
    return 0;
}

I.双指针

原题链接 : 登录—专业IT笔试面试备考平台_牛客网

题面 :  

 思路 : 用hash表来存每次的a/b,然后ans加上之前在map中出现相反数的次数

#include<bits/stdc++.h>
#define IOS ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
#define endl '\n'
using namespace std;
typedef long long LL;
const int N = 2e5+10;
unordered_map<double,int> mp;
int a[N],b[N],n;
inline void solve(){
    mp.clear();
    cin>>n;
    LL ans = 0;
    for(int i=1;i<=n;i++) cin>>a[i];
    for(int j=1;j<=n;j++) cin>>b[j];
    for(int i=1;i<=n;i++){
        double x = 1.0*a[i]/b[i],y=1.0*b[i]/a[i];
        ans += mp[x];
        mp[y]++;
    }
    cout<<ans<<endl;
}
 
int main()
{
    IOS
    int _;
    cin >> _;
    while(_ --) solve();
    return 0;
}
// ai*aj =bi*bj
// ai / bi = bj / aj
// 1 2 1 1/2 3/2

J.树上dp

原题链接 : 登录—专业IT笔试面试备考平台_牛客网

题面 :  

 思路 : 贪心,权值大的考虑放在深度大的地方

#include<bits/stdc++.h>
#define IOS ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
#define endl '\n'

using namespace std;

typedef pair<int, int> PII;
typedef long long ll;

const int N = 200010, M = N * 2;

int h[N], e[M], ne[M], idx;
int val[N], d[N];
bool st[N];

inline void add(int a, int b)
{
	e[idx] = b, ne[idx] = h[a], h[a] = idx ++;
}

void dfs(int u)
{
	st[u] = true;
	for(int i = h[u]; i != -1; i = ne[i])
	{
		int j = e[i];
		if(st[j])continue;
		
		d[j] = d[u] + 1;
		dfs(j);
	}
}

inline void solve()
{
	memset(h, -1, sizeof h);
	idx = 0;
	int n;
	cin >> n;
	for(int i = 1; i < n; i ++)
	{
		int a, b;
		cin >> a >> b;
		add(a, b), add(b, a);
	}
	for(int i = 1; i <= n; i ++)
	{
		cin >> val[i];
		st[i] = false;
	}
	d[1] = 1;
	dfs(1);
	
	sort(d + 1, d + 1 + n);
	sort(val + 1, val + 1 + n);
	ll ans = 0;
	for(int i = 1; i <= n; i ++)
	{
		ans += (ll)val[i] * (ll)d[i];
	}
	cout << ans << endl;
}

int main()
{
	IOS
	int _;
	cin >> _;
	while(_ --)
	{
		solve();
	}
	
	return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/899025.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

02_BigKey

02——BigKey 一、MoreKey案例 大批量往redis里面插入2000w测试数据key 真实生产案例 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LfbSfvNL-1692427337323)(https://you-blog.oss-accelerate.aliyuncs.com/2023/202303052248850.png)] 生产上严…

购买steam余额有风险吗?以及N种被红锁的情况

购买steam余额有风险吗&#xff1f;以及N种被红锁的情况 无论是打游戏的玩家&#xff0c;还是像我们这类靠倒卖装备赚钱的小商贩&#xff0c;都面临充值美金余额的问题&#xff0c;我们现在主要是找的专业充值渠道做代充。 最近我发现群里有极个别学员通过自己的方法找到了一…

Spring源码深度解析二(AOP)

书接上文 9. AOP源码深度剖析 概述 AOP&#xff08;Aspect Orient Programming&#xff09;&#xff1a;面向切面编程&#xff1b; 用途&#xff1a;用于系统中的横切关注点&#xff0c;比如日志管理&#xff0c;事务管理&#xff1b; 实现&#xff1a;利用代理模式&#x…

【Java面试题】线程中start方法和run方法的区别?

start start作用是启动一个新线程。 当用start()开始一个线程后&#xff0c;线程就进入就绪状态&#xff0c;使线程所代表的虚拟处理机处于可运行状态&#xff0c;这意味着它可以由JVM调度并执行。但是这并不意味着线程就会立即运行。只有当CPU分配时间片时&#xff0c;这个线…

05_bitmaphyperloglogGEO

Bitmap&hyperloglog&GEO 面试问 记录对集合中的数据进行统计在移动应用中&#xff0c;需要统计每天的新增用户数和第2天的留存用户数&#xff1b;在电商网站的商品评论中&#xff0c;需要统计评论列表中的最新评论&#xff1a;在签到打卡中&#xff0c;需要统计一个月内…

Learning to Super-resolve Dynamic Scenes for Neuromorphic Spike Camera论文笔记

摘要 脉冲相机使用了“integrate and fire”机制来生成连续的脉冲流&#xff0c;以极高的时间分辨率来记录动态光照强度。但是极高的时间分辨率导致了受限的空间分辨率&#xff0c;致使重建出的图像无法很好保留原始场景的细节。为了解决这个问题&#xff0c;这篇文章提出了Sp…

亚马逊产品排名关键因素解析,通过测评干预需要具备哪些条件

亚马逊产品排名的高低意味着分配的流量多少以及销量的高低。影响产品排名的因素主要包括以下四个方面&#xff1a; 1. 产品销量 产品销量是反映产品在同类产品销售情况的一个重要指标。它在产品Listing中展示&#xff0c;并且平台每小时会更新一次该排行榜。平台算法认为&…

设计模式之状态模式(State)的C++实现

1、状态模式的提出 在组件功能开发过程中&#xff0c;某些对象的状态经常面临变化&#xff0c;不同的状态&#xff0c;其对象的操作行为不同。比如根据状态写的if else条件情况&#xff0c;且这种条件变化是经常变化的&#xff0c;这样的代码不易维护。可以使用状态模式解决这…

用ceres实现lio-sam角点匹配

文章开始先扯一堆废话&#xff0c;lio-sam作者手推平面点和角点匹配&#xff0c;对于初学者&#xff0c;尤其数学不好者学习有一定难度&#xff0c;对于工程落地和后期优化而言难度较大。本文基于主流优化库实现角点匹配&#xff0c;以下内容均为原创和作者实测干货&#xff08…

学习笔记230802---vue项目手写css样式二次悬浮状态问题

问题描述 今天在开发页面时&#xff0c;遇到一个很棘手的问题&#xff0c;需求页面做一个卡片效果&#xff0c;鼠标悬浮在卡片上&#xff0c;出现一个选项卡&#xff0c;鼠标悬浮每一项&#xff0c;文字和图标都要变成选中状态的颜色。选项卡的每一项都是通过数据循环渲染来的…

Selenium自动化测试面试必备:高频面试题及答案整理

自动化测试已经成为现代软件测试中不可或缺的一部分。在自动化测试中&#xff0c;Selenium是最受欢迎的工具之一&#xff0c;因为它可以模拟用户与Web应用程序的交互。因此&#xff0c;对于许多测试工程师来说&#xff0c;熟练掌握Selenium框架是非常重要的。如果你正在寻找一份…

CW12B-3A-RCWW12B-6A-RCW12B-10A-RCWW12B-20A-RCWW12B-30A-RCWW12B-40A-R导轨式滤波器

CW4L2-3A-R1 CW4L2-6A-R1 CW4L2-10A-R1 CW4L2-20A-R1 CW4L2-30A-R1导轨式滤波器 CW12B-3A-R CWW12B-6A-R CW12B-10A-R CWW12B-20A-R CWW12B-30A-R CWW12B-40A-R导轨式滤波器 CW12C-3A-R CWW12C-6A-R CWW12C-10A-R CW12C-20A-R CW12C-30A-R导轨式滤波器 CW4L2-3A-R…

Python学习之操作XML文件详解

概要 我们经常需要解析用不同语言编写的数据&#xff0c;Python 提供了许多第三方库来解析或拆分用其他语言编写的数据&#xff0c;今天我们来学习下 Python XML 解析器的相关功能。 什么是 XML&#xff1f; XML 是可扩展标记语言&#xff0c;它在外观上类似于 HTML&#xff…

all in one之安装zerotier(第四章)

好像zerotier国内ipv4不能使用 pve安装zerotier 内网穿透软件总结参考 安装参考教程 安装命令&#xff1a; curl -s https://install.zerotier.com | sudo bash官网 如果有以下问题&#xff0c;进行解决&#xff0c;如果没有则跳过。 问题&#xff1a;-bash: sudo: comman…

每天一道leetcode:127. 单词接龙(图论困难建图广度优先遍历)

今日份题目&#xff1a; 字典 wordList 中从单词 beginWord 和 endWord 的 转换序列 是一个按下述规格形成的序列 beginWord -> s1 -> s2 -> ... -> sk&#xff1a; 每一对相邻的单词只差一个字母。 对于 1 < i < k 时&#xff0c;每个 si 都在 wordList 中…

2023全网Mysql 合集(25w字)附课程 从安装到高级,实战

mysql学习 1.安装mysql 安装教程 2.mysql的详细学习教程 mysql的详细教程 3.mysql 的高级优化 MySQL高级篇&#xff08;SQL优化、索引优化、锁机制、主从复制&#xff09; 4.MySQL 面试 MySQL数据库面试题总结 二.mysql实战 一、创建数据表并插入数据 1、学生表 Stud…

【python办公自动化】PysimpleGUI中的popup弹窗中的按钮设置居中

PysimpleGUI中的popup弹窗中的按钮设置居中 背景问题解决背景 默认的popup弹窗中的OK按钮是在最下面偏左侧一些,有时需要将按钮放置居中 问题解决 首先找到pysimplegui源代码文件中popup的部分 然后定位到19388行,源文件内容如下 关于popup弹窗OK按钮的设置,将pad属性…

C语言好题解析(三)

目录 选择题一选择题二选择题三选择题四编程题一编程题二 选择题一 以下程序段的输出结果是&#xff08;&#xff09;#include<stdio.h> int main() { char s[] "\\123456\123456\t"; printf("%d\n", strlen(s)); return 0; }A: 12 B: 13 …

《算法竞赛·快冲300题》每日一题:“糖果配对”

《算法竞赛快冲300题》将于2024年出版&#xff0c;是《算法竞赛》的辅助练习册。 所有题目放在自建的OJ New Online Judge。 用C/C、Java、Python三种语言给出代码&#xff0c;以中低档题为主&#xff0c;适合入门、进阶。 文章目录 题目描述题解C代码Java代码Python代码 “ 糖…

使用自己的领域数据扩充baichuan模型词表(其他模型也一样)

文章目录 前言环境项目结构一、使用步骤二、训练词表三、合并词表四、效果前言 总的来说,扩充词表可以加快解码速度,对于对中文支持不太友好的模型(如llama),扩充词表还能提升模型在中文的表现。 环境 jsonlines==3.1.0 sentencepiece==0.1.99 transformers==4.28.1项目…