Educational Codeforces Round 170 (Rated for Div. 2) A-D

本期封面原图 画师るかちか 舞台剧篇的阿夸确实帅 当时看漫画就惊艳到我了
虽然下午练了两场但还是太久没打 哐哐掉分了😭😭😭

Educational Codeforces Round 170 (Rated for Div. 2)

A. Two Screens

题意

两个屏幕都要显示字符串,每次操作可以多打一个字符或者用一个屏幕覆盖另一块上的内容,最小化操作次数

思路

跟下午ABC374的B题很像啊,加一个计算就行

代码

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef double db;
typedef pair<int,int> pii;
typedef pair<ll,ll> pll;void solve()
{string s, t;cin >> s >> t;int n = min(s.length(), t.length());for (int i = 0; i < n; i++){if (s[i] != t[i]){if(i==0){printf("%d\n",s.length()+t.length());return ;}printf("%d\n", s.length()-(i+1)+1+t.length()-(i+1)+1+i+1);return ;}}if (s.length() == t.length())printf("%d\n",n+1);elseprintf("%d\n", s.length()-(n+1)+1+t.length()-(n+1)+1+n+1);
}int main()
{int T=1;scanf("%d",&T);while(T--){solve();}return 0;
}

B. Binomial Coefficients, Kind Of

题意

有人把求组合数的预处理函数打成了这样

