信息工程大学第五届超越杯程序设计竞赛(同步赛)vp

目录

A.遗失的旋律

C.财政大臣

D.实验室有多少人

E.在雾中寻宁静

F.不规则的轮回

G.完美数字

M.Monika's game


A.遗失的旋律

思路:模拟即可

代码如下:

#include<bits/stdc++.h>using namespace std;
#define fs first
#define sc second
#define all(x) x.begin(),x.end()
typedef long long ll;
typedef pair<int,int> PII;const int mod = 998244353;int main()
{cin.tie(0);cout.tie(0);ios::sync_with_stdio(0);int n,q;cin>>n>>q;string s;cin>>s;while(q--){int op;cin>>op;if(op==1){int y;cin>>y;s[y-1]^=1;}else{int x,l,r;cin>>x>>l>>r;l--,r--;for(int i=l;i<=r;i++){if(s[i]=='0')x=(x+1)%mod;else x=(2*x)%mod;}cout<<x<<endl;}}return 0;
}

C.财政大臣

思路:用邻接表来存图,用数组存每个点的money,每次有变动从根结点dfs一下,记录变化值。

代码如下:

#include<bits/stdc++.h>using namespace std;
#define fs first
#define sc second
#define all(x) x.begin(),x.end()
typedef long long ll;
typedef pair<int,int> PII;const int N = 1e5+10,M = 2*N;int e[M],ne[M],h[N],idx;int n,m;int v[N];//记录每个城市的moneyll range[N];//变化值void add(int a,int b)
{e[idx]=b,ne[idx]=h[a],h[a]=idx++;
}void dfs(int u,int fa)//fa表示父亲,不能向上搜索;s表示当前这个结点的变化量(从根结点向下累加)
{range[u]+=range[fa];for(int i=h[u];~i;i=ne[i]){int j=e[i];if(j!=fa)dfs(j,u);   }
}
void solve()
{memset(h,-1,sizeof(h));cin>>n>>m;for(int i=0;i<n-1;i++){int a,b;cin>>a>>b;add(a,b),add(b,a);}for(int i=1;i<=n;i++){int x;cin>>x;v[i]=x;}while(m--){int op,u,x;cin>>op>>u>>x;if(op==1)range[u]+=x;else range[u]-=x;}dfs(1,0);for(int i=1;i<=n;i++)cout<<v[i]+range[i]<<" ";
}
int main()
{cin.tie(0);cout.tie(0);ios::sync_with_stdio(0);solve();return 0;
}

D.实验室有多少人

思路:用pair维护信息,排序然后遍历即可,1为到达,2为离开

代码如下:

#include<bits/stdc++.h>using namespace std;
#define fs first
#define sc second
#define all(x) x.begin(),x.end()
typedef long long ll;
typedef pair<int,int> PII;const int N = 1e6+10;bool cmp(PII a,PII b)
{if(b.fs==a.fs)return a.sc<b.sc;return a.fs<b.fs;
}
void solve()
{int n;cin>>n;vector<PII> b;for(int i=0;i<n;i++){int st,ed;cin>>st>>ed;b.push_back({st,1});b.push_back({ed,2});}sort(all(b),cmp);int ans=0,cnt=0;for(auto x:b){if(x.sc==1)cnt++;else cnt--;ans=max(ans,cnt);}cout<<ans<<endl;
}
int main()
{cin.tie(0);cout.tie(0);ios::sync_with_stdio(0);int t=1;while(t--){solve();}return 0;
}

E.在雾中寻宁静

思路:正序dfs即可完成覆盖

代码如下:

