当前位置: 首页 > news >正文

河南萌新联赛2024第(一)场:河南农业大学

C-有大家喜欢的零食吗_河南萌新联赛2024第(一)场:河南农业大学 (nowcoder.com)

思路:匈牙利算法的板子题. 二部图

int n;
vector<int> vct[505];
int match[505],vis[505];
bool dfs(int s){for(auto v:vct[s]){if(vis[v]) continue;vis[v]=1;if(!match[v]||dfs(match[v])){   女生没有伴侣,或者其伴侣可以选择其他女生match[v]=s;    糖果v被s孩子选了return 1;}}return 0;
}
有大家喜欢的零食吗
https://ac.nowcoder.com/acm/contest/86639/C
void solve(){               C   匈牙利🇭🇺--求最大匹配cin>>n;for(int i=1;i<=n;i++){int k; cin>>k;for(int j=1;j<=k;j++){      孩子选糖果int x; cin>>x;vct[i].emplace_back(x);}}int ans=0;for(int i=1;i<=n;i++){if(dfs(i)) ans++;for(int j=1;j<=n;j++) vis[j]=0; init}if(ans==n) cout<<"Yes";else cout<<"No"<<endl<<n-ans;
}

B-爱探险的朵拉_河南萌新联赛2024第(一)场:河南农业大学 (nowcoder.com)

思路:拓扑脱点之后,处理每一个环,环里的每一个点的可达大小都可以处理出来,并且同一个环中的点的可达大小都是一样的。处理完之后,再dfs处理环外的点,环外的点只要遇到!dis[x]==1的点就可以停止了.

int n;
int to[100005];     定义:to[i]为i点的下一个点
int du[100005];
int dis[100005];   定义:dis[i]为从i点走可以到达最多的点个数.
int d0=0,start;
对于每一个点,其出度只能是0/1. 但是入度可能大于1
拓扑之后脱点之后,如果构成环的话,环中的点出入度都为1.  画图可以知道双环是不存在的,因为不可能存在点的出度大于1
可以先拓扑脱点,先处理环中的距离。再处理其他环外的点.
///细节写拉了一点..wa了三发
void dfs0(int cur,int d){if(to[cur]==start) {d0=d;dis[cur]=d0;            少了这个...return;}dfs0(to[cur],d+1);dis[cur]=d0;
}
void dfs(int cur){if(dis[to[cur]]!=1){dis[cur]+=dis[to[cur]];return;}if(to[cur]!=cur) {dfs(to[cur]);dis[cur]+=dis[to[cur]];}
}
爱探险的朵拉
https://ac.nowcoder.com/acm/contest/86639/B
void solve(){                 B 拓扑脱点cin>>n;for(int i=1;i<=n;i++){cin>>to[i];if(to[i]!=i) du[i]++,du[to[i]]++;dis[i]=1;}queue<int> que;for(int i=1;i<=n;i++) if(du[i]==1) que.emplace(i);while(que.size()){int cur=que.front();que.pop();int nex=to[cur];du[cur]--,du[nex]--;if(du[nex]==1) que.emplace(nex);}for(int i=1;i<=n;i++) {if(du[i]==2&&dis[i]==1) {  这里重复跑了,得加条件dis[i]==1...一开始还加错了..写了dis[i]==0start=i;dfs0(i,1);}}int ans=1;for(int i=1;i<=n;i++) {if(dis[i]==1) dfs(i);ans=max(ans,dis[i]);}cout<<ans;
}

D-小蓝的二进制询问_河南萌新联赛2024第(一)场:河南农业大学 (nowcoder.com)

思路:思维.考虑每一位二进制位的贡献。算出1到R的贡献减去1到L-1的贡献,就是L到R的贡献.

简单枚举一下1到15的二进制可以发现,第0位是每2次出现一个1,第1位是每4次出现2个1,第3位是每8次出现4个1...计算即可,注意处理余数.

