每日一题~ cf div3 957 D+E(若只dp,暴力枚举)

D题
简单的dp,我当时没反应过来 这是 dp,好吧,其实是很久没做题了。(脑袋木了)
题意:n m k
n 长的字符 ,m k 可以跳跃的最大距离(每次跳跃的距离1<= <=m) k 在水里游泳的最大值
字符串 包含 L (表示 是原木,可以进行跳跃。可以跳到水中或者原木上)C (鳄鱼,不可以登上鳄鱼在的地方)W(水)
能否 达到,对岸。输出yes no

在这里插入图片描述
典型的动规 dp[i] 代表 到达i 所要游的最少的米数,从两个地方转移。一个是跳着过来的,一个是 游过来的。最后比较 终点的dp值和k的大小。

时间复杂度 O(n*m)

#include <bits/stdc++.h>
using namespace std;void solve()
{int n,m,k;cin>>n>>m>>k;string s;cin>>s;s="L"+s+"L"; 这样处理,方便初始化vector<int>dp(n+2,1e9);dp[0]=0;for (int i=1;i<=n+1;i++){if (s[i]=='C')continue;从前一格的水 转移过来if (s[i-1]=='W') dp[i]=min(dp[i],dp[i-1]+1);跳过来,这里要注意 只有L 可以跳for (int j=1;j<=min(m,i);j++)if (s[i-j]=='L')dp[i]=min(dp[i],dp[i-j]);}if (dp[n+1]<=k)cout<<"YES\n";else cout<<"NO\n";
}
int main()
{std::cin.tie(nullptr)->sync_with_stdio(false);int t;cin>>t;while(t--)solve();return 0;
}

E
题意:
其实这道题就是暴力枚举。
我当时为啥没做出来,反思了一下。
我当时看完题 感觉 脑子一片空白,感觉没怎么思考,就放过去了。也是感觉自己做不下来 div3 的E。
以后即使乍一看没啥思路应该自己 看看样例,搓搓数据。想想暴力。希望能够提升的快一点。感觉赶不上大家的进步速度……(sad)
在这里插入图片描述
大致的题意:
na-b(字符串版本,-b相当于 移除 后面的b 个字符 )==na-b(数字版本)

输入 n
输出
符合条件的 a b 对的个数
a b 的值。
分析:
左边表达式的最终的结果 是 若干个n字符组成的 字符串,
右边表达式 的最终结果 不会超过六位数(1e6(七位数字,1后面六个0)-b ,肯定小于等于六位数字)
当等式成立的时候,左边字符串的长度必然小于等于6.
现在已知 n,那么我们可以枚举 a 的数值,和最终结果的位数 来确定b的值。判断等式是否成立。如果成立push 进 vector
同时注意到,最终结果 的字符串不能是空字符串,所以还要小小的判断一下。

#include <bits/stdc++.h>
using namespace std;//返回 x 的位数的 
int dec(int x)
{int res=0;while(x){res++;x/=10;} return res;
}
void solve()
{int n;cin>>n;int digit=dec(n);//数字n的位数 vector<pair<int,int>>res;for (int a=1;a<=10000;a++)for (int i=1;i<=min(6,a*digit);i++){string s=to_string (n);//这个 s 表示的是 最终的 结果 ,我的意思是 表达式的结果 while(s.size()<i)s=s+s;while(s.size()>i)s.pop_back();int m=stoll(s);if (m==a*n-(digit*a-i)&&i!=digit*a){res.push_back({a,digit*a-i});} } cout<<res.size()<<endl;for (auto v:res){cout<<v.first<<" "<<v.second<<endl;}
}
int main()
{std::cin.tie(nullptr)->sync_with_stdio(false);int t;cin>>t;while(t--){solve();}return 0;
}

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

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

相关文章

IP 地址与 CDN 性能优化

