当前位置: 首页 > news >正文

蓝桥杯分治

P1226 【模板】快速幂

题目描述

给你三个整数 𝑎,𝑏,𝑝a,b,p,求 𝑎𝑏 mod 𝑝abmodp。

输入格式

输入只有一行三个整数,分别代表 𝑎,𝑏,𝑝a,b,p。

输出格式

输出一行一个字符串 a^b mod p=s,其中 𝑎,𝑏,𝑝a,b,p 分别为题目给定的值, 𝑠s 为运算结果。

输入输出样例

输入 #1复制

2 10 9

输出 #1复制

2^10 mod 9=7

说明/提示

样例解释

210=1024210=1024,1024 mod 9=71024mod9=7。

数据规模与约定

对于 100%100% 的数据,保证 0≤𝑎,𝑏<2310≤a,b<231,𝑎+𝑏>0a+b>0,2≤𝑝<2312≤p<231。

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.io.StreamTokenizer;
import java.util.*;public class Main {static StreamTokenizer st = new StreamTokenizer(new BufferedReader(new InputStreamReader(System.in)));static PrintWriter pw=new PrintWriter(new OutputStreamWriter(System.out));static long nextLong() throws IOException{st.nextToken();return (long)st.nval;}public static void main(String[] args) throws IOException {// TODO Auto-generated method stublong a=nextLong();long b=nextLong();long q=nextLong();long a1=a,b1=b;long ans=1;while(b>0) {if(b%2==1) ans=(ans*a)%q;a=(a*a)%q;b=b>>1;}System.out.println(a1 + "^" + b1 + " mod " + q + "=" + ans);}}

P1010 [NOIP1998 普及组] 幂次方

题目描述

任何一个正整数都可以用 22 的幂次方表示。例如 137=27+23+20137=27+23+20。

同时约定次方用括号来表示,即 𝑎𝑏ab 可表示为 𝑎(𝑏)a(b)。

由此可知,137137 可表示为 2(7)+2(3)+2(0)2(7)+2(3)+2(0)

进一步:

7=22+2+207=22+2+20 ( 2121 用 22 表示),并且 3=2+203=2+20。

所以最后 137137 可表示为 2(2(2)+2+2(0))+2(2+2(0))+2(0)2(2(2)+2+2(0))+2(2+2(0))+2(0)。

又如 1315=210+28+25+2+11315=210+28+25+2+1

所以 13151315 最后可表示为 2(2(2+2(0))+2)+2(2(2+2(0)))+2(2(2)+2(0))+2+2(0)2(2(2+2(0))+2)+2(2(2+2(0)))+2(2(2)+2(0))+2+2(0)。

输入格式

一行一个正整数 𝑛n。

输出格式

符合约定的 𝑛n 的 0,20,2 表示(在表示中不能有空格)。

输入输出样例

输入 #1复制

1315

输出 #1复制

2(2(2+2(0))+2)+2(2(2+2(0)))+2(2(2)+2(0))+2+2(0)

说明/提示

【数据范围】

对于 100%100% 的数据,1≤𝑛≤2×1041≤n≤2×104。

NOIP1998 普及组 第三题

import java.io.*;
import java.util.*;public class Main {public static void main(String[] args) throws IOException {BufferedReader f = new BufferedReader(new InputStreamReader(System.in));int n = Integer.parseInt(f.readLine());calc(n);}static void calc(int n) {if(n == 0)return;int exp=0;while(n>=(1<<exp)){exp++;}exp--;n-=(1<<exp);if(exp==0||exp==2){System.out.print("2"+"("+exp+")");}if(exp==1){System.out.print("2");}if(exp>2){System.out.print("2"+"(");calc(exp);System.out.print(")");}if(n>0){System.out.print("+");calc(n);}}
} 

P1429 平面最近点对(加强版)

题目背景

P7883 平面最近点对(加强加强版)

题目描述

给定平面上 𝑛n 个点,找出其中的一对点的距离,使得在这 𝑛n 个点的所有点对中,该距离为所有点对中最小的

输入格式

第一行:𝑛n ,保证 2≤𝑛≤2000002≤n≤200000 。

接下来 𝑛n 行:每行两个实数:𝑥 𝑦x y ,表示一个点的行坐标和列坐标,中间用一个空格隔开。

输出格式

仅一行,一个实数,表示最短距离,精确到小数点后面 44 位。

输入输出样例

输入 #1复制

3
1 1
1 2
2 2

输出 #1复制

1.0000

说明/提示

数据保证 0≤𝑥,𝑦≤1090≤x,y≤109

#include <cstdio>
#include <algorithm>
#include <cmath>
using namespace std;
const int maxn = 1000001;
const int INF = 2 << 20;
int n, temp[maxn];
struct Point 
{double x, y;
} S[maxn];
bool cmp(const Point &a, const Point &b) 
{if(a.x == b.x) return a.y < b.y;else return a.x < b.x;
}
bool cmps(const int &a, const int &b) { return S[a].y < S[b].y; }
double min(double a, double b) { return a < b ? a : b; }
double dist(int i, int j) 
{double x = (S[i].x - S[j].x) * (S[i].x - S[j].x);double y = (S[i].y - S[j].y) * (S[i].y - S[j].y);return sqrt(x + y);
}
double merge(int left, int right) 
{double d = INF;if(left == right) return d;if(left + 1 == right) return dist(left, right);int mid = left + right >> 1;double d1 = merge(left, mid);double d2 = merge(mid + 1, right);d = min(d1, d2);int i, j, k = 0;for(i = left; i <= right; i++)if(fabs(S[mid].x - S[i].x) < d) // 这里不太一样temp[k++] = i;sort(temp, temp + k, cmps);for(i = 0; i < k; i++)for(j = i + 1; j < k && S[temp[j]].y - S[temp[i]].y < d; j++) {double d3 = dist(temp[i], temp[j]);if(d > d3) d = d3;}return d;
}
int main() 
{scanf("%d", &n);for(int i = 0; i < n; i++) scanf("%lf%lf", &S[i].x, &S[i].y);sort(S, S + n, cmp);return !printf("%.4lf\n", merge(0, n - 1));
}

相关文章:

蓝桥杯分治

P1226 【模板】快速幂 题目描述 给你三个整数 &#x1d44e;,&#x1d44f;,&#x1d45d;a,b,p&#xff0c;求 &#x1d44e;&#x1d44f; mod &#x1d45d;abmodp。 输入格式 输入只有一行三个整数&#xff0c;分别代表 &#x1d44e;,&#x1d44f;,&#x1d45d;a,b,p。…...

YOLOv8实战无人机视角目标检测

本文采用YOLOv8作为核心算法框架&#xff0c;结合PyQt5构建用户界面&#xff0c;使用Python3进行开发。YOLOv8以其高效的实时检测能力&#xff0c;在多个目标检测任务中展现出卓越性能。本研究针对无人机目标数据集进行训练和优化&#xff0c;该数据集包含丰富的无人机目标图像…...

三、【docker】docker和docker-compose的常用命令

文章目录 一、docker常用命令1、镜像管理2、容器管理3、容器监控和调试4、网络管理5、数据卷管理6、系统维护7、实用组合命令8、常用技巧二、docker-compose常用命令1、基本命令2、构建相关3、运行维护4、常用组合命令5、实用参数 一、docker常用命令 1、镜像管理 # 查看本地…...

Qt 2D绘图之五:图形视图框架的结构、坐标系统和框架间的事件处理与传播

参考文章链接: Qt 2D绘图之五:图形视图框架的结构和坐标系统 Qt 2D绘图之六:图形视图框架的事件处理与传播 图形视图框架的结构 在前面讲的基本绘图中,我们可以自己绘制各种图形,并且控制它们。但是,如果需要同时绘制很多个相同或不同的图形,并且要控制它们的移动、…...

基于SpringBoot+Vue的美妆购物网站

作者&#xff1a;计算机学姐 开发技术&#xff1a;SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等&#xff0c;“文末源码”。 专栏推荐&#xff1a;前后端分离项目源码、SpringBoot项目源码、Vue项目源码、SSM项目源码、微信小程序源码 精品专栏&#xff1a;…...

MySQL之创建和管理表

目录 1. MySQL中的数据类型​编辑​编辑 2. 创建和管理数据库 方式1&#xff1a;创建数据库 方式2&#xff1a;创建数据库并指定字符集 方式3&#xff1a;判断数据库是否已经存在&#xff0c;不存在则创建数据库&#xff08; 推荐 &#xff09; 总结 2.2 使用数据库 查看当…...

肌肉骨骼肿瘤治疗市场:潜力无限,未来可期

肌肉骨骼肿瘤治疗作为现代医学的重要分支&#xff0c;专注于应对骨骼和肌肉系统中的良性和恶性肿瘤。随着全球人口老龄化和生活方式的改变&#xff0c;肌肉骨骼疾病日益成为公共卫生的重要问题。与此同时&#xff0c;医疗技术的进步和患者对高质量医疗服务的需求不断推动该市场…...

QGIS 创建三维渲染动画

打开数据包中的denali工程文档&#xff0c;可以看到DEM图层和山体阴影图层。首先创建彩色的山体阴影效果&#xff1a; 接下来新建3D视图&#xff1a; 配置三维地图 配置后&#xff0c;可用鼠标中键、右侧的操作盘等进行三维旋转等操作。 接下来在三维地图中创建动画效果&#x…...

Vue生成类似于打卡页面

数据表格 <el-table :data"tableData" border height"calc(100vh - 240px)" :cell-style"cellFun"><el-table-column label"姓名" show-overflow-tooltip prop"name" align"center"/><el-table-co…...

软件工程——期末复习(2)

Part1&#xff1a;软件工程基本概念 软件程序文档数据 在软件工程中&#xff0c;软件通常被定为程序、文档和数据的集合。程序是按事先设计的功能和性能要求编写的指令序列&#xff1b;程序是完成指定功能的一段特定语言代码。文档是描述程序操作和使用的文档&#xff0c;是与…...

vxe-table 键盘操作,设置按键编辑方式,支持覆盖方式与追加方式

vxe-table 全键盘操作&#xff0c;按键编辑方式设置&#xff0c;覆盖方式与追加方式&#xff1b; 通过 keyboard-config.editMode 设置按键编辑方式&#xff1b;支持覆盖方式编辑和追加方式编辑 安装 npm install vxe-pc-ui4.3.15 vxe-table4.9.15// ... import VxeUI from v…...

【BUG】VMware|vmrest正在运行此虚拟机,无法配置或删除快照

VMware版本&#xff1a;VMware 16 文章目录 省流版问题解决方案 详细解释版问题解决方案总结 省流版 问题 只读&#xff0c;因为vmrest正在运行虚拟机。 解决方案 参考&#xff1a;虚拟机设置&#xff0c;只读&#xff0c;因为vmrest正在运行此虚拟机。有谁遇到过这种问题吗&…...

STM32 串口和I2C结合案例:

需求 1. 电脑通过串口 给单机 下发点灯计划 例如 13322 单片机上的灯 LED1 亮1秒 灭1秒 LED3 亮1秒 灭1秒 LED3 亮一秒 灭1秒 133221332213322-> mian.c #include "usart1.h" #include "M24C02.h" #include "stdio.h" #include "le…...

QT6_UI设计——设置表格

环境&#xff1a;qt6.8 1、放置 双击 2行 、列 设置 3、设置表格内容 读取表格内容 uint16 get_table_value_16_cmd(int row,int column) {if(column<1)return 0;QTableWidgetItem *itemnew QTableWidgetItem;itemui1->tableWidget_2->item(row,column);if(item! nul…...

游戏使用辅助工具修改器检测不到游戏进程应该如何解决?多种解决方法分享

当您在使用游戏辅助工具或修改器时遇到“未检测到游戏进程”的提示&#xff0c;这通常意味着修改器未能正确识别并连接到游戏的运行实例。以下是一些可能的解决方案&#xff1a; 1. 确保游戏已启动&#xff1a;•确认游戏已经完全启动并且正在运行中。有时游戏可能还在加载界面…...

Java JVM(内存结构,垃圾回收,类加载,内存模型)

一、JVM 主要功能 1. 什么是 jvm&#xff1f; JVM&#xff08;Java Virtual Machine)&#xff1a;负责运行 Java 程序的核心组件。它将 Java 字节码&#xff08;.class 文件&#xff09;解释或编译为机器代码&#xff0c;并提供内存管理、垃圾回收和线程管理等功能。 JRE (J…...

C++设计模式(桥接、享元、外观、状态)

一、桥接模式 1.定义 将抽象部分与它的实现部分分离&#xff0c;使它们可以独立地变化。 桥接模式通过使用组合关系而不是继承关系来实现解耦&#xff0c;从而提高系统的灵活性和可扩展性。 2.组成 抽象&#xff1a;定义抽象部分的接口&#xff0c;包含一个指向实现类的对象…...

鸿蒙 DevEco Studio 设置状态栏,调用setWindowSystemBarProperties不生效

参考文章&#xff1a;设置状态栏&#xff0c;调用setWindowSystemBarProperties不生效 我使用 setWindowSystemBarProperties 设置状态栏&#xff0c;不生效。 import window from ohos.window;export default {data: {title: World},setSystemBar() {var windowClass null;…...

Spring03——基于xml的Spring应用

Spring开发中主要对Bean的配置 Bean的常用配置一览如下&#xff1a; Xml配置方式功能描述<bean id"" class"">Bean的id和全限定名配置<bean name"">通过name设置Bean的别名&#xff0c;通过别名也能直接获取到Bean实例<bean sc…...

【AIGC半月报】AIGC大模型启元:2024.12(上)

【AIGC半月报】AIGC大模型启元&#xff1a;2024.12&#xff08;上&#xff09; &#xff08;1&#xff09;OpenAI-12日发布会&#xff08;持续更新中........&#xff09;Day01-12.06&#xff1a;SoraDay02-12.07&#xff1a;ChatGPT圣诞老人风格的语音Day03-12.08&#xff1a;…...

汽车生产虚拟实训中的技能提升与生产优化​

在制造业蓬勃发展的大背景下&#xff0c;虚拟教学实训宛如一颗璀璨的新星&#xff0c;正发挥着不可或缺且日益凸显的关键作用&#xff0c;源源不断地为企业的稳健前行与创新发展注入磅礴强大的动力。就以汽车制造企业这一极具代表性的行业主体为例&#xff0c;汽车生产线上各类…...

MVC 数据库

MVC 数据库 引言 在软件开发领域,Model-View-Controller(MVC)是一种流行的软件架构模式,它将应用程序分为三个核心组件:模型(Model)、视图(View)和控制器(Controller)。这种模式有助于提高代码的可维护性和可扩展性。本文将深入探讨MVC架构与数据库之间的关系,以…...

Matlab | matlab常用命令总结

常用命令 一、 基础操作与环境二、 矩阵与数组操作(核心)三、 绘图与可视化四、 编程与控制流五、 符号计算 (Symbolic Math Toolbox)六、 文件与数据 I/O七、 常用函数类别重要提示这是一份 MATLAB 常用命令和功能的总结,涵盖了基础操作、矩阵运算、绘图、编程和文件处理等…...

PAN/FPN

import torch import torch.nn as nn import torch.nn.functional as F import mathclass LowResQueryHighResKVAttention(nn.Module):"""方案 1: 低分辨率特征 (Query) 查询高分辨率特征 (Key, Value).输出分辨率与低分辨率输入相同。"""def __…...

【从零学习JVM|第三篇】类的生命周期(高频面试题)

前言&#xff1a; 在Java编程中&#xff0c;类的生命周期是指类从被加载到内存中开始&#xff0c;到被卸载出内存为止的整个过程。了解类的生命周期对于理解Java程序的运行机制以及性能优化非常重要。本文会深入探寻类的生命周期&#xff0c;让读者对此有深刻印象。 目录 ​…...

什么是VR全景技术

VR全景技术&#xff0c;全称为虚拟现实全景技术&#xff0c;是通过计算机图像模拟生成三维空间中的虚拟世界&#xff0c;使用户能够在该虚拟世界中进行全方位、无死角的观察和交互的技术。VR全景技术模拟人在真实空间中的视觉体验&#xff0c;结合图文、3D、音视频等多媒体元素…...

Neko虚拟浏览器远程协作方案:Docker+内网穿透技术部署实践

前言&#xff1a;本文将向开发者介绍一款创新性协作工具——Neko虚拟浏览器。在数字化协作场景中&#xff0c;跨地域的团队常需面对实时共享屏幕、协同编辑文档等需求。通过本指南&#xff0c;你将掌握在Ubuntu系统中使用容器化技术部署该工具的具体方案&#xff0c;并结合内网…...

数据库正常,但后端收不到数据原因及解决

从代码和日志来看&#xff0c;后端SQL查询确实返回了数据&#xff0c;但最终user对象却为null。这表明查询结果没有正确映射到User对象上。 在前后端分离&#xff0c;并且ai辅助开发的时候&#xff0c;很容易出现前后端变量名不一致情况&#xff0c;还不报错&#xff0c;只是单…...

前端工具库lodash与lodash-es区别详解

lodash 和 lodash-es 是同一工具库的两个不同版本&#xff0c;核心功能完全一致&#xff0c;主要区别在于模块化格式和优化方式&#xff0c;适合不同的开发环境。以下是详细对比&#xff1a; 1. 模块化格式 lodash 使用 CommonJS 模块格式&#xff08;require/module.exports&a…...

Docker、Wsl 打包迁移环境

电脑需要开启wsl2 可以使用wsl -v 查看当前的版本 wsl -v WSL 版本&#xff1a; 2.2.4.0 内核版本&#xff1a; 5.15.153.1-2 WSLg 版本&#xff1a; 1.0.61 MSRDC 版本&#xff1a; 1.2.5326 Direct3D 版本&#xff1a; 1.611.1-81528511 DXCore 版本&#xff1a; 10.0.2609…...