const int mod=998244353;
int count(int x){int res=0,a=2;x++;while(a/2<=x){(res+=(x/a)*(a/2))%=mod;if(x%a!=0) (res+=max(0ll,x%a-(a/2)))%=mod;        和0取maxa*=2;}return res;
}
小蓝的二进制询问
https://ac.nowcoder.com/acm/contest/86639/D
void solve(){       D   考虑每一位--差点没想到.int q; cin>>q;int l,r;while(q--){cin>>l>>r;cout<<(count(r)-count(l-1)+mod)%mod<<endl;}
}

G-旅途的终点_河南萌新联赛2024第(一)场:河南农业大学 (nowcoder.com)

思路:非常好想的二分答案,check也容易写。把前x个放入优先队列,贪心对顶k个施展魔法。

之后判断剩下的sum即可.

int n,m,k;
int arr[200005];
bool check(int x){int m0=m,k0=k;priority_queue<int> pq;for(int i=1;i<=x;i++) pq.emplace(arr[i]);   wa了一发,写成i<=n了..should be i<=xwhile(k0--&&pq.size()) pq.pop();while(pq.size()){m0-=pq.top();pq.pop();if(m0<=0) return false;}return true;
}
旅途的终点
https://ac.nowcoder.com/acm/contest/86639/G
void solve(){           G  二分答案cin>>n>>m>>k;for(int i=1;i<=n;i++) cin>>arr[i];int l=1,r=n,ans=0;while(l<=r){int mid=(l+r)>>1;if(check(mid)){ans=mid;l=mid+1;}else r=mid-1;}cout<<ans;
}

I-除法移位_河南萌新联赛2024第(一)场:河南农业大学 (nowcoder.com)

思路:糖完了。一开始居然还想着去模拟枚举一下。这是不可能的1e5个1e9相乘...实际上就是

分子/分母。。想要该值最大,尽量让最大那个值当分子即可。。然后注意要倒着找。。

int fz,fm=1;            想要fz/fm最大,那么fz肯定取能取到的最大那个数字
int ans=0;
int arr[200005];
除法移位
https://ac.nowcoder.com/acm/contest/86639/I
void solve(){           I    糖完了int n,k; cin>>n>>k;for(int i=1;i<=n;i++) cin>>arr[i];int maxn=arr[1];int idx=n,cnt=1;   倒着的...while(cnt<=k&&idx>=2){if(arr[idx]>maxn){maxn=arr[idx];ans=cnt;}idx--,cnt++;}cout<<ans;
}

F-两难抉择新编_河南萌新联赛2024第(一)场:河南农业大学 (nowcoder.com)

思路:也是糖题。简单算一下暴力枚举会枚举2.4e6次,那就直接枚举即可.

int n;
int arr[200005];
难抉择新编
https://ac.nowcoder.com/acm/contest/86639/F
void solve(){           F  一开始想复杂了,以为要拆位。。直接枚举即可.
//    int sum=0;
//    int n=200005;
//    for(int i=1;i<=200005;i++) sum+=n/i;
//    cout<<sum;        sum大概2.4e6  那么可以直接枚举cin>>n;int sum=0;for(int i=1;i<=n;i++){cin>>arr[i];sum^=arr[i];}int ans=sum;for(int i=1;i<=n;i++){int d=n/i;sum^=arr[i];for(int j=1;j<=d;j++){ans=max(ans,sum^(arr[i]+j));ans=max(ans,sum^(arr[i]*j));}sum^=arr[i];}先不考虑maxadd==0的情况,即sum的二进制全为1,的确不必理会. n=1,x=5-->ans=6cout<<ans;
}

相关文章:

河南萌新联赛2024第(一)场:河南农业大学

C-有大家喜欢的零食吗_河南萌新联赛2024第&#xff08;一&#xff09;场&#xff1a;河南农业大学 (nowcoder.com) 思路:匈牙利算法的板子题. 二部图 int n; vector<int> vct[505]; int match[505],vis[505]; bool dfs(int s){for(auto v:vct[s]){if(vis[v]) continue;…...

K8S 上部署 Emqx