内容分发网络&#xff08;CDN&#xff09;就是通过内容分配到离用户最优的服务器来提高访问速度。而IP地址如何分配与管理就是CND技术的基础。本文将来探讨介绍CDN中的IP地址分配与管理&#xff0c;以及如何通过CDN优化网络性能。 首先我们来了解CDN的基本原理 CDN是一种分布式…

Java核心篇之JVM探秘:内存模型与管理初探

系列文章目录 第一章 Java核心篇之JVM探秘&#xff1a;内存模型与管理初探 第二章 Java核心篇之JVM探秘&#xff1a;对象创建与内存分配机制 第三章 Java核心篇之JVM探秘&#xff1a;垃圾回收算法与垃圾收集器 第四章 Java核心篇之JVM调优实战&#xff1a;Arthas工具使用及…

基于Java中的SSM框架实现暖心家装平台系统项目【项目源码+论文说明】

基于Java中的SSM框架实现暖心家装平台系统演示 摘要 自从互联网技术得到大规模的应用以后&#xff0c;传统家装企业面临全新的竞争激烈的市场环境。要想占得当前家装营销与管理的先机&#xff0c;除了要加强内部管理&#xff0c;提高企业内部运营效率&#xff0c;更要积极推进…

google 浏览器插件开发简单学习案例:计算器

1、首先&#xff0c;我们需要创建扩展的文件结构 2、创建 manifest.json 文件 是Chrome插件的配置文件&#xff0c;定义了插件的基本信息和资源。 {"manifest_version": 3,"name": "Simple Calculator","version": "1.0"…

[K8S]一、Flink on K8S

Kubernetes | Apache Flink 先编辑好这5个配置文件&#xff0c;然后再直接执行 kubectl create -f ./ kubectl get all kubectl get nodes kubectl get pods kubectl get pod -o wide kubectl get cm -- 获取所有的configmap 配置文件 kubectl logs pod_name -- 查看…

链接追踪系列-00.es设置日志保存7天-番外篇

索引生命周期策略 ELK日志我们一般都是按天存储&#xff0c;例如索引名为"zipkin-span-2023-03-24"&#xff0c;因为日志量所占的存储是非常大的&#xff0c;我们不能一直保存&#xff0c;而是要定期清理旧的&#xff0c;这里就以保留7天日志为例。 自动清理7天以前…

Java二十三种设计模式-工厂方法模式(2/23)

工厂方法模式&#xff1a;设计模式中的瑞士军刀 引言 在软件开发中&#xff0c;工厂方法模式是一种常用的创建型设计模式&#xff0c;它用于处理对象的创建&#xff0c;将对象的实例化推迟到子类中进行。这种模式不仅简化了对象的创建过程&#xff0c;还提高了代码的可维护性…

如何预防最新的baxia变种勒索病毒感染您的计算机?

引言 在当今数字化时代&#xff0c;网络安全威胁层出不穷&#xff0c;其中勒索病毒已成为企业和个人面临的重大挑战之一。近期&#xff0c;.baxia勒索病毒以其高隐蔽性和破坏性引起了广泛关注。本文将详细介绍.baxia勒索病毒的特点、传播方式&#xff0c;并给出相应的应对策略…

QT VTK 简单测试工程

目录 1 目录结构 2 文件源码 3 运行结果 4 报错及处理 使用编译好的VTK库进行测试 1 目录结构 2 文件源码 Pro文件 QT core guigreaterThan(QT_MAJOR_VERSION, 4): QT widgetsCONFIG c17# You can make your code fail to compile if it uses deprecated APIs. #…

今天我们来聊Java IO模型,BIO、NIO、AIO三种常见IO模型

一、写在开头 很久没更新喽&#xff0c;最近build哥一直在忙着工作&#xff0c;忙着写小说&#xff0c;都忘记学习自己的本职了&#xff0c;哈哈&#xff0c;不过现在正式回归&#xff01; 我们继续学习Java的IO相关内容&#xff0c;之前我们了解到&#xff0c;所谓的IO&#…

