【11.16】Codeforces 刷题

news2025/1/16 1:54:19

DP \text{DP} DP :(今天做的这两道都没啥 DP 相关来着


D. Match & Catch

题意:

给定两个字符串 1 ≤ ∣ s 1 ∣ , ∣ s 2 ∣ ≤ 5000 1\leq |s_1|,|s_2|\leq 5000 1s1,s25000 ,求最短的满足各只出现一次的连续公共字串。

思路:写了个哈希超时了,哈希表常数还是太大,时限紧最好别用库内哈希表。

后缀数组解法:见 题解 。

AC代码:https://codeforces.com/contest/427/submission/181166321


D. New Year Letter

题意:

构造长度为 n , m n,m n,m 的两个字符串 s 1 , s 2 s_1,s_2 s1,s2 ,使得 s k s_k sk 含有 x x x 个子串 AC \text{AC} AC 。字符串递推式 s i = s i − 2 + s i − 1 s_i=s_{i-2}+s_{i-1} si=si2+si1

3   ≤ k   ≤   50 , 0   ≤   x   ≤   1 0 9 , 1   ≤   n ,   m   ≤   100 3 \le k \le 50,0 \le x \le 10^9, 1 \le n, m \le 100 3k50,0x109,1n,m100

思路:首先,递推出来 s k s_k sk 有多少个 s 1 , s 2 s_1,s_2 s1,s2 ,以及有多少个 s 1 s 2 , s 2 s 2 , s 2 s 1 ( s 1 , s 1 是 没 有 的 ) s_1s_2,s_2s_2,s_2s_1(s_1,s_1是没有的) s1s2,s2s2,s2s1(s1,s1) 的连接个数。

然后就是暴力枚举 + 暴力讨论了。枚举两个字符串的首字符,尾字符,有多少个 AC \text{AC} AC 暴力讨论即可。

AC代码:https://codeforces.com/contest/379/submission/181171146


构造题 ∗ 1700 ∼ ∗ 2000 ^*1700\sim ^*2000 17002000


A. GCD Table

题意:

有一个长度为 n ( 1 ≤ n ≤ 500 ) n(1\leq n\leq 500) n(1n500)的数列 a a a,它可以生成一个 n ∗ n n*n nn的数表,数表的第 i i i行第 j j j列存放的数字是 gcd ⁡ ( a [ i ] , a [ j ] ) \gcd(a[i],a[j]) gcd(a[i],a[j]) (即 a [ i ] a[i] a[i] a [ j ] a[j] a[j]的最大公因数)。

一个例子:

举个例子,上面那个表,就是由数列 a [ ] = { 4 , 3 , 6 , 2 } a[]=\{4,3,6,2\} a[]={4,3,6,2}生成的。

现在我们要做这样一件事情:将这个数表中的这 n ∗ n n*n nn 个数打乱,得到一个长度为 n ∗ n n*n nn的序列(可参考样例1)。在已知这个序列的情况下,请还原出数列 a a a

题解:CF582A GCD Table 题解

思路:需要注意到

  1. gcd ⁡ ( x , y ) ≤ min ⁡ ( x , y ) \gcd(x,y)\leq \min(x, y) gcd(x,y)min(x,y) ,也就是两个数字产生的影响是小于两个数字的。

  2. 乱序序列的最大次大值一定是原序列的最大次大值。

这样的话,每次从乱序序列拿出最大值,然后和已拿出的数字计算一下,抵消掉乱序序列的影响,划归为子问题。

AC代码:https://codeforces.com/contest/582/submission/181179199


C. Primitive Primes

题意:

  • 给定两个序列 a a a b b b,其中序列 a a a 的长度为 n n n,序列 b b b 的长度为 m m m
  • 分别保证序列中所有数字的最大公约数为 1 1 1。即 gcd ⁡ ( a 0 , a 1 … a n − 1 ) = 1 \gcd(a_0, a_1 \dots a_{n - 1}) = 1 gcd(a0,a1an1)=1 gcd ⁡ ( b 0 , b 1 , … b m − 1 ) = 1 \gcd(b_0, b_1, \dots b_{m - 1}) = 1 gcd(b0,b1,bm1)=1
  • a a a b b b 卷积的结果为序列 c c c。即 c k = ∑ 0 ≤ i ≤ k ∧ i < n ∧ k − i < m a i × b k − i c_k = \sum\limits_{0 \leq i \leq k \land i < n \land k - i < m } a_i \times b_{k - i} ck=0iki<nki<mai×bki
  • 给出一个 质数 p p p,请你求出一个下标 t t t,满足 c t c_t ct 不能 p p p 整除。如果有多个满足要求的 t t t,请任意输出一个。
  • 1 ≤ n , m ≤ 1 0 6 1 \leq n, m \leq 10^6 1n,m106 1 ≤ p , a i , b i ≤ 1 0 9 1 \leq p, a_i, b_i \leq 10^9 1p,ai,bi109

思路:注意到,卷积的话,两个指针的方向是相反的。如果 a a a 的一段前缀的元素都是 p p p 的倍数,那么这个数不管和哪个 b b b 的元素卷一起,都还是 p p p 的倍数。于是答案就是各找到第一个非 p p p 的倍数,即为答案。

AC代码:https://codeforces.com/contest/1316/submission/181184451


B. Monopole Magnets

题意:

单极磁铁,顾名思义,就是只有一个磁极(N 或 S)的磁铁,他们在实际生活中是不存在的,不过……不要在意那些细节。

我们有一个 n n n m m m 列的方格图,要在里面放一些单极磁铁,你可以随便放置,甚至把多个磁铁放在同一个格子里。

单极磁铁的吸引是这么定义的:任选一个 N 极磁铁和一个 S 极磁铁,如果它们两个恰好处于同一行或同一列中,那 N 极磁铁会向靠近 S 极磁铁的方向前进一格。当然,如果它们两个处于同一个格子,什么也不会发生。注意 S 极磁铁的位置是永远不会变化的

这个方格图里的每一个格子都涂成了黑色白色。磁铁的放置必须要遵守以下规则

  1. 每行每列都必须至少有一个 S 极磁铁。
  2. 对于每个黑色格子,必须有某个 N 极磁铁通过一系列的吸引操作经过它。
  3. 对于每个白色格子,无论 N 极磁铁的位置怎样变化,都不能经过它。

现在我们想知道:要满足以上三条规则,至少要放几个 N 极磁铁。如果无论怎么放都不能满足规则,请输出 − 1 -1 1

( 1 ≤ n , m ≤ 1000 ) (1\le n,m\le 1000) (1n,m1000)

思路:注意到,一行或一列上,如果有连续两段或两段以上的黑色块,那么一定无解。这样的话,每一个连通块一定是凸集,而且可以视作它的最小包围矩阵。我们移动这些矩阵挤到一起,那么有若干个空行或空列,设为 r w , l c rw,lc rw,lc

如果这两个数一个为 0 0 0 一个非 0 0 0 ,一定无解,因为这样一定没法放 S S S 。否则容易构造方案使得这些空行或空列放置了 S S S

AC代码:https://codeforces.com/contest/1344/submission/181194214

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

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

相关文章

实验27:红外遥控三级控速风扇实验

今天介绍一个稍微复杂点的实验,复杂在设计和代码 ——OK,受了抖音西湖大学教授刺激,任何人都可以做研究 ——实验:红外遥控三级风速小电扇 ——每按一下CH-,风速从1-2-3-1-2-3-1循环 ——按下CH+,风扇停止 ——没有背景音乐目的是听风扇声音大小判断风速 OK实验介绍完了…

五个可以永远相信的神仙网站推荐

早八的我们是不是偶尔会处在焦虑中呢&#xff1f;一方面年轻人工作压力大&#xff0c;另一方面我们偶尔会感慨我们的碌碌无为&#xff0c;不知道怎样提升自己。今天为大家推荐五个焦虑时可以随手打开看&#xff0c;不知不觉悄悄提升自己的软件。 1.全历史 全历史是一个把历史以…

《元宇宙2086》亮相金鸡奖中国首部元宇宙概念院线电影启动

2022年中国金鸡百花电影节暨第35届中国电影金鸡奖于11月10日至12日在福建厦门举办&#xff0c;中国动漫集团控股子公司北京中文发文化发展有限公司与《元宇宙2086》作者高泽龙在金鸡奖创投论坛正式签约&#xff0c;宣布将共同启动筹拍中国首部元宇宙概念的院线电影。 当日下午&…

如何在Docker中安装MySQL数据库

1、Docker环境 视频教程&#xff1a;https://www.bilibili.com/video/BV1xv4y1S7kA 2、搜索镜像 https://hub.docker.com/网站搜索MySQL&#xff0c;确定其安装版本&#xff0c;这里安装8.0.31版&#xff1b; 3、拉取镜像 [rootlocalhost ~]# docker pull mysql:8.0.31 8.…

市级专精特新的申报条件

一、基本条件&#xff1a;&#xff08;各市政策不同具体情况也不同&#xff0c;下面为济南市企业的申报条件&#xff09; 1、连续经营3年以上&#xff0c;上年度企业营业收入在800万元以上&#xff1b; 2、近两年营业收入复合增长率不低于8%&#xff08;2021年参照国 家级调…

Nginx 反向代理

title: Nginx 反向代理 date: 2022-11-16 10:24 tags: [Nginx,反向代理,正向代理,代理] 文章目录〇、问题一、前言二、正向代理&反向代理2.1 正向代理2.2 反向代理三、Nginx配置反向代理参考更新〇、问题 什么是正向代理&#xff1f;什么是反向代理&#xff1f;Nginx如何配…

Mysql之视图、索引【第五篇】

大纲&#xff1a; 一、视图 1、什么是视图&#xff1f; 1) MySQL 视图(View)是一种虚拟的表&#xff0c;是从数据库中一个或多个表中导出来的表。视图由列和行构成&#xff0c;行和列的数据来自于定义视图的查询中所使用的表&#xff0c;并且还是在使用视图时动态生成的。 …

【蓝桥杯物联网赛项学习日志】Day3 关于IIC

经过昨天的学习&#xff0c;已经了解和初步学会配置CubeMax进行初始化配置。今天就开始下一章节的学习&#xff0c;关于IIC。 关键词&#xff1a;I2C OLED SSD1306 理论基础 串行通信接口通讯方式分&#xff0c;可以分为两种&#xff0c;分别是同步和异步。按照数据的传输方…

组成目标货币的最少张数

1、题目 arr 是货币数组&#xff0c;其中的值都是正数。再给定一个正数 aim。 每个值都认为是一张货币&#xff0c;返回组成 aim 的最少张数。 注意&#xff1a;因为是求张数&#xff0c;所以每张货币认为是相同或不同就不重要了。 2、思路 假设 arr [3&#xff0c;1&…

GD32F450的时钟笔记

GD32F450 标称 200MHz&#xff0c;但是在手册中又说 它是 240MHz。本文以 手册中的 240MHz 进行举例&#xff0c;我保险起见&#xff0c;产品中使用还是在 200MHz 下使用。 时钟树 手册上的时钟树图如下 GD32F450的 外部时钟源 有2个 LXTAL 外部低速时钟源 32.768 kHzHXTAL …

微信小程序登录获取不到头像和昵称解决办法!

微信小程序登录获取不到头像和昵称主要原因是&#xff1a;小程序wx.getUserProfile接口被收回&#xff01; 大家可以按照文档操作↓ PS&#xff1a; 针对小程序wx.getUserProfile接口将被收回后做出的授权调整 小程序文档中提出的调整说明 对于此次变化&#xff0c;现将小…

怎么使用股票委托下单接口?

都知道&#xff0c;在进行量化交易的时候&#xff0c;交易接口可以100%严格按照定制的计划执行交易&#xff0c;避免了出现下单犹豫和过量交易等问题&#xff0c;100%体现交易策略的收益性&#xff1b;今天主要来聊聊&#xff0c;关于怎么使用股票委托下单接口的问题&#xff1…

使用c#将aj-report桌面化1

说到底,aj-report是个工具,我想大多数人还是想快速使用它来创建一个可以展示的工具。通过之前的章节,你应该可以制作自己的报表页面了,下面我们来看看怎么把aj-report包装成一个桌面能够运行的软件。 当然作为扩展开发,受开源协议限制,我们不能大规模修改aj-report的源代…

[附源码]java毕业设计基于新高考模式下的排课系统

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

程序员“中年危机”?不,也可能是“人生转机”

程序员行业新技术发展迅猛&#xff0c;可以说是日新月异。也正是这个原因&#xff0c;中年危机成为我们必须面对和攻克的问题。 思考一个问题&#xff1a;那些能工作到45、50、甚至60的程序员们&#xff0c;究竟具备了哪些过人的能力&#xff1f; 就我过去的经历和观察来说&a…

【蓝桥杯真题练习】STEMA科技素养练习题库 答案版015 持续更新中~

1、牛顿运动定律描述了物体运动符合的规律,被誉为经典力学的基石。以下关于牛顿定律的描述中,不正确的选项是( )。 A、牛顿运动定律一共有三条 B根据牛顿定律,没有受到外力作用的物体运动速度会保持不变 C根据牛顿运动定律,两个物体作用于对方的力大小一定相等 D牛…

项目运营后阶段发力

前言 我记得之前有人跑过来问我&#xff1a;你知道为啥字节面试总会考算法吗&#xff1f;我没有回答&#xff0c;一方面是算法是大厂必考的东西&#xff0c;既然是必须的东西究竟个为什么有点白费心机&#xff0c;第二方面我没有进去过字节&#xff0c;所以我也拿捏不准为什么。…

业务数据分析-Excel的基础操作(一)

Excel的基础操作1、工作簿2、工作表3、数据基本操作4、数据类型5、常用快捷键1、工作簿 即Excel文档&#xff0c;用来储存和处理数据的文件 常用扩展名&#xff1a; xls 97-03版xlsx 07版以后xlsm 带宏的文件 一个工作簿包含多张工作表 2、工作表 默认名称&#xff1a;shee…

【小程序】微信小程序自定义组件Component详细总结

1- 前言 在本文中你将收获 小程序如何使用自定义组件自定义组件之间的传值自定义组件中插槽的使用 2- 组件文件新建 2.1 定义组件 在根目录新建components文件夹&#xff0c;建立cell 文件夹&#xff0c;右击创建cell的Component组件 cell.jscell.wxmlcell.jsoncell.wxss …

mmlab花朵分类结果展示(2)

花朵分类结果展示Grad-Cam可视化方法模型分析折线图和平均耗时展示计算量展示这一节我们继续上一节讲解训练结果测试与验证。Grad-Cam可视化方法 上一节我们讲述了数据增强的可视化方法&#xff0c;因为数据增强是训练模型前的步骤&#xff0c;所以即使我们没有训练结果也可以…