文章目录 安装方式一&#xff1a;1. 快速部署一个简单的 EMQX 集群&#xff1a;2. 部署一个持久化的 EMQX 集群&#xff1a;3. 部署 EMQX Edge 集群和 EMQX 企业版集群&#xff1a; 安装方式二&#xff1a;定制化部署1. 使用 Pod 直接部署 EMQX Broker2. 使用 Deoloyment 部署 …...

[React]利用Webcomponent封装React组件

[React]利用Webcomponent封装React组件 为什么这么做 我个人认为&#xff0c;最重要的点是可以很方便地跨框架挂载和卸载wc元素&#xff08;至少我在项目里是这么玩的&#xff09;&#xff0c;此外&#xff0c;基于wc的css沙箱以及它的shadowRoot机制&#xff0c;可以提供一套…...

Linux C服务需要在A服务和B服务都启动成功后才能启动

需求 C服务需要在A服务和B服务都启动成功后才能启动 服务编号服务名服务Anginx.service服务Bmashang.service服务Credis.service 实验 如果您想要 redis.service 在 nginx.service 和 mashang.service 都成功启动后才能启动&#xff0c;那么需要在 redis.service 的服务单元…...

VSCODE 下 openocd Jlink 的配置笔记

title: VSCODE 下 openocd Jlink 的配置笔记 tags: STM32HalCubemax 文章目录 内容VSCODE 下 openocd Jlink 的配置笔记安装完成后修改jlink的配置文件然后修改你的下载器为jlink烧录你的项目绝对会出现下面的问题那么打开下载的第一个软件 &#xff08;点到这个jlink右键&…...

JVM--HostSpot算法细节实现

1.根节点枚举 定义&#xff1a; 我们以可达性分析算法中从GC Roots 集合找引用链这个操作作为介绍虚拟机高效实现的第一个例 子。固定可作为GC Roots 的节点主要在全局性的引用&#xff08;例如常量或类静态属性&#xff09;与执行上下文&#xff08;例如 栈帧中的本地变量表&a…...

【Unity实战100例】Unity声音可视化多种显示效果

目录 一、技术背景 二、界面搭建 三、 实现 UIAudioVisualizer 基类 四、实现 AudioSampler 类 五、实现 IAudioSample 接口 六、实现MusicAudioVisualizer 七、实现 MicrophoneAudioManager 类 八、实现 MicrophoneAudioVisualizer 类 九、源码下载 Unity声音可视化四…...

[Cesium for Supermap] 加载3dTiles,点击获取属性

代码&#xff1a; // 设为椭球var obj [6378137.0, 6378137.0, 6356752.3142451793];Cesium.Ellipsoid.WGS84 Object.freeze(new Cesium.Ellipsoid(obj[0], obj[1], obj[2]));var viewer new Cesium.Viewer(cesiumContainer);var scene viewer.scenescene.lightSource.ambi…...

【stm32项目】基于stm32智能宠物喂养(完整工程资料源码)

基于STM32宠物喂养系统 前言&#xff1a; 随着人们生活幸福指数的提高&#xff0c;越来越多的家庭选择养宠物来为生活增添乐趣。然而&#xff0c;由于工作等原因&#xff0c;许多主人无法及时为宠物提供充足的食物与水。为了解决这一问题&#xff0c;我设计了一款便捷的宠物喂…...

选择Maya进行3D动画制作与渲染的理由

如果你对3D动画充满热情并追求成为专业3D动画师的梦想&#xff0c;你一定听说过Maya——近年来3D动画的行业标准。Maya被3D艺术家广泛使用&#xff0c;你是否想知道为什么Maya总是他们的首选&#xff1f;下面一起来了解下。 一、什么是Maya&#xff1f; 由Autodesk开发的Maya是…...

Promise应用

