河南萌新联赛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第(一)场:河南农业大学 (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
文章目录 安装方式一:1. 快速部署一个简单的 EMQX 集群:2. 部署一个持久化的 EMQX 集群:3. 部署 EMQX Edge 集群和 EMQX 企业版集群: 安装方式二:定制化部署1. 使用 Pod 直接部署 EMQX Broker2. 使用 Deoloyment 部署 …...
[React]利用Webcomponent封装React组件
[React]利用Webcomponent封装React组件 为什么这么做 我个人认为,最重要的点是可以很方便地跨框架挂载和卸载wc元素(至少我在项目里是这么玩的),此外,基于wc的css沙箱以及它的shadowRoot机制,可以提供一套…...
Linux C服务需要在A服务和B服务都启动成功后才能启动
需求 C服务需要在A服务和B服务都启动成功后才能启动 服务编号服务名服务Anginx.service服务Bmashang.service服务Credis.service 实验 如果您想要 redis.service 在 nginx.service 和 mashang.service 都成功启动后才能启动,那么需要在 redis.service 的服务单元…...
VSCODE 下 openocd Jlink 的配置笔记
title: VSCODE 下 openocd Jlink 的配置笔记 tags: STM32HalCubemax 文章目录 内容VSCODE 下 openocd Jlink 的配置笔记安装完成后修改jlink的配置文件然后修改你的下载器为jlink烧录你的项目绝对会出现下面的问题那么打开下载的第一个软件 (点到这个jlink右键&…...
JVM--HostSpot算法细节实现
1.根节点枚举 定义: 我们以可达性分析算法中从GC Roots 集合找引用链这个操作作为介绍虚拟机高效实现的第一个例 子。固定可作为GC Roots 的节点主要在全局性的引用(例如常量或类静态属性)与执行上下文(例如 栈帧中的本地变量表&a…...
【Unity实战100例】Unity声音可视化多种显示效果
目录 一、技术背景 二、界面搭建 三、 实现 UIAudioVisualizer 基类 四、实现 AudioSampler 类 五、实现 IAudioSample 接口 六、实现MusicAudioVisualizer 七、实现 MicrophoneAudioManager 类 八、实现 MicrophoneAudioVisualizer 类 九、源码下载 Unity声音可视化四…...
[Cesium for Supermap] 加载3dTiles,点击获取属性
代码: // 设为椭球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宠物喂养系统 前言: 随着人们生活幸福指数的提高,越来越多的家庭选择养宠物来为生活增添乐趣。然而,由于工作等原因,许多主人无法及时为宠物提供充足的食物与水。为了解决这一问题,我设计了一款便捷的宠物喂…...
选择Maya进行3D动画制作与渲染的理由
如果你对3D动画充满热情并追求成为专业3D动画师的梦想,你一定听说过Maya——近年来3D动画的行业标准。Maya被3D艺术家广泛使用,你是否想知道为什么Maya总是他们的首选?下面一起来了解下。 一、什么是Maya? 由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与电脑通讯 第十三节课,RS232与电脑通讯1 概述2 Uart介绍2.1 概述2.2 STC89C52UART介绍2.3 STC89C52 UART寄存器介绍2.4 STC89C52 UART操作 3 C51 UART总结 第十三节课,RS232与电脑通讯 1 概述 RS232(Recommended Stand…...
当代政治制度(练习题)
当代政治制度(练习题) Rz整理 仅供参考 干部鉴定必须坚持德才兼备原则,考核内容包括(A.德 B.廉 C.能 D.勤 F.绩 ) A.德 B.廉 C.能 D.勤 E.信 F.绩我国干部任用的方式主要包括(A.考任 C.委任 D.聘任 F.选任…...
前端pc和小程序接入快递100(跳转方式和api方式)====实时查询接口
文章目录 跳转方式微信小程序(我以uniapp为例)pc api接入说明关于签名计算成功示例 跳转方式 没有任何开发成本,直接一键接入 可以直接看官方文档 https://www.kuaidi100.com/openapi/api_wxmp.shtml 微信小程序(我以uniapp为例…...
电脑永久性不小心删除了东西还可以恢复吗 电脑提示永久性删除文件怎么找回 怎么恢复电脑永久删除的数据
永久删除电脑数据的操作,对于很多常用电脑设备的用户来说,可以说时有发生!但是,因为这些情况大都发生在不经意间,所以每每让广大用户感觉到十分苦恼。永久删除也有后悔药,轻松找回电脑中误删的文件。恢复文…...
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中,我们经常需要对类中的元素进行比较,例如在排序、查找等操作中。为了使类更加灵活,我们可以通过自定义比较函数来实现不同的比较方式。在本文中,我们将探讨如何在类中使用仿函数和 Lambda 表达式来定义自定义比较函数。 1. …...
文献阅读:tidyomics 生态系统:增强组学数据分析
文献介绍 文献题目: The tidyomics ecosystem: enhancing omic data analyses 研究团队: Stefano Mangiola(澳大利亚沃尔特和伊丽莎霍尔医学研究所)、Michael I. Love(美国北卡罗来纳大学教堂山分校)、Ant…...
MySQL运维实战之Clone插件(10.1)使用Clone插件
作者:俊达 clone插件介绍 mysql 8.0.17版本引入了clone插件。使用clone插件可以对本地l或远程的mysql实例进行clone操作。clone插件会拷贝innodb存储引擎表,clone得到的是原数据库的一个一致性的快照,可以使用该快照数据来启动新的实例。cl…...
【系统架构设计】数据库系统(三)
数据库系统(三) 数据库模式与范式数据库设计备份与恢复分布式数据库系统分布式数据库的概念特点分类目标 分布式数据库的架构分布式数据库系统与并行数据库系统 数据仓库数据挖掘NoSQL大数据 数据库模式与范式 数据库设计 备份与恢复 分布式数据库系统…...
【WiFi帧结构】
文章目录 帧结构MAC头部管理帧 帧结构 Wi-Fi的帧分为三部分组成:MAC头部frame bodyFCS,其中MAC是固定格式的,frame body是可变长度。 MAC头部有frame control,duration,address1,address2,addre…...
Java多线程实现之Callable接口深度解析
Java多线程实现之Callable接口深度解析 一、Callable接口概述1.1 接口定义1.2 与Runnable接口的对比1.3 Future接口与FutureTask类 二、Callable接口的基本使用方法2.1 传统方式实现Callable接口2.2 使用Lambda表达式简化Callable实现2.3 使用FutureTask类执行Callable任务 三、…...
Python如何给视频添加音频和字幕
在Python中,给视频添加音频和字幕可以使用电影文件处理库MoviePy和字幕处理库Subtitles。下面将详细介绍如何使用这些库来实现视频的音频和字幕添加,包括必要的代码示例和详细解释。 环境准备 在开始之前,需要安装以下Python库:…...
pikachu靶场通关笔记22-1 SQL注入05-1-insert注入(报错法)
目录 一、SQL注入 二、insert注入 三、报错型注入 四、updatexml函数 五、源码审计 六、insert渗透实战 1、渗透准备 2、获取数据库名database 3、获取表名table 4、获取列名column 5、获取字段 本系列为通过《pikachu靶场通关笔记》的SQL注入关卡(共10关࿰…...
JVM虚拟机:内存结构、垃圾回收、性能优化
1、JVM虚拟机的简介 Java 虚拟机(Java Virtual Machine 简称:JVM)是运行所有 Java 程序的抽象计算机,是 Java 语言的运行环境,实现了 Java 程序的跨平台特性。JVM 屏蔽了与具体操作系统平台相关的信息,使得 Java 程序只需生成在 JVM 上运行的目标代码(字节码),就可以…...
C++课设:简易日历程序(支持传统节假日 + 二十四节气 + 个人纪念日管理)
名人说:路漫漫其修远兮,吾将上下而求索。—— 屈原《离骚》 创作者:Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder😊) 专栏介绍:《编程项目实战》 目录 一、为什么要开发一个日历程序?1. 深入理解时间算法2. 练习面向对象设计3. 学习数据结构应用二、核心算法深度解析…...
CVPR2025重磅突破:AnomalyAny框架实现单样本生成逼真异常数据,破解视觉检测瓶颈!
本文介绍了一种名为AnomalyAny的创新框架,该方法利用Stable Diffusion的强大生成能力,仅需单个正常样本和文本描述,即可生成逼真且多样化的异常样本,有效解决了视觉异常检测中异常样本稀缺的难题,为工业质检、医疗影像…...
算术操作符与类型转换:从基础到精通
目录 前言:从基础到实践——探索运算符与类型转换的奥秘 算术操作符超级详解 算术操作符:、-、*、/、% 赋值操作符:和复合赋值 单⽬操作符:、--、、- 前言:从基础到实践——探索运算符与类型转换的奥秘 在先前的文…...
C# winform教程(二)----checkbox
一、作用 提供一个用户选择或者不选的状态,这是一个可以多选的控件。 二、属性 其实功能大差不差,除了特殊的几个外,与button基本相同,所有说几个独有的 checkbox属性 名称内容含义appearance控件外观可以变成按钮形状checkali…...
内窥镜检查中基于提示的息肉分割|文献速递-深度学习医疗AI最新文献
Title 题目 Prompt-based polyp segmentation during endoscopy 内窥镜检查中基于提示的息肉分割 01 文献速递介绍 以下是对这段英文内容的中文翻译: ### 胃肠道癌症的发病率呈上升趋势,且有年轻化倾向(Bray等人,2018&#x…...