#include<bits/stdc++.h>using namespace std;
#define fs first
#define sc second
#define all(x) x.begin(),x.end()
typedef long long ll;
typedef pair<int,int> PII;const int N = 2e5+10, M = 2*N;int e[M],ne[M],h[N],idx;int n,q,col[N];void add(int a,int b)
{e[idx]=b,ne[idx]=h[a],h[a]=idx++;
}void dfs(int u,int color)
{col[u]=color;for(int i=h[u];~i;i=ne[i]){int j=e[i];dfs(j,color);}
}
void solve()
{memset(h,-1,sizeof(h));cin>>n;for(int i=1;i<=n-1;i++){int x;cin>>x;add(x,i+1);}cin>>q;vector<PII> a(q);for(int i=0;i<q;i++){int x,y;cin>>x>>y;a[i]={x,y};}for(int i=0;i<q;i++){int x=a[i].fs,y=a[i].sc;dfs(x,y);}for(int i=1;i<=n;i++)cout<<col[i]<<" ";
}
int main()
{cin.tie(0);cout.tie(0);ios::sync_with_stdio(0);int t=1;while(t--){solve();}return 0;
}

F.不规则的轮回

思路:模拟,O(1)查询

代码如下:

#include<bits/stdc++.h>using namespace std;
#define fs first
#define sc second
#define all(x) x.begin(),x.end()
typedef long long ll;
typedef pair<int,int> PII;const int N = 1e4+10;int a[N][N];void solve()
{int n;cin>>n;for(int i=0;i<n;i++){int x,y;cin>>x>>y;a[x][y]++;while(x!=y){if(x>y)x-=y;else if(x<y)y-=x;a[x][y]++;}}int q;cin>>q;while(q--){int qx,qy;cin>>qx>>qy;cout<<a[qx][qy]<<endl;}
}
int main()
{cin.tie(0);cout.tie(0);ios::sync_with_stdio(0);int t=1;while(t--){solve();}return 0;
}

G.完美数字

思路:考虑10的因子是2和5,也就是两个数字含有2,5因子的乘积可以构成10,那么min(t2,t5)就是10的个数,也就是0的个数.

copy一下好的题解qaq

代码如下:

