河南萌新联赛2024第(二)场:南阳理工学院

news2024/9/20 22:48:36

河南萌新联赛2024第(二)场:南阳理工学院

2024.7.24 13:00————15:00

过题数5/11
补题数6/11

  • 国际旅行Ⅰ
  • 国际旅行Ⅰ
  • 小w和大W的决斗。
  • A*BBBB
  • “好”字符
  • 水灵灵的小学弟
  • lxy的通风报信
  • 狼狼的备忘录
  • 重生之zbk要拿回属于他的一切
  • 这是签到
  • Magic Cube

A - 国际旅行Ⅰ

题解:
n个国家,每个国家中a[i]个城市,国家之间一共修建了m条道路,q次询问每次输出从第一个国家能到达的城市数量第k少的国家有多少个城市。
这个问题的重点在于“保证各个国家之间可以相互到达”,所以就非常简单了,直接排序后输出第k少的国家即可。
代码:

#include <bits/stdc++.h>

using namespace std;
#define int long long
const int N = 1200;
int n,m,q;
int a[N];

signed main() {
    cin >> n >> m >> q;
    for (int i = 1; i <= n;i++) {
        cin >> a[i];
    }sort(a+1,a+1+n);
    while(m--) {
        int u,v;
        cin >> u >> v;
    }
    while(q--) {
        int k;
        cin >> k;
        cout << a[k] << endl;
    }
    return 0;
}

D - A*BBBB

题解:
求a*b的值,其中b的每一位都相同,a,b的长度小于1e6。
大概就是这么一个相乘的部分,a的长度小于b时中间会有一部分全部的相加,也可以画图得出。
在这里插入图片描述

代码:

#include<iostream>
#include<algorithm>
#include<vector>
#include<map>
#include<cmath>

using namespace std;
#define int long long
string a,b;

signed main() {
    ios::sync_with_stdio(false);
    cin.tie(0);
    cout.tie(0);
    int t;
    cin >> t;
    while(t--) {
    cin >> a >> b;
    reverse(a.begin(),a.end());
    int cur = 0,cur2 = 0;
    string ans;
    for (int i = 0; i < a.size()+b.size();i++) {
        if(i < a.size())cur+=a[i]-'0';
        //右半部分
        if(i >= b.size())cur-=a[i-b.size()]-'0';
        //后来就一直在减减减
        cur2 += cur*(b[0]-'0');
        //✖️总和
        ans += cur2 % 10 +'0';
        cur2/=10;
        //上一位的进位
    }
    while(ans.size() > 1 && ans.back() == '0') {
    //看看这一位到底有没有数字
    //如果用if判断,注意0特殊情况,会有很多个0输出
        ans.pop_back();
    }
    reverse(ans.begin(),ans.end());
    cout << ans << endl;}
    return 0;
}

F - 水灵灵的小学弟

题解:
取石子小游戏,balalabalala,然后输出胜利选手的名字大写首字母,可以发现俩个人的名字缩写是一样的,所以直接输入输出即可。
代码:

#include<bits/stdc++.h>

using namespace std;
#define int long long
int t;

signed main () {
    cin >> t;
    while(t--) {
        int a,b;
        cin >> a >> b;
        cout << "DHY" << endl;
    }
    return 0;
}

H - 狼狼的备忘录

题解:
n本备忘录,每行给出成员名字,星座信息数量,星座信息,现在要求整理信息,如果星座信息x是y的后缀,只保留y,同一个成员的相同星座信息只保留一个,最后按照成员的名字字典序,星座信息字典序输出,格式要求成员名字 条目数信息 星座信息。
数据不大,可以直接暴力,在后缀方面稍微多写了一会,但其实也可以直接暴力for循环查找,set自动排序去重。
代码:

#include<bits/stdc++.h>

using namespace std;
#define int long long
int n;
map<string,pair<int,int>>mp;
vector<string>s[30];

