Codeforces Round 871

目录

A. Love Story

B. Blank Space

C. Mr. Perfectly Fine

D. Gold Rush

E. The Lakes

F. Forever Winter

G. Hits Different

H. Don’t Blame Me


A. Love Story

直接逐个匹配

string a="codeforces";
void solve()
{string s; cin>>s;int cnt=0;for(int i=0;s[i];i++){if(a[i]!=s[i]) cnt++;}cout<<cnt<<endl;return ;
}

B. Blank Space


需不需要数组,直接快速判断

void solve()
{int cnt=0,now=0;cin>>n;while(n--){int x; cin>>x;if(!x) now++;else now=0;cnt=max(cnt,now);}cout<<cnt<<endl;return ;
}

C. Mr. Perfectly Fine


分类讨论注意情况的数量,是否考虑清楚了

void solve()
{int A= 1e9, B = 1e9,AB=1e9;cin>>n;while(n--){int x;string op; cin>>x>>op;if(op=="01") B=min(B,x);else if(op=="10") A=min(A,x);else if(op=="11")AB=min(AB,x);} int ans=min(A+B,AB);cout<<(ans>=1e9 ? -1 : ans)<<endl;return ;
}

D. Gold Rush


简单进制变化注意次数bfs注意处理重复

void solve()
{cin>>n>>m;map<int,bool> mp;queue<int> q;q.push(n);while(!q.empty()){int t=q.front(); q.pop();if(mp[t]) continue;mp[t]=true;if(t==m){cout<<"YES"<<endl;return ;}if(t%3==0){if(!mp.count(t/3*2)) q.push(t/3*2);if(!mp.count(t/3)) q.push(t/3);}}cout<<"NO"<<endl;return ;
}

E. The Lakes


注意bfs的时候第一个加入的点要st[x][y]=true;
接着就是在加入点的时候就进行判断已经进入了避免多次进入无用点超时


void solve()
{cin>>n>>m;for(int i=1;i<=n;i++)for(int j=1;j<=m;j++)cin>>w[i][j],st[i][j]=false;auto bfs = [&] (int x,int y){queue<PII> q;q.push({x,y});int res=w[x][y];st[x][y]=true;while(!q.empty()){auto [x,y]=q.front(); q.pop();int dx[]={0,0,1,-1},dy[]={1,-1,0,0};for(int i=0;i<4;i++){int a=x+dx[i],b=y+dy[i];if(a<1||a>n||b<1||b>m) continue;if(st[a][b]) continue;if(!w[a][b]) continue;res+=w[a][b];st[a][b]=true;q.push({a,b});}}return res;};int ans=0;for(int i=1;i<=n;i++)for(int j=1;j<=m;j++)if(!st[i][j] && w[i][j]){ans=max(ans,bfs(i,j));}cout<<ans<<endl;return ;
}

F. Forever Winter


注意题目的特征描述,找到和发现性质即可

