CSP2024-24

news/2024/11/15 3:58:52/文章来源:https://www.cnblogs.com/Luxinze/p/18425538

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.hqwc.cn/news/801572.html

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

相关文章

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

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

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

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

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

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

树状数组浅谈

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

Filebeat

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

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

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

三级数据库技术笔记

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

洛谷P5683 [CSP-J2019 江西] 道路拆除

立下flag:今天一定AC这道题! 题目意思: 思路: 然而并没有分。。 输出-1,祈求CCF的施舍( 30% 的数据,有 \(s_1 = s_2\) 求 1 号点到 \(s_1\) 最短路,再计算不需要的路径。 SPFA,启动! #include<bits/stdc++.h>using namespace std;const int maxn=3010; const i…

golang 项目引入私有仓库包

场景: 当你多个项目,都需要使用一个或者多个方法,那么可以将公共方法,抽成一个包,进行管理(类似Log模块等)。这时候可以将你的包上传到私有的仓库,其他项目引入该包即可。下面来介绍下,如何引用私有仓库的包。 1. 创建一个新的 Git 标签 假设你已经在你的私有 GitLab …

设计模式之——装饰者模式

前言: 装饰者模式是结构性设计模式之一,其在不必改变类文件及不适用继承的情况下,动态的扩展一个对象的功能。它通过创建一个包装对象(即装饰)来包裹真实的对象。 一.定义 动态的给一个对象添加一些额外的职责,就增加功能来说,装饰模式比生成子类更加灵活。 装饰者模式的…

解决vsc中文乱码

关于vs code使用code runner运行python代码出现中文乱码的解决办法_code runner 运行乱码-CSDN博客 Code Runner插件设置 "set PYTHONIOENCODING=utf8 && python -u"

CSP-S 2024 提高组初赛第一轮初赛试题及答案解析

CSP-S 2024 提高组初赛第一轮初赛试题及答案解析 一、 单项选择题(共15题,每题2分,共计30分:每题有且仅有一个正确选项) 1 在 Linux 系统中,如果你想显示当前工作目录的路径,应该使用哪个命令?( ) A pwd B cd C ls D echo 答案 A 解析 A pwd:这个命令是“prin…