signed main() {
    cin >> n; 
    int t = 1;
    for (int i = 1; i <= n; i++) {
        string ls;
        cin >> ls;
        mp[ls].first++;
        int p;
        cin >> p;
        if(mp[ls].first!=1) {
            for (int i = 1; i <= p; i++) {
                string la;
                cin >> la;
                s[mp[ls].second].push_back(la);
            }
        }
        else {
            mp[ls].second = t;
            for (int i = 1; i <= p;i++) {
                string la;
                cin >> la;
                s[t].push_back(la);
            }
            t++;
        }
    }cout << mp.size() << endl;
    for (auto x :mp) {
        cout << x.first << ' ';
        set<string>ls;
        sort(s[x.second.second].begin(),s[x.second.second].end());
        for (auto y:s[x.second.second]) {
            bool st = true;
            for (auto z:s[x.second.second]) {
                if(z.length() <= y.length())continue;
                bool stt = true;
                for (int i = 0; i < y.length(); i++) {
                    if(z[z.length()-1-i]!=y[y.length()-1-i]){
                        stt = false;
                        break;
                    }
                }
                if(stt){
                    st = false;
                    break;
                }
            }
            if(st) {
                ls.insert(y);
            }
        }
        cout << ls.size() << ' ';
        for (auto x : ls) {
            cout << x << ' ';
        }
        cout << endl;
    }
    return 0;
}

I - 重生之zbk要拿回属于他的一切

题解:
给出一个字符串s,求其中子串chuan的数量。
直接暴力即可。
代码:

#include<bits/stdc++.h>

using namespace std;
#define int long long
int n;
string s;

signed main() {
    cin >> n;
    cin >> s;
    int ans = 0;
    for (int i = 0; i <= n-5; i++) {
        if(s[i] == 'c' && s[i+1] == 'h' && s[i+2] == 'u' && s[i+3] == 'a' && s[i+4] == 'n')ans++;
    }
    cout << ans << endl;
    return 0;
}//这是我一直以来的写法,但我忽然意识到一个问题,万一它特别长的话其实有点浪费时间,所以再给出一种写法
#include<bits/stdc++.h>

using namespace std;
#define int long long
int n;
string s;

signed main() {
    cin >> n;
    cin >> s;
    int ams = 0;
    for (int i = 0; i < n; i++) {
        string g = s.substr(i,5);
        //字符串的一些基本应用,本来想用find发现并不方便,而且大家都用的这个不知道为什么
        if(g == "chuan")ams++;
    }
    cout << ams << endl;
    return 0;
}

J - 这是签到

题解:
给出n行m列的行列式,求从(1,1)开始构成的最大的行列式。
数据较小,直接暴力即可,注意行列式的计算,全排列。
(我的代码太冗余了,给出示意代码)
代码:

#include<bits/stdc++.h> 
#define int long long
#define ull unsigned long long
using namespace std;
typedef pair<int,int>PII;
typedef pair<int,PII>PPI;
const int N=2e5+7;
const int N1=1e7;
const int M=1e9+7;
const ull mask = std::chrono::steady_clock::now().time_since_epoch().count();
const int M1=19260817;
const int base=233;
const int base1=131;
int ans[N];
int A[15][15];
int p[10];
int get(int a[],int n)
{
	int sum=0;
	for(int i=1;i<=n;i++)
	{
		for(int j=i+1;j<=n;j++)
		{
			if(a[i]>a[j])sum++;
		}
	}
	return sum;
}
void solve()
{
	int n,m;
	cin>>n>>m;
	for(int i=1;i<=n;i++)
	{
		for(int j=1;j<=m;j++)
		{
			cin>>A[i][j];
		}
		p[i]=i;
	}
	int mi=1e18;
	for(int k=1;k<=max(n,m);k++)
	{
	//每一维的值
		int sum=0;
		do{
			int an=get(p,k);
			//逆序对数量
			int mul=pow(-1,an);
			for(int j=1;j<=k;j++)
			{
				mul*=A[j][p[j]];
			}
			sum+=mul;
			//加上所有的情况
		}while(next_permutation(p+1,p+1+k));
		mi=min(mi,sum);
	}
	cout<<mi<<"\n";
	
}
signed main()
{
	std::ios::sync_with_stdio(false);
	//	cin.tie(0);cout.tie(0);
	int _=1;
	//	cin>>_;
	while(_--)
	{
		solve();
	}
}

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

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