void solve()
{map<int,int> mp;cin>>n>>m;for(int i=1;i<=n;i++) p[i]=0;while(m--){int a,b; cin>>a>>b;p[a]++,p[b]++;}int root=0,w=0,cnt=0;for(int i=1;i<=n;i++){if(p[i]==0) continue;// 无用的点if(p[i]==1) cnt++;// 最外围的点else root++;// 表示根节点和第二层的点}root--;w=cnt/root;cout<<root<<' '<<w<<endl;return ;
}

G. Hits Different


叠罗汉从上到小一定具有性质注意发现和尝试类似前缀和

LL w[N];void intn(){for(int i=1,t=1;;i++)for(int j=1;j<=i;j++,t++){if(j==1) w[t]=(LL)t*t+w[t-i+1];else if(j==i) w[t]=(LL)t*t+w[t-i];else w[t]=(LL)t*t+w[t-i]+w[t-i+1]-w[t-2*i+2];if(t>N-5) return ;}   
}
void solve()
{cin>>n;cout<<w[n]<<endl;return ;
}

H. Don’t Blame Me


dp的状态转移如果是方案数很少的我们就可以用状态机模型然后这个数选择或者是不选择带来的收益即可

int dp[65],d[65];void solve()
{cin>>n>>m;for(int i=1;i<=n;i++) cin>>a[i];// 可以理解为滚动数组memset(dp,0,sizeof dp);for(int i=1;i<=n;i++){memcpy(d,dp,sizeof dp);// 表示上一个状态的方案dp[a[i]]+=1;// 表示当前这个数选择它自己for(int j=0;j<=64;j++){// 表示在之前数的基础上选择当前这个数带来的收益是什么int x=j&a[i];(dp[x]+=d[j])%=mod;}}int ans=0;for(int i=0;i<=64;i++)if(__builtin_popcount(i)==m) (ans+=dp[i])%=mod;cout<<ans<<endl;return ;
}

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

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

相关文章

快速理解MoE模型

最近由于一些开源MoE模型的出现&#xff0c;带火了开源社区&#xff0c;为何&#xff1f;因为它开源了最有名气的GPT4的模型结构&#xff08;OPEN AI&#xff09;&#xff0c;GPT4为何那么强大呢&#xff1f;看看MoE模型的你就知道了。 MoE模型结构&#xff1a; 图中&#xff0…

Netty-ChannelHandle的业务处理

ChannelHandle结构 ChannelHandler基础接口 基础接口里面定义的基础通用方法。增加handler&#xff0c;移除handler&#xff0c;异常处理。 ChannelInboundHandler public interface ChannelInboundHandler extends ChannelHandler {/*** The {link Channel} of the {link Ch…

猫突然不吃东西没精神?性价比高可以迅速恢复精神的生骨肉冻干推荐

猫突然不吃东西没精神怎么办&#xff1f;当猫咪不吃东西、精神不振时&#xff0c;可能是由于健康问题、环境因素或食物原因所引起。首先应进行身体检查&#xff0c;观察是否有其他并发症&#xff0c;如无则可排除健康问题。为猫咪提供安全舒适的环境、给予关爱&#xff0c;可改…

亚信安慧AntDB:AntDB-M元数据锁(七)

5.4.5 慢路径锁的授予条件 当且仅当满足如下两个条件时&#xff0c;才可以授予锁。 1. 其他线程没有持有不兼容类型锁。 2. 当前申请的锁的优先级高于请求等待列表中的。 首先通过锁位图判断等待队列&#xff0c;不兼容则不能授予锁。再判断快速路径&#xff0c;不兼容则不…

win11下 “pytorch导出模型“ 以及 “C++使用onnxruntime部署”

部分一&#xff1a;PyTorch导出模型 在Win11下&#xff0c;PyTorch是一个强大的深度学习框架&#xff0c;它提供了丰富的工具来训练和导出模型。在这一部分&#xff0c;我们将使用鸢尾花数据集&#xff0c;演示如何在PyTorch中训练一个简单的模型&#xff0c;并将其导出为ONNX…

改变this指针的三个方法?

要改变 this 的指向&#xff0c;JavaScript 提供了一系列的方法&#xff1a; call()&#xff1a; 使用 call() 可以直接改变 this 的指向。它接受两个参数&#xff1a;第一个是要调用的目标函数&#xff0c;第二个是将作为 this 的值的对象或对象引用的数组。例如&#xff0c…

protobuf-go pragma.go 文件介绍

pragma.go 文件 文件位于&#xff1a; https://github.com/protocolbuffers/protobuf-go/blob/master/internal/pragma/pragma.go 该文件核心思想&#xff1a; 利用 Golang 语法机制&#xff0c;扩展 Golang 语言特性 目前&#xff0c;该文件提供以下 4 个功能&#xff1a; …

C++STL模板库

类&#xff1a; pair: 头文件&#xff1a;<utility> 定义&#xff1a; 是一个标准库类型。可以看作是有两个成员变量first和second的结构体&#xff0c;并且重载了<运算符(先比较first大小&#xff0c;再比较second大小)当我们创建一个pair时&#xff0c;必须提供两…

SQLite 简介

什么是SQLite&#xff1f; SQLite是一个轻量级的嵌入式关系型数据库&#xff0c;它以一个小型的C语言库的形式存在。它的设计目标是嵌入式的&#xff0c;而且已经在很多嵌入式产品中使用了它&#xff0c;它占用资源非常的低&#xff0c;在嵌入式设备中&#xff0c;可能只需要几…

机器学习面试题总结60-99

目录 60、Python到底是什么样的语言? 61.Python是如何进行内存管理的? 引用计数和垃圾回收。

leetcode-存在重复元素

217. 存在重复元素 把列表转成集合&#xff0c;我们知道集合中是没有重复元素的&#xff0c;然后和原列表的长度做对比&#xff0c;不相等说明是有重复元素的 class Solution:def containsDuplicate(self, nums: List[int]) -> bool:if len(set(nums)) len(nums):return …

状态码400以及状态码415

首先检查前端传递的参数是放在header里边还是放在body里边。 此图前端传参post请求&#xff0c;定义为’Content-Type’&#xff1a;‘application/x-www-form-urlencoded’ 此刻他的参数在FormData中。看下图 后端接参数应为&#xff08;此刻参数前边什么都不加默认为requestP…

Qt QScrollArea 不显示滚动条 不滚动

使用QScrollArea时&#xff0c;发现添加的控件超出QScrollArea 并没有显示&#xff0c;且没有滚动条效果 原因是 scrollArea指的是scrollArea控件本身的大小&#xff0c;肉眼能看到的外形尺寸。 scrollAreaWidgetContents指的是scrollArea控件内部的显示区域&#xff0c;里面可…

2024 高级前端面试题之 React 「精选篇」

该内容主要整理关于 React 模块的相关面试题&#xff0c;其他内容面试题请移步至 「最新最全的前端面试题集锦」 查看。 React模块精选篇 1. 如何理解React State不可变性的原则2. JSX本质3. React合成事件机制4. setState和batchUpdate机制5. 组件渲染和更新过程6. Diff算法相…

windows server 开启远程连接RDP连接

windows server 开启远程连接&#xff0c;RDP连接windows server 打开gpedit.msc, 找到计算机配置-管理模板-windows组件-远程桌面服务-远程桌面会话主机-授权 1 使用指定的远程桌面许可证服务器 2 设置远程桌面授权模式 3 重启windows server服务器生效 4使用mstsc命令连接…

未来每家公司都需要有自己的大模型- Hugging Face创始人分享

自ChatGPT发布以来&#xff0c;有人称其是统治性一切的模型。Hugging Face创始人兼首席执行官Clem Delangue介绍&#xff0c;Hugging Face平台已经有15000家公司分享了25万个开源模型&#xff0c;当然这些公司不会为了训练模型而训练模型&#xff0c;因为训练模型需要投入大量资…

Springboot自定义线程池实现多线程任务

1. 在启动类添加EnableAsync注解 2.自定义线程池 package com.bt.springboot.config;import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.scheduling.concurrent.ThreadPoolTask…

记录 | ubuntu nm命令的基本使用

什么是nm命令 nm命令是linux下针对某些特定文件的分析工具&#xff0c;能够列出库文件&#xff08;.a、.lib&#xff09;、目标文件&#xff08;*.o&#xff09;、可执行文件的符号表。 nm命令的常用参数 -A 或 -o 或 --print-file-name&#xff1a;打印出每个符号属于的文件…

webassembly003 TTS BARK.CPP

TTS task TTS&#xff08;Text-to-Speech&#xff09;任务是一种自然语言处理&#xff08;NLP&#xff09;任务&#xff0c;其中模型的目标是将输入的文本转换为声音&#xff0c;实现自动语音合成。具体来说&#xff0c;模型需要理解输入的文本并生成对应的语音输出&#xff0…

Mysql 为表增加计算列

什么叫计算列呢&#xff1f;简单来说就是某一列的值是通过别的列计算得来的。 增加计算列的语法格式如下&#xff1a; col_name data_type [GENERATED ALWAYS] AS (expression) [VIRTUAL | STORED] [UNIQUE [KEY]] [COMMENT comment] [NOT NULL | NULL] [[PRIMARY] KEY]; 下…