工作笔记 5 Post请求 密码加密器PasswordEncoder 小程序登录

1.微信小程序登录 1.1小程序登录流程图 1.2使用sa-token完成登录 参考csdn这位老哥的http://t.csdnimg.cn/oRgvI sa-token是一款轻量级的安全框架 1.2.1首先引入sa-token依赖 <dependency><groupId>cn.dev33</groupId><artifactId>sa-token-spring…

java日常开发中常用的集合工具类方法归总(java8 stream)

1、创建map集合的方式 方式1&#xff1a; Map<String, Object> map new HashMap<>(); map.put("a", "test"); map.put("b", "since"); 方式2&#xff1a; Map<String, Object> map2 new HashMap<>() {{…

【云原生】Prometheus整合Alertmanager告警规则使用详解

目录 一、前言 二、Altermanager概述 2.1 什么是Altermanager 2.2 Altermanager使用场景 三、Altermanager架构与原理 3.1 Altermanager使用步骤 3.2 Altermanager工作机制 3.3 Altermanager在Prometheus中的位置 四、Altermanager部署与接入Prometheus 4.1 Altermana…

ConfigMap-secrets-静态pod

一.ConfigMap 1.概述 ConfigMap资源&#xff0c;简称CM资源&#xff0c;它生成的键值对数据&#xff0c;存储在ETCD数据库中 应用场景&#xff1a;主要是对应用程序的配置 pod通过env变量引入ConfigMap&#xff0c;或者通过数据卷挂载volume的方式引入ConfigMap资源 官方解释…

UniVue@v1.4.0版本发布:运行时调试器RuntimeDebuger

GitHub仓库 发布版本仓库&#xff1a;https://github.com/Avalon712/UniVue 开发版本仓库&#xff1a;https://github.com/Avalon712/UniVue-Develop UniVue拓展框架UniVue源生成器仓库&#xff1a;https://github.com/Avalon712/UniVue-SourceGenerator 更新说明 在没有调…

【Python】Windows系统 pip 换源方法(永久 / 临时)

pip 换源 首先国内较好的镜像地址有&#xff1a; 清华&#xff1a;https://pypi.tuna.tsinghua.edu.cn/simple 阿里云&#xff1a;http://mirrors.aliyun.com/pypi/simple 豆瓣&#xff1a;http://pypi.douban.com/simple 腾讯&#xff1a;http://mirrors.cloud.tencent.com/…

Mysql数据表的约束(下)

3.默认值约束(default) 与非空约束的命令一致,因为都属于列级约束,因此只需将not null改为default 默认值即可 删除默认值约束: 4.主键约束(primary key) 表示给一张表格设置了一个唯一标识,为了更快的去通过唯一的数据去准确的查找到每一条记录,一半咱们在创建表…

【Linux】基于环形队列RingQueue的生产消费者模型

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 目录 前言 环形队列的概念及定义 POSIX信号量 RingQueue的实现方式 RingQueue.hpp的构建 Thread.hpp Main.cc主函数的编写 Task.hpp function包装器的使用 总结 前言…

关于Kafka Topic分区和Replication分配的策略

文章目录 1. Topic多分区2. 理想的策略3. 实际的策略4. 如何自定义策略 1. Topic多分区 如图&#xff0c;是一个多分区Topic在Kafka集群中可能得分配情况。 P0-RL代表分区0&#xff0c;Leader副本。 这个Topic是3分区2副本的配置。分区尽量均匀分在不同的Broker上&#xff0c…

第3章 创建最小(Minimal APIs)API应用程序

第1章 框架学习的基石与实战策略 第2章 大话ASP.NET Core 入门 第3章 创建最小&#xff08;Minimal APIs&#xff09;API应用程序 1.最小API概述 在ASP.NET Core的广阔天地里&#xff0c;"最小API应用程序"如同一把轻巧而强大的瑞士军刀&#xff0c;专为迅速构建…