相关文章

THS配置keepalive(yjm)

启动完THS管理控制台和THS后&#xff0c;登录控制台&#xff0c;进入实例管理》节点管理&#xff0c;可以分别使用界面配置和编辑配置设置长连接。 1、界面配置 点击界面配置》集群设置&#xff0c;启用长连接&#xff0c;设置长连接数、最大请求数和超时时间。 2、编辑配置 …

文章自然润色 API 数据接口

文章自然润色 API 数据接口 ai / 文本处理 基于 AI 的文章润色 专有模型 / 智能纠错。 1. 产品功能 基于自有专业模型进行 AI 智能润色对原始内容进行智能纠错高效的文本润色性能全接口支持 HTTPS&#xff08;TLS v1.0 / v1.1 / v1.2 / v1.3&#xff09;&#xff1b;全面兼容…

12.Spring事务和事务传播机制

文章目录 1.为什么需要事务2.Spring 中事务的实现2.1 MySQL 中的事务使⽤2.2 Spring 编程式事务2.3 Spring 声明式事务&#xff08;自动&#xff09;2.3.1 Transactional 作⽤范围2.3.2 Transactional 参数说明2.3.3 注意事项2.3.4 Transactional ⼯作原理 3.事务隔离级别3.1 事…

Python 爬虫 instagram api获取用户主页tagged media标记内容

此instagramAPI接口可获取指定用户主页tagged media标记内容 详细采集页面参考下图及链接&#xff0c;如有需要&#xff0c;可通过文末链接联系我们。 https://www.instagram.com/javan/tagged/ 请求API http://api.xxxx.com/ins/user/tagged?user_id18527&count12&…

网络原理_初识

目录 一、局域网LAN 二、广域网WAN 三、网络通信基础 3.1 IP地址 3.2 端口号 3.3 协议 3.4 五元组 3.5 OSI七层模型 3.6 TCP/IP五层模型 3.7 网络设备所在分层 3.8 封装和分用 总结 一、局域网LAN 局域网&#xff0c;即 Local Area Network&#xff0c;Local 即标…

基于opencv[python]的人脸检测

1 图片爬虫 这里的代码转载自&#xff1a;http://t.csdnimg.cn/T4R4F # 获取图片数据 import os.path import fake_useragent import requests from lxml import etree# UA伪装 head {"User-Agent": fake_useragent.UserAgent().random}pic_name 0 def request_pic…

FL Studio 21.2.3.4004中文直装版及FL Studio 204如何激活详细教程

在数字化音乐制作的浪潮中&#xff0c;FL Studio 24.1.1.4234的发布无疑又掀起了一股新的热潮。这款由Image-Line公司开发的数字音频工作站&#xff08;DAW&#xff09;软件&#xff0c;以其强大的功能和易用的界面&#xff0c;赢得了全球无数音乐制作人的青睐。本文将深入探讨…

ELK日志收集之多文件提取文件名和日志时间

需求&#xff1a;多个设备的日志同时保存在一台服务器上&#xff0c;日志文件的文件名是设备的ID&#xff0c;需要将多个文件提取文件名作为最终的筛选字段&#xff0c;同时提取日志中的时候日期时间替换系统的timestamp filebeat配置&#xff1a; filebeat.inputs:- type:…

机器学习的运作原理和算法分类,让机器学习更加通俗易懂

&#x1f468;‍&#x1f4bb;个人主页&#xff1a;开发者-曼亿点 &#x1f468;‍&#x1f4bb; hallo 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! &#x1f468;‍&#x1f4bb; 本文由 曼亿点 原创 &#x1f468;‍&#x1f4bb; 收录于专栏&#xff1a…

Top-down Microarchitecture Analysis Method