#include<bits/stdc++.h>using namespace std;
#define fs first
#define sc second
#define all(x) x.begin(),x.end()
typedef long long ll;
typedef pair<int,int> PII;const int N = 2e5+10;int a[N],a2[N],a5[N];int sum2[N],sum5[N];//遍历区间要用到区间内的因子数量ll res;void cal(int x,int i)
{int t=x;while(t%2==0)t/=2,a2[i]++;t=x;while(t%5==0)t/=5,a5[i]++;
}
void solve()
{int n,k;cin>>n>>k;for(int i=1;i<=n;i++){cin>>a[i];cal(a[i],i);//统计a[i]中,2和5因子的数量}for(int i=1;i<=n;i++){sum2[i]=sum2[i-1]+a2[i];sum5[i]=sum5[i-1]+a5[i];}for(int l=1;l<=n;l++){for(int r=l;r<=n;r++)//一个区间可以有1个数,所以r可以从l开始{int t2=sum2[r]-sum2[l-1];int t5=sum5[r]-sum5[l-1];int sum=min(t2,t5);if(sum>=k)//如果成立,那么把他后面的数字加上去也成立,所以区间数量为n-r+1{res+=n-r+1;break;}}}cout<<res<<endl;
}
int main()
{cin.tie(0);cout.tie(0);ios::sync_with_stdio(0);int t=1;while(t--){solve();}return 0;
}

M.Monika's game

思路:n*(n-1)/2

代码如下:

#include <bits/stdc++.h>
using namespace std;
int main(){std::ios::sync_with_stdio(false);std::cin.tie(0);long long t, n;long long summ;cin >> t;for(int i = 1; i <= t; i++){cin >> n;summ = n*(n-1)/2;printf("%lld\n", summ);}return 0;
}

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

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

相关文章

中国平安八度蝉联Brand Finance全球保险品牌价值第一,品牌价值持续增长4.2%

近日&#xff0c;国际知名品牌价值评级机构Brand Finance发布《2024年全球保险品牌价值100强》&#xff0c;中国平安连续第八年蝉联全球第一&#xff0c;品牌价值高达336亿美元&#xff0c;较上年增长4.2%。榜单其余前五位依次为德国安联保险、中国人寿、法国安盛保险、中国太平…

JavaScript的事件对象

event 对象包含“与创建它的事件有关的”属性和方法。触发的事件类型不一样&#xff0c;可用的属性和方法不一样。 1.什么是事件对象 官方解释&#xff1a;event 对象代表事件的状态&#xff0c;比如键盘按键的状态、鼠标的位置、鼠标按钮的状态等。简单理解&#xff1a;事件发…

目标检测——RCNN系列学习(一)

前置知识 包括&#xff1a;非极大值抑制&#xff08;NMS&#xff09;、selective search等 RCNN [1311.2524] Rich feature hierarchies for accurate object detection and semantic segmentation (arxiv.org)https://arxiv.org/abs/1311.2524 1.网络训练 2.推理流程 3.总…

leetcode/2024.4.8/双指针简单题(1)

给定一个数组 nums&#xff0c;编写一个函数将所有 0 移动到数组的末尾&#xff0c;同时保持非零元素的相对顺序。 请注意 &#xff0c;必须在不复制数组的情况下原地对数组进行操作。 示例 1: 输入: nums [0,1,0,3,12] 输出: [1,3,12,0,0]示例 2: 输入: nums [0] 输出: […

Vant使用自定义图标(阿里图标)

前言 阿里图标官网 备用地址&#xff1a; https://www.iconfont.cn/ 添加图标 1、进入官网添加图标&#xff0c;如箭头所示 2、复制如图选中的文件&#xff0c;粘贴项目中的src/assets/icon_font/目录下 3、在main.js引入图标css //引入自定义图标 import /assets/icon_fon…

基于springboot教师人事档案管理系统,2024年最新基于web的毕业设计题目代码

管理员 教师端 目 录 摘 要 I ABSTRACT II 目 录 II 第1章 绪论 1 1.1背景及意义 1 1.2 研究现状 2 1.3 研究意义 3 第2章 相关技术 4 2.1 系统开发平台 5 2.2 平台开发相关技术 6 第3章 系统分析 7 3.1 系统目标 8 3.2系统流程和逻辑 9 第4章系统概要设计 10 4…

Vue常见简写 “:“ , “@“ , “#“

一、 : 是什么&#xff1f; 1. : 是什么意思? 示例&#xff1a;:data"tableData" 其中这个 : 其实是v-bind的简写形式,实际开发中非常常见,所以首先先来说一下这个 : 的意义和使用. 首先需要了解一下v-bind,v-bind指令指示Vue将元素的id属性与组件的tabalData属…

Linux虚拟主机中如何进行扫描检查恶意软件

看到论坛中有网友留言想要知道Linux虚拟主机上是否有扫描检测工具可以检测病毒文件或者恶意软件的。因为想要知道是否有此功能&#xff0c;以便他后去购买产品是可以更清晰的去咨询以及了解。正如这边是有使用Hostease提供商的Linux 虚拟主机&#xff0c;而cPanel中如何进行扫描…

012——LED模块驱动开发(基于I.MX6uLL)

目录 一、 硬件原理图 二、 驱动程序 三、 应用程序 四、 Makefile 五、操作 一、 硬件原理图 又是非常经典的点灯环节 &#xff0c;每次学新语言第一步都是hello world&#xff0c;拿到新板子或者学习新的操作系统&#xff0c;第一步就是点灯。 LED 的驱动方式&#xff0…

2024年阿里云优惠券(代金券)在哪里领取?

阿里云作为国内领先的云计算服务提供商&#xff0c;不仅提供了稳定、高效的云服务&#xff0c;还时常推出各种优惠活动&#xff0c;以此来吸引用户上云。其中&#xff0c;阿里云优惠券就是一种常见的优惠方式。那么&#xff0c;在2024年&#xff0c;我们该如何领取阿里云优惠券…

[开源] 基于GRU的时间序列预测模型python代码

基于GRU的时间序列预测模型python代码分享给大家&#xff0c;记得点赞哦 #!/usr/bin/env python # coding: utf-8import time time_start time.time() import numpy as np import matplotlib.pyplot as plt import pandas as pd import math from keras.models import Sequent…

Python第四次作业

周六&#xff1a; 1. 找出10000以内能被5或6整除&#xff0c;但不能被两者同时整除的数&#xff08;函数&#xff09; def find_number():for number in range(0,10000):if number % 5 0 or number % 6 0:if number % 5 ! number % 6:ls.append(number)print(ls)ls [] fin…

Git Flow困境逃脱指南

本来来自极狐GitLab 资源中心&#xff0c;原文链接&#xff1a;https://resources.gitlab.cn/articles/020183ba-cfc0-4917-b901-248acdcfc92f。 GitLab 是一个全球知名的一体化 DevOps 平台&#xff0c;很多人都通过私有化部署 GitLab 来进行源代码托管。极狐GitLab &#xff…

面板数据回归模型(二)房价的影响因素分析

1.数据来源 本文选择我国出一线城市房价均值、新一线城市房价均值、二线城市房价均值、货币供应量和利率。选取2002-2018年的数据,共17组数据,由于数据的自然对数变换不改变原有的协整关系,并能使其趋势线性化,消除时间序列中存在的异方差现象,所以对所有数据取其自然对数…

Java多线程+分治求和,太牛了

shigen坚持更新文章的博客写手&#xff0c;擅长Java、python、vue、shell等编程语言和各种应用程序、脚本的开发。记录成长&#xff0c;分享认知&#xff0c;留住感动。 个人IP&#xff1a;shigen 最近的一个面试&#xff0c;shigen简直被吊打&#xff0c;简历上写了熟悉高并发…

大模型实践:如何选择适合自己场景的Prompt框架?

1. 选择适合自己场景的Prompt框架需要考虑哪些因素&#xff1f; 以下是一些关键的步骤和考虑点&#xff1a; 理解任务需求&#xff1a;首先&#xff0c;明确你的任务类型&#xff08;如文本生成、问答、文本分类、机器翻译等&#xff09;和具体需求。不同的任务可能需要不同类…

蓝桥杯DFS-最大数字

解题思路 我们从最高位开始要利用自己的1号操作和2号操作保证当前这个数位的数一定要尽可能最大。 然后分别考虑两种操作&#xff0c;首先两种操作不可能混用&#xff0c;因为它们是抵消的效果&#xff0c;所以要么对这个数全使用1操作&#xff0c;要么2操作。假设某个数位的…

[论文精读]Spatio-Temporal Graph Convolution for Resting-State fMRI Analysis

论文网址&#xff1a;Spatio-Temporal Graph Convolution for Resting-State fMRI Analysis | SpringerLink 论文代码&#xff1a;GitHub - sgadgil6/cnslab_fmri: CNS (Computational Neuroscience) Lab project for age/sex classification of fMRI scans 英文是纯手打的&a…

键值数据库Redis——Windows环境下载安装+命令行基本操作+Java操纵Redis

文章目录 前言一、下载与安装&#xff08;Windows环境&#xff09;** 检查数据库连接状态 **** 查看Redis数据库信息 ** 二、Redis五种数据结构与基本操作获取所有的key——keys *清空所有的key——flushall2.1 字符串操作2.2 散列操作2.3 列表操作2.4 集合操作2.5 位图操作 三…

小核引导RTOS---RISC-V C906

文章目录 参考日志编译框架目标fip 启动流程fip文件组成BL2程序 总结思考备注 参考 参考1. How does FSBL load the FreeRTOS on the small core and execute it?参考2. Duo now supports big and little cores?Come and play!Milk-V Duo, start&#xff01;参考3. 使用uboo…