创建一个 Promise 对象 let promise showLabelText() {return new Promise((resolve, reject) > {axios({method: "post",url: "/code/expose/interface/queryActionPlan",data: { situationOneId: 19999, labels: [1, 2, 3] }}).then(response > {…...

51单片机嵌入式开发:13、STC89C52RC 之 RS232与电脑通讯

STC89C52RC 之 RS232与电脑通讯 第十三节课&#xff0c;RS232与电脑通讯1 概述2 Uart介绍2.1 概述2.2 STC89C52UART介绍2.3 STC89C52 UART寄存器介绍2.4 STC89C52 UART操作 3 C51 UART总结 第十三节课&#xff0c;RS232与电脑通讯 1 概述 RS232&#xff08;Recommended Stand…...

当代政治制度(练习题)

当代政治制度&#xff08;练习题&#xff09; Rz整理 仅供参考 干部鉴定必须坚持德才兼备原则&#xff0c;考核内容包括&#xff08;A.德 B.廉 C.能 D.勤 F.绩 &#xff09; A.德 B.廉 C.能 D.勤 E.信 F.绩我国干部任用的方式主要包括&#xff08;A.考任 C.委任 D.聘任 F.选任…...

前端pc和小程序接入快递100(跳转方式和api方式)====实时查询接口

文章目录 跳转方式微信小程序&#xff08;我以uniapp为例&#xff09;pc api接入说明关于签名计算成功示例 跳转方式 没有任何开发成本&#xff0c;直接一键接入 可以直接看官方文档 https://www.kuaidi100.com/openapi/api_wxmp.shtml 微信小程序&#xff08;我以uniapp为例…...

电脑永久性不小心删除了东西还可以恢复吗 电脑提示永久性删除文件怎么找回 怎么恢复电脑永久删除的数据

永久删除电脑数据的操作&#xff0c;对于很多常用电脑设备的用户来说&#xff0c;可以说时有发生&#xff01;但是&#xff0c;因为这些情况大都发生在不经意间&#xff0c;所以每每让广大用户感觉到十分苦恼。永久删除也有后悔药&#xff0c;轻松找回电脑中误删的文件。恢复文…...

LeetCode热题100刷题16:74. 搜索二维矩阵、33. 搜索旋转排序数组、153. 寻找旋转排序数组中的最小值、98. 验证二叉搜索树

74. 搜索二维矩阵 class Solution { public:bool searchMatrix(vector<vector<int>>& matrix, int target) {int row matrix.size();int col matrix[0].size();for(int i0;i<row;i) {//先排除一下不存在的情况if(i>0&&matrix[i][0]>target…...

C++仿函数

在C中&#xff0c;我们经常需要对类中的元素进行比较&#xff0c;例如在排序、查找等操作中。为了使类更加灵活&#xff0c;我们可以通过自定义比较函数来实现不同的比较方式。在本文中&#xff0c;我们将探讨如何在类中使用仿函数和 Lambda 表达式来定义自定义比较函数。 1. …...

文献阅读:tidyomics 生态系统:增强组学数据分析

文献介绍 文献题目&#xff1a; The tidyomics ecosystem: enhancing omic data analyses 研究团队&#xff1a; Stefano Mangiola&#xff08;澳大利亚沃尔特和伊丽莎霍尔医学研究所&#xff09;、Michael I. Love&#xff08;美国北卡罗来纳大学教堂山分校&#xff09;、Ant…...

MySQL运维实战之Clone插件(10.1)使用Clone插件

作者&#xff1a;俊达 clone插件介绍 mysql 8.0.17版本引入了clone插件。使用clone插件可以对本地l或远程的mysql实例进行clone操作。clone插件会拷贝innodb存储引擎表&#xff0c;clone得到的是原数据库的一个一致性的快照&#xff0c;可以使用该快照数据来启动新的实例。cl…...

【系统架构设计】数据库系统(三)

数据库系统&#xff08;三&#xff09; 数据库模式与范式数据库设计备份与恢复分布式数据库系统分布式数据库的概念特点分类目标 分布式数据库的架构分布式数据库系统与并行数据库系统 数据仓库数据挖掘NoSQL大数据 数据库模式与范式 数据库设计 备份与恢复 分布式数据库系统…...

synchronized 学习

学习源&#xff1a; https://www.bilibili.com/video/BV1aJ411V763?spm_id_from333.788.videopod.episodes&vd_source32e1c41a9370911ab06d12fbc36c4ebc 1.应用场景 不超卖&#xff0c;也要考虑性能问题&#xff08;场景&#xff09; 2.常见面试问题&#xff1a; sync出…...

相机Camera日志实例分析之二:相机Camx【专业模式开启直方图拍照】单帧流程日志详解

【关注我&#xff0c;后续持续新增专题博文&#xff0c;谢谢&#xff01;&#xff01;&#xff01;】 上一篇我们讲了&#xff1a; 这一篇我们开始讲&#xff1a; 目录 一、场景操作步骤 二、日志基础关键字分级如下 三、场景日志如下&#xff1a; 一、场景操作步骤 操作步…...

服务器硬防的应用场景都有哪些?

服务器硬防是指一种通过硬件设备层面的安全措施来防御服务器系统受到网络攻击的方式&#xff0c;避免服务器受到各种恶意攻击和网络威胁&#xff0c;那么&#xff0c;服务器硬防通常都会应用在哪些场景当中呢&#xff1f; 硬防服务器中一般会配备入侵检测系统和预防系统&#x…...

在 Nginx Stream 层“改写”MQTT ngx_stream_mqtt_filter_module

1、为什么要修改 CONNECT 报文&#xff1f; 多租户隔离&#xff1a;自动为接入设备追加租户前缀&#xff0c;后端按 ClientID 拆分队列。零代码鉴权&#xff1a;将入站用户名替换为 OAuth Access-Token&#xff0c;后端 Broker 统一校验。灰度发布&#xff1a;根据 IP/地理位写…...

使用van-uploader 的UI组件,结合vue2如何实现图片上传组件的封装

以下是基于 vant-ui&#xff08;适配 Vue2 版本 &#xff09;实现截图中照片上传预览、删除功能&#xff0c;并封装成可复用组件的完整代码&#xff0c;包含样式和逻辑实现&#xff0c;可直接在 Vue2 项目中使用&#xff1a; 1. 封装的图片上传组件 ImageUploader.vue <te…...

【论文笔记】若干矿井粉尘检测算法概述

总的来说&#xff0c;传统机器学习、传统机器学习与深度学习的结合、LSTM等算法所需要的数据集来源于矿井传感器测量的粉尘浓度&#xff0c;通过建立回归模型来预测未来矿井的粉尘浓度。传统机器学习算法性能易受数据中极端值的影响。YOLO等计算机视觉算法所需要的数据集来源于…...

HBuilderX安装(uni-app和小程序开发)

下载HBuilderX 访问官方网站&#xff1a;https://www.dcloud.io/hbuilderx.html 根据您的操作系统选择合适版本&#xff1a; Windows版&#xff08;推荐下载标准版&#xff09; Windows系统安装步骤 运行安装程序&#xff1a; 双击下载的.exe安装文件 如果出现安全提示&…...

linux 下常用变更-8

1、删除普通用户 查询用户初始UID和GIDls -l /home/ ###家目录中查看UID cat /etc/group ###此文件查看GID删除用户1.编辑文件 /etc/passwd 找到对应的行&#xff0c;YW343:x:0:0::/home/YW343:/bin/bash 2.将标红的位置修改为用户对应初始UID和GID&#xff1a; YW3…...

实现弹窗随键盘上移居中

实现弹窗随键盘上移的核心思路 在Android中&#xff0c;可以通过监听键盘的显示和隐藏事件&#xff0c;动态调整弹窗的位置。关键点在于获取键盘高度&#xff0c;并计算剩余屏幕空间以重新定位弹窗。 // 在Activity或Fragment中设置键盘监听 val rootView findViewById<V…...

OpenLayers 分屏对比(地图联动)

注&#xff1a;当前使用的是 ol 5.3.0 版本&#xff0c;天地图使用的key请到天地图官网申请&#xff0c;并替换为自己的key 地图分屏对比在WebGIS开发中是很常见的功能&#xff0c;和卷帘图层不一样的是&#xff0c;分屏对比是在各个地图中添加相同或者不同的图层进行对比查看。…...