for (int n = 0; n < N; n++) { // loop over n from 0 to N-1 (inclusive)C[n][0] = 1;C[n][n] = 1;for (int k = 1; k < n; k++) // loop over k from 1 to n-1 (inclusive)C[n][k] = C[n][k - 1] + C[n - 1][k - 1];}

要你以更快的速度求这个错误的答案

思路

打表发现直接输出 2 k 2^k 2k即可,除了最后一个特判

代码

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef double db;
typedef pair<int,int> pii;
typedef pair<ll,ll> pll;
const ll mod=1e9+7;ll qpow(ll a,ll b)
{ll res=1;while(b){if(b&1){res=res*a%mod;}a=a*a%mod;b>>=1;}return res;
}void solve()
{ll t;scanf("%lld",&t);ll n[t+1],k[t+1];for(ll i=1;i<=t;i++){scanf("%lld",&n[i]);}for(ll i=1;i<=t;i++){scanf("%lld",&k[i]);}for(int i=1;i<=t;i++){ll N=n[i],K=k[i];if(K==0 or K==N)printf("1\n");elseprintf("%lld\n",qpow(2ll,K));}
}int main()
{int T=1;
//    scanf("%d",&T);while(T--){solve();}return 0;
}

C. New Game

题意

拿牌,除了第一张每次可以拿前一张牌相同的或数字比前一张大1的牌,最多有k种不同数字,最大化牌数

思路

贪心地想肯定每种牌要拿完,就需要开桶记录每个数字的出现次数,然后滑动窗口就行了

代码

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef double db;
typedef pair<int,int> pii;
typedef pair<ll,ll> pll;
const int N=2e5+5;
map<ll,ll> a;
ll b[N];
int n,k;void solve()
{scanf("%d%d",&n,&k);a.clear();for(int i=1;i<=n;i++){ll x;scanf("%lld",&x);a[x]++;b[i]=x;}sort(b+1,b+n+1);ll len=unique(b+1,b+n+1)-b-1;ll l=b[1],r=b[1];ll sum=a[b[1]];ll ans=sum;for(int i=2;i<=len;i++){if(b[i]-r==1){if (b[i] - l < k){r++;sum += a[b[i]];ans = max(ans, sum);}else{sum -= a[l];l++;r++;sum += a[b[i]];ans = max(ans, sum);}}else{l=b[i];r=b[i];sum=a[b[i]];ans=max(ans,sum);}}printf("%lld\n",ans);
}int main()
{int T=1;scanf("%d",&T);while(T--){solve();}return 0;
}

D. Attribute Checks

题意

打关卡,有的关卡给你一个可以自由分配的点数,有的关卡要求你的智力或力量达标可以获得一分,最大化你的最终得分

思路

我最讨厌的dp 下面有注释 不想说了

代码

#include <bits/stdc++.h>
#define mod 998244353
using namespace std;
typedef long long ll;
typedef double db;
typedef pair<int,int> pii;
typedef pair<ll,ll> pll;
int smart[5001],strength[5001];
int pointSum=0;
int dp[5001][5001];
//i和j分别代表当前智商和当前体力int main()
{int n,m;scanf("%d%d",&n,&m);memset(dp,0,sizeof(dp));memset(smart,0,sizeof(smart));memset(strength,0,sizeof(strength));ll ans=0;for(int i=1;i<=n+1;i++){
//        printf("%d\n",i);int x;if(i<=n)scanf("%d",&x);elsex=0;if(x>0){smart[x]++;continue;}else if(x<0){strength[-x]++;continue;}else{int delta=0;//前缀和,维护加上多少个点可以多过多少道关卡for(int j=0;j<=pointSum;j++){delta+=smart[j];dp[j][pointSum-j]+=delta;}delta=0;for(int j=0;j<=pointSum;j++){delta+=strength[j];dp[pointSum-j][j]+=delta;}//更新dpfor(int j=0;j<=pointSum;j++){dp[j+1][pointSum-j]=max(dp[j+1][pointSum-j],dp[j][pointSum-j]);//假如这个点点给了智商dp[j][pointSum-j+1]=max(dp[j][pointSum-j+1],dp[j][pointSum-j]);//假如这个点点给了体力ans=max(ans,(ll)(dp[j+1][pointSum-j]));}for(int j=0;j<=pointSum;j++){dp[pointSum-j][j+1]=max(dp[pointSum-j][j+1],dp[pointSum-j][j]);//假如这个点点给了体力dp[pointSum-j+1][j]=max(dp[pointSum-j+1][j],dp[pointSum-j][j]);//假如这个点点给了智商ans=max(ans,(ll)(dp[pointSum-j][j+1]));}pointSum++;//清空for(int j=0;j<=5000;j++) smart[j]=strength[j]=0;}}printf("%lld\n",ans);return 0;
}

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

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

相关文章

前端遮罩层的应用

最近微信小程序需要开发新手引导功能&#xff0c;发现需要在遮罩层中间抠一个洞出来&#xff0c;但是一直不知道该怎么去做&#xff0c;其实很简单&#xff0c;先展示源码&#xff1a; <template><div class"num01">hello<div class"mask"&…

ai字幕用什么软件制作?6款视频加字幕工具分享!

在视频制作和后期处理中&#xff0c;字幕的添加是一个重要的环节。随着AI技术的发展&#xff0c;越来越多的软件开始支持AI自动加字幕功能&#xff0c;使得字幕的制作变得更加简单和高效。本文将为大家介绍几款常用的AI字幕制作软件&#xff0c;并详细讲解如何使用AI自动加字幕…

【MySQL 保姆级教学】在Linux(CentoS 7)中安装MySQL(1)

目录 1. 卸载linux&#xff08;Centos7&#xff09; 中不要的环境2. 获取MySQL官方yum源2.1 获取yum源前先查看自己 linux&#xff08;Centos&#xff09;的版本2.2 获取官方yum源 3. 安装xftp和连接4. 开放连接端口5. 上传文件到Centos76. 安装MySQL6.1 顺利安装6.2 查询是否安…

从RNN讲起(RNN、LSTM、GRU、BiGRU)——序列数据处理网络

文章目录 RNN&#xff08;Recurrent Neural Network&#xff0c;循环神经网络&#xff09;1. 什么是RNN&#xff1f;2. 经典RNN的结构3. RNN的主要特点4. RNN存在问题——长期依赖&#xff08;Long-TermDependencies&#xff09;问题 LSTM&#xff08;Long Short-Term Memory&a…

某MDM主数据管理系统与微软Dynamic CRM系统(国内节点)集成案例

一、需求分析 需要完成的核心场景&#xff1a; 客户主数据&#xff1a;通过SAP PO集成中间件平台&#xff0c;某MDM主数据实时推送客户主数据信息至微软CRM系统&#xff0c;方便微软CRM系统进行客户方面的管理&#xff0c;并供微软CRM查询员工信息&#xff0c;修改员工&…

STM32—FLASH闪存

1.FLASH简介 STM32F1系列的FLASH包含程序存储器、系统存储器和选项字节三个部分&#xff0c;通过闪存存储器接口&#xff08;外设&#xff09;可以对程序存储器和选项字节进行擦除和编程 我们怎么操作这些存储器呢&#xff1f;这就需要用到这个闪存存储器接口了&#xff0c;闪…

Go语言Gin框架的常规配置和查询数据返回json示例

文章目录 路由文件分组查询数据库并返回jsonservice层controller路由运行效果 启动多个服务 在 上一篇文章《使用Go语言的gorm框架查询数据库并分页导出到Excel实例》 中主要给大家分享了较多数据的时候如何使用go分页导出多个Excel文件并合并的实现方案&#xff0c;这一篇文章…

2-127基于matlab的非圆齿轮啮合动画设计

基于matlab的非圆齿轮啮合动画设计&#xff0c;可根据需求设置齿数&#xff0c;齿高、平滑系数等&#xff0c;最后输出啮合动画。程序已调通&#xff0c;可直接运行。 下载源程序请点链接&#xff1a;2-127基于matlab的非圆齿轮啮合动画设计

day-13面向对象进阶

面向对象进阶部分学习方法&#xff1a; 特点&#xff1a; ​ 逻辑性没有那么强&#xff0c;但是概念会比较多。 ​ 记忆部分重要的概念&#xff0c;理解课堂上讲解的需要大家掌握的概念&#xff0c;多多练习代码。 day13 第一章 复习回顾 1.1 如何定义类 类的定义格式如…

探索Python配置新维度:Hydra库揭秘

文章目录 探索Python配置新维度&#xff1a;Hydra库揭秘背景&#xff1a;为何选择Hydra&#xff1f;初识Hydra安装Hydra简单的库函数使用方法基础配置覆盖配置组合配置多运行 场景应用数据库配置本地和远程运行多作业运行 常见Bug及解决方案配置加载失败命令行参数解析错误远程…

014_django基于大数据运城市二手房价数据可视化系统的设计与实现2024_3ahrxq75

目录 系统展示 开发背景 代码实现 项目案例 获取源码 博主介绍&#xff1a;CodeMentor毕业设计领航者、全网关注者30W群落&#xff0c;InfoQ特邀专栏作家、技术博客领航者、InfoQ新星培育计划导师、Web开发领域杰出贡献者&#xff0c;博客领航之星、开发者头条/腾讯云/AW…

测试右移实践的一些总结思考—稳定监控“及时雨”

随着项目开发的逐渐敏捷化&#xff0c;QA的职能早已不单单是曾经简单对功能的测试&#xff0c;在领域内测试左移和测试右移这两个概念被一再提及。 本文将分别从稳定发布、监控、风险控制三个方面&#xff0c;主要介绍一下目前测试右移概念在组内的落地应用、一些还没有落地的…

Wordpress GutenKit 插件 远程文件写入致RCE漏洞复现(CVE-2024-9234)

0x01 产品简介 GutenKit 是一个WordPress的页面构建器,在 Gutenberg 设计您的下一个 WordPress 网站。借助 Gutenberg 的原生拖放界面、50+ WordPress 块、14+ 多功能模块和 500+ 模板,您可以在几分钟内创建专业、响应迅速的 Web 内容。 0x02 漏洞概述 Wordpress GutenKit…

vue-router钩子中调用ElMessage等样式出错

升级 vue3.5 时遇到奇怪的问题, 页面点击离开没反应 经过排查, 是以下几点相互作用导致此问题 vue 有应用上下文的概念, 例如 runWithContext API,vue-router 在调用钩子时会获取 vue 的应用上下文element-plus 在唤起弹窗时会从 parent 或 应用上下文上拿到 config 信息eleme…

OpenCV高级图形用户界面(20)更改窗口的标题函数setWindowTitle()的使用

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 在OpenCV中&#xff0c;cv::setWindowTitle函数用于更改窗口的标题。这使得您可以在程序运行时动态地更改窗口的标题文本。 函数原型 void cv::…

浏览器实时更新esp32-c3 Supermini http server 数据

一利用此程序的思路就可以用浏览器显示esp32 采集的各种传感器的数据&#xff0c;也可以去控制各种传感器。省去编写针对各系统的app. 图片 1.浏览器每隔1秒更新一次数据 2.现在更新的是开机数据&#xff0c;运用此程序&#xff0c;可以实时显示各种传感器的实时数据 3.es…

【计算机网络 - 基础问题】每日 3 题(四十七)

✍个人博客&#xff1a;https://blog.csdn.net/Newin2020?typeblog &#x1f4e3;专栏地址&#xff1a;http://t.csdnimg.cn/fYaBd &#x1f4da;专栏简介&#xff1a;在这个专栏中&#xff0c;我将会分享 C 面试中常见的面试题给大家~ ❤️如果有收获的话&#xff0c;欢迎点赞…

Cesium 实战 - 自定义纹理材质 - 立体墙(旋转材质)

Cesium 实战 - 自定义纹理材质 - 立体墙(旋转材质) 核心代码完整代码在线示例Cesium 给实体对象(Entity)提供了很多实用的样式,基本满足普通项目需求; 但是作为 WebGL 引擎,肯定不够丰富,尤其是动态效果样式。 对于实体对象(Entity),可以通过自定义材质,实现各种…

YOLOv11来了 | 自定义目标检测

概述 YOLO11 在 2024 年 9 月 27 日的 YOLO Vision 2024 活动中宣布&#xff1a;https://www.youtube.com/watch?vrfI5vOo3-_A。 YOLO11 是 Ultralytics YOLO 系列的最新版本&#xff0c;结合了尖端的准确性、速度和效率&#xff0c;用于目标检测、分割、分类、定向边界框和…

esp32-c3 Supermini 驱动ds3121的问题

c3 驱动ds3121 ,始终有问题&#xff0c;但把程序用esp32上&#xff0c;一点问题都没有&#xff0c;难道c3 的i2c库是另外的库&#xff0c; 下图只读取秒显示的 错误数据&#xff0c;更换了scl频率&#xff0c;针脚&#xff0c;还是错&#xff0c;但换成esp32 输出是正确连续秒…