1、英文链接&#xff1a; 1. https://www.intel.com/content/www/us/en/docs/vtune-profiler/cookbook/2023-0/top-down-microarchitecture-analysis-method.html 2. http://portal.nacad.ufrj.br/online/intel/vtune2017/help/GUID-02271361-CCD4-410C-8338-4B8158157EB6.ht…

低代码如何加速数字化转型

数字化转型&#xff0c;正日益决定企业成功的关键。这里的一个关键因素是它可以以更快的速度和质量来实施技术计划。在当今瞬息万变的商业环境中&#xff0c;战略性地采用低代码平台对于旨在加快上市时间、增强业务敏捷性和促进跨团队无缝协作的首席技术官来说至关重要。日益增…

Python | Leetcode Python题解之第279题完全平方数

题目&#xff1a; 题解&#xff1a; class Solution { public:// 判断是否为完全平方数bool isPerfectSquare(int x) {int y sqrt(x);return y * y x;}// 判断是否能表示为 4^k*(8m7)bool checkAnswer4(int x) {while (x % 4 0) {x / 4;}return x % 8 7;}int numSquares(i…

Jmeter混合压测(2407)

一 压测需求&#xff1a; 电商作为服务端&#xff0c;至少需要满足并发量,QPS:100/s,TPS:20/s。例如场景&#xff1a; 电商交易中&#xff0c;商品图片请求量最多&#xff0c;电商服务端需要满足并发请求查询图片信息。各家可能会并发请求同一家电商商品、订单等内容。 二 压…

【React】条件渲染:深入探讨高效开发技巧与最佳实践

文章目录 一、什么是条件渲染&#xff1f;二、条件渲染的实现方式三、条件渲染的最佳实践四、复杂条件渲染的实现 在现代前端开发中&#xff0c;React 已成为开发者构建用户界面的首选框架之一。React 的强大之处在于其组件化和状态管理能力&#xff0c;而条件渲染则是 React 开…

WebGIS的地图渲染|SVG|Canvas|Canvas

说到地图&#xff0c;平时我们使用过百度地图、高德地图、腾讯地图等&#xff0c;如果涉及地图开发需求&#xff0c;也有很多选择&#xff0c;如前面提到的几个地图都会提供一套JS API&#xff0c;此外也有一些开源地图框架可以使用&#xff0c;如OpenLayers、Leaflet、Mapbox、…

Drools 决策表的使用与说明(一)

Drools 决策表的使用与说明 Drools决策表的使用官方文档决策表说明决策表使用方式执行drl代码及结果 Drools决策表的使用 官方文档决策表说明 Drools 决策表的使用 16.7. Spreadsheet decision tables 决策表使用方式 在Drools中&#xff0c;决策表通常是以Excel&#xff08…

ctfshow-web入门-php特性(web132-web136)

目录 1、web132 2、web133 3、web134 4、web135 5、web136 1、web132 存在 robots.txt 访问 /admin 需要传三个参数&#xff0c;并且需要满足&#xff1a; if($code mt_rand(1,0x36D) && $password $flag || $username "admin"){if($code admin){ech…

java发送https请求支持tls1.3

说明&#xff1a;java 8_u201及以下版本不支持tls1.3协议发送。最直接的方法是升级到该版本之上。 另外&#xff1a;需要修改一下代码强行使用tls1.3协议。如果只修改代码&#xff0c;不升级java版本会报错找不到该协议。

JavaWeb笔记_JSPEL

一.JSP相关技术 1.1 JSP由来 当我们需要向页面输出大量的HTML代码的时候,我们需要通过response对象写多次来输出HTML代码 response.getWriter().write("<font>文本</font>"); 页面的展示和servlet密不可分,不利于后期代码维护,因此推出一种可以…

docker firewalld 防火墙设置

1、环境 centos 7 firewalld docker-ce docker 默认会更改防护墙配置 导致添加的防火墙策略不生效&#xff0c;可以启用firewalld 重新设置策略 2、启用防火墙 systemctl start firewalld systemctl enable firewalld3、配置文件禁用docker 的iptables /etc/docker/daemon.js…