CSP2024-24

news/2024/9/22 17:14:09

2A

题意:给定长度为 \(n\) 的非负整数数组 \(a\),求最小的 \(r−l+1\) 满足 \(l≤r,\sum_{i = l}^ra_i\) 是合数。

考虑全是正数的情况,答案一定 \(\le 4\),考虑一下每个数的奇偶性即可。

那么就把所有正数及其位置存下来,使得 \(b_i = a_{p_i}\),暴力检查 \(b\) 中长度为 2/3 的段,和 \(p_{i + 3} - p_i + 1\) 取 min。submission

A

题意:给定数组 \(a, b\),设 \(f_i(x)= \max(x + a_i, b_ix)\)。每次给出 \(l, r, x\),求 \(f_r(f_{r - 1}(\cdots f_l(x)\cdots)) \bmod p\)

如果 \(b_i = 1\),肯定选 \(x + a_i\);否则需要决策哪个更大,注意到当 \(x > p\) 时一定是 \(b_ix\) 更大。

因此暴力跳 \(\log p\)\(b_i > 1\) 的位置, 然后线段树维护一次函数复合得到剩余部分。submission

B

题意:给出 \(n\)\(q\) 次询问。求边长为有理数且四个顶点均为两个坐标均在 \([1,n]\) 内的整点且其中一个坐标为 \((x,y)\) 的正方形个数。

边长不是整数就是无理数。考虑边与坐标轴不平行的情况。

补全下图红色正方形,四角是全等的勾股三角形。当 \((x, y)\) 作为该正方形最上面的角时,\((a, b)\) 回到一个矩形区域有 \(1\) 的贡献(灰色)。

其他三个角同理。如果 \(a + b < n\) 的勾股数对数足够小,那么直接枚举,做若干矩形覆盖,这是经典的二维数点问题。

考虑勾股数 \(a^2 + b^2 = c^2\),设 \(x = c + b,\ y = c - b\)

\[a = \sqrt{xy},\ b = \dfrac{x - y}{2},\ c = \dfrac{x + y}{2} \]

枚举所有正整数 \(x, y\) 可以生成所有勾股数。

\(n = \sqrt{\dfrac{x}{2}},\ m = \sqrt{\dfrac{y}{2}}\)

\[a = 2nm,\ b = n^2 - m^2,\ c = n^2 + m^2 \]

枚举所有正实数 \(n, m\) 可以生成所有勾股数。

考虑本源勾股数 \((a, b, c)\),满足 \(a, b, c\) 两两互质,其他勾股数都能用 \((ka, kb, kc)\) 表示。

其中,一定有 \(a, b\) 一奇一偶:都是偶数,有公因子;两奇,则 \(c\) 是偶数,\(a^2 + b^2 \not\equiv c^2\pmod 4\),矛盾。

如果 \(a\)\(b\) 奇,则 \(x, y\) 都是偶数,又因为 \(b, c\) 互质,所以 \(\dfrac{x}{2}, \dfrac{y}{2}\) 互质。又由于 \(nm\) 是整数,\(n, m\) 只能都是整数。

如果 \(a\)\(b\) 偶,\(x, y\) 都是奇数,\(n, m\) 不可能是整数。

枚举正整数 \(n, m\),可以生成所有本源勾股数 \((a, b, c)\) 恰好一次。

\(c = \sqrt{a^2 + b^2} < a + b < N\)\(n^2 + m^2 = c \le \sqrt N \implies n, m \le \sqrt N\),只有 \(O(N)\) 对。

对于 \((ka, kb, kc)\) 必须满足 \(k \le \frac{N}{a + b}\)\(a + b\) 相同的本源勾股数应该只有 \(O(1)\) 对,最后会生成 \(O(N\log N)\) 对勾股数。

submission

C

题意:

D

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

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

相关文章

放开那代码让我来!——Cursor帮你写代码的奇妙之旅

让我们开门见山:编程很酷,但也很折磨人。那些长时间盯着屏幕,debug无休止的日子,只有程序员懂得它的酸爽。而就在这个编程焦虑的世界中,Cursor横空出世,带着一系列魔法功能,如同你手中的一根智能魔杖,让写代码变得像煮速冻面一样简单。 Cursor,一款基于AI的编程助手,…

Mathtype公式相关:在mathtype中添加任意维数矩阵的方法以及矩阵中省略号的问题;输入空格;输入花体字母;输入空心字母;输入空心数字

一、在mathtype中添加任意维数矩阵的方法以及矩阵中省略号的问题 使用mathtype创建任意维数的矩阵: 打开mathtype后可点击矩阵工具栏,再点击右下角的图形,具体情况如下图所示。点击之后会弹出一个对话框如下图所示,可在行列处输入自己想要的行数和列数。使用此方法创建的矩…

GIS转码的秋招历程与踩坑经历

本文介绍地理信息科学(GIS)专业的2024届应届生,在研三上学期期间,寻找后端研发、软件开发等IT方向工作的非科班转码秋招情况~本文介绍地理信息科学(GIS)专业的2024届应届生,在研三上学期期间,寻找后端研发、软件开发等IT方向工作的非科班转码秋招情况。首先,这篇文章一…

树状数组浅谈

什么是树状数组 树状数组是一种码量小,常数小,支持单点修改和区间查询的数据结构。 树状数组维护的信息和运算需要满足结合律并且可差分 注意gcd和max操作虽然满足结合律,但不可差分,因此不能使用树状数组维护 其实,树状数组能做的,线段树都能做,线段树能做的,树状数组…

【蓝桥杯】(C++)2024.9.22算法赛——你会二分吗?

你会二分吗? 题目 你会二分吗?题目分析 1.用两个数组来存储男、女员工的e人值,对数组进行排序,然后男女员工两两配对,使得其最小值最大for (int i = 0; i < n; i++) {cin >> m[i]; } for (int i = 0; i < n; i++) {cin >> w[i]; } sort(m, m + n); sort…

Filebeat

Filebeat 简介 Filebeat用于转发和集中日志数据的轻量级传送程序。作为服务器上的代理安装,Filebeat监视指定的位置文件或位置,收集日志事件,并将他们转发到Elasticsearch 或Logstash进行索引。 架构图安装Filebeat 下载并安装 wget https://artifacts.elastic.co/download…

Tarjan算法及其应用 总结+详细讲解+详细代码注释

\(\text{Tarjan}\) 1.引入概念 1.强连通分量 1.定义 在有向图 \(G\) 中,强连通分量就是满足以下条件的 \(G\) 的子图:从任意一点出发,都有到达另一个点的路径。 不存在一个或者几个点,使得这个子图加入这些点后,这个子图还满足上一个性质。为什么要限定”在有向图中“而不…

三级数据库技术笔记

数据库应用系统开发方法 数据库应用系统生命周期 软件工程与软件开发方法 瀑布模型 快速原型模型 螺旋模型 DBAS生命周期 DBAS生命周期:项目规划、需求分析、系统设计、实现与部署、运行与维护 规划与分析 可行性分析:经济可行性、技术可行性、操作可行性、开发方案选择 需求…