备战蓝桥杯---刷杂题1

1.来个小定理(上次DP的青蛙过河用过)

事实上,假如他们的gcd!=1,那么P,q都可以表示成gcd的倍数,因此假如一个数不是gcd的倍数就不可以表示,若互质由裴蜀定理大于一定时一定可以表示出。

事实上为(p-1)(q-1)-1.(p,q互质)

2.

模拟+单链表式并查集:

p[i]表示单链表的下一个节点,i所在树的根节点为从i开始向右找第一个没有被用的位置。

一开始都是自环,假如后面2被用过,那么2连3,假如1用了,1连2,这样子通过路径压缩就可以高效的实现。

下面是AC代码:

#include<bits/stdc++.h>
using namespace std;
const int N=1100010;
int p[N];
int find(int x){
    if(p[x]==x) return x;
    return p[x]=find(p[x]);
}
int main(){
    int n;
    cin>>n;
    for(int i=1;i<N;i++) p[i]=i;
    for(int i=1;i<=n;i++){
        int x;
        scanf("%d",&x);
        x=find(x);
        printf("%d ",x);
        p[x]=x+1;
    }
}

3.组合数问题求最值-背包:

我们令f[i][j][k]表示从前i个数选j个,总和余数为k的选法集合的max

易得状态转移方程:

f[i][j][k]=max(f[i-1][j][k],f[i-1][j-1][((k-ai)%K+K)%K]),但是复杂度太大了。

同时,我们可以得到一个结论,对于余数相同的,我们只要保证存最大值前3就可以了,这样复杂度就可以了

下面是AC代码:

#include<bits/stdc++.h>
using namespace std;
const int N=1010;
int n,m,f[4][N];
vector<int> a[N];
int main(){
    cin>>n>>m;
    for(int i=1;i<=n;i++){
        int x;
        scanf("%d",&x);
        a[x%m].push_back(x);
    }
    memset(f,-0x3f,sizeof(f));
    f[0][0]=0;
    for(int i=0;i<m;i++){
        sort(a[i].begin(),a[i].end());
        reverse(a[i].begin(),a[i].end());
        for(int u=0;u<3&&u<a[i].size();u++){
            int x=a[i][u];
            for(int j=3;j>=1;j--){
                for(int k=0;k<m;k++){
                    f[j][k]=max(f[j][k],f[j-1][(k-x%m+m)%m]+x);
                }
            }
        }
    }
    cout<<f[3][0];
}

4.数学

恶心到了,直接放图:

下面是矩阵快速幂以及龟速乘的代码:

#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
LL p;
LL qmul(LL a,LL b){
	LL res=0;
	while(b){
		if(b&1) res=(res+a)%p;
		a=(a+a)%p;
		b>=1;
	}
	return res;
} 
LL t[2][2];
void mul(LL c[][2],LL a[][2],LL b[][2]){
	memset(t,0,sizeof(t));
	for(int i=0;i<2;i++){
		for(int j=0;j<2;j++){
			for(int k=0;k<2;k++){
				t[i][j]=(t[i][j]+qmul(a[i][k],b[k][j]))%p;
			}
		}
	}
	memcpy(c,t,sizeof(t));
}
LL F(LL n){
	if(!n) return 0;
	LL f[2][2]={1,1};
	LL a[2][2]={{0,1},{1,1}};
	for(LL k=n-1;k;k>=1){
		if(k&1) mul(f,f,a);
		mul(a,a,a);
	}
	return f[0][0];
}

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

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

相关文章

关于 QSound播放wav音频文件,播放失败“using null output device, none available” 的解决方法

若该文为原创文章&#xff0c;转载请注明原文出处 本文章博客地址&#xff1a;https://hpzwl.blog.csdn.net/article/details/137264493 红胖子(红模仿)的博文大全&#xff1a;开发技术集合&#xff08;包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软…

GaussDB云数据库极简版安装与使用-新手指南

一、前言 作为一款领先的企业级数据库管理系统&#xff0c;GaussDB 提供了强大的性能、高度可靠性和丰富的功能&#xff0c;是企业构建可靠、高性能的数据库解决方案的理想选择。 本文主要针对高校和个人测试环境&#xff0c;介绍极简版安装和使用过程&#xff0c;更加适合高…

护眼台灯哪个牌子好?护眼台灯品牌排行前十名推荐

台灯可以说家家必备的一盏灯具&#xff0c;如果家长有正在上学的孩子的更需要一款好的台灯&#xff0c;因为不管是看书、写字、阅读都离不开台灯的帮助&#xff0c;而且一款好的台灯不仅仅能够提供明亮充足的照明环境&#xff0c;而且还能起到保护视力健康&#xff0c;预防近视…

echarts实现炫酷科技感的流光效果

前言&#xff1a; echarts实现炫酷科技感的流光效果 效果图&#xff1a; 实现步骤&#xff1a; 1、引入echarts,直接安装或者cdn引入 npm i echarts https://cdn.jsdelivr.net/npm/echarts5.4.3/dist/echarts.min.js 2、封装 option方法&#xff0c;第一个数据是折线数据&a…

互联网轻量级框架整合之JavaEE基础I

不得不解释得几个概念 JavaEE SUN公司提出来的企业版Java开发中间件&#xff0c;主要用于企业级互联网系统的框架搭建&#xff0c;同时因为Java语言优质的平台无关性、可移植性、健壮性、支持多线程和安全性等优势&#xff0c;其迅速成为构建企业互联网平台的主流技术&#x…

AI预测福彩3D第24弹【2024年4月2日预测--第4套算法重新开始计算第10次测试】

今天继续对第4套算法进行测试&#xff0c;因为第4套算法已连续多期命中&#xff0c;相对来说还算稳定。好了&#xff0c;废话不多说了&#xff0c;直接上预测的结果吧~ 2024年4月2日福彩3D的七码预测结果如下 第一套&#xff1a; 百位&#xff1a;1 2 …

旅游管理系统|基于Springboot的旅游管理系统设计与实现(源码+数据库+文档)

旅游管理系统目录 目录 基于Springboot的旅游管理系统设计与实现 一、前言 二、系统功能设计 三、系统实现 1、用户管理 2、景点分类管理 3、景点信息管理 4、酒店信息管理 5、景点信息 6、游记分享管理 四、数据库设计 1、实体ER图 2、具体的表设计如下所示&#xf…

【MySQL】数据库函数-案例演示【字符串/数值/日期/流程控制函数】(代码演示&可cv代码)

前言 大家好吖&#xff0c;欢迎来到 YY 滴MySQL系列 &#xff0c;热烈欢迎&#xff01; 本章主要内容面向接触过C Linux的老铁 主要内容含&#xff1a; 欢迎订阅 YY滴C专栏&#xff01;更多干货持续更新&#xff01;以下是传送门&#xff01; YY的《C》专栏YY的《C11》专栏YY的…

郭天祥新概念51单片机(第四期读书笔记)

时钟周期、状态周期、机器周期、指令周期与晶振频率之间的关系 1、晶振频率与脉冲的关系 假设单片机的晶振频率是12MHz&#xff0c;那么它的一个脉冲为1/12微秒&#xff1b;晶振单位时间发出的脉冲则为&#xff1a; 12 ∗ 1 0 6 12*10^6 12∗106。 假设单片机的晶振频率是4MH…

【微众银行笔试题汇总】 2024-03-31-微众银行春招笔试题-三语言题解(CPP/Python/Java)

&#x1f36d; 大家好这里是KK爱Coding &#xff0c;一枚热爱算法的程序员 ✨ 本系列打算持续跟新微众银行近期的春秋招笔试题汇总&#xff5e; &#x1f4bb; ACM银牌&#x1f948;| 多次AK大厂笔试 &#xff5c; 编程一对一辅导 &#x1f44f; 感谢大家的订阅➕ 和 喜欢&…

全流程基于GIS、python机器学习技术的地质灾害风险评价与信息化建库实践应用

将结合项目实践案例和科研论文成果进行讲解。入门篇&#xff0c;ArcGIS软件的快速入门与GIS数据源的获取与理解&#xff1b;方法篇&#xff0c;致灾因子提取方法、灾害危险性因子分析指标体系的建立方法和灾害危险性评价模型构建方法&#xff1b;拓展篇&#xff0c;GIS在灾害重…

鸿蒙 UIAbility和Compent 生命周期

一、UIAbility的生命周期 在UIAbility的使用过程中&#xff0c;会有多种生命周期状态&#xff0c;掌握UIAbility的生命周期&#xff0c;对于应用的开发非常重要。 1、UIAbility的生命周期 UIAbility的生命周期主要分为以下4个&#xff1a; Create---Foreground---Background---…

梨花带雨网页音乐播放器二开优化修复美化版全开源版本源码

源码简介 最新梨花带雨网页音乐播放器二开优化修复美化版全开源版本源码下载 梨花带雨播放器基于thinkphp6开发的XPlayerHTML5网页播放器前台控制面板,支持多音乐平台音乐解析。二开内容&#xff1a;修复播放器接口问题&#xff0c;把接口本地化&#xff0c;但是集成外链播放器…

一文读懂:设计顶尖用户体验的网站,必看!

在设计网站的过程中&#xff0c;我们需要发散思维&#xff0c;不仅要在脑海中构建丰富的网站原型框架&#xff0c;还要在我们面前实现。这种方法可以以最低的成本创造最大的效益&#xff0c;测试当前设计的实用性。它还可以测试用户对网站的想法和感受&#xff0c;全面判断网站…

AI 时代,程序员的出路在何方?

前言 随着 ChatGPT 的横空出世&#xff0c;给全球带来了巨大冲击&#xff0c;各种大语言模型如雨后春笋不断出现。国外如谷歌 Bard、Anthropic 的 Claude&#xff0c;国内如百度文心一言、阿里通义千问、讯飞星火认知大模型、昆仑万维天工大模型等。 现在的大语言模型比以前的…

泰克Tektronix MDO3054混合域示波器

181/2461/8938产品概述&#xff1a; Tektronix MDO3054 示波器&#xff0c;混合域&#xff0c;500 MHz&#xff0c;4 通道&#xff0c;5 GS/s 泰克 MDO3054 混合域示波器是终极 6 合 1 集成示波器&#xff0c;包括可选的集成频谱分析仪、任意函数发生器、逻辑分析仪、协议分析…

IDEA报错,`java.io.NotSerializableException`,解决:一个类只有实现了Serializable接口,它的对象才是可序列化的

问题&#xff1a;IDEA报错&#xff0c;java.io.NotSerializableException 解决办法&#xff1a;在出问题的类中加上implements Serializable&#xff0c;如下所示&#xff1a; 原因&#xff1a;当要将该实体类对象保存至某个地方时&#xff08;我这里是想将Catalog2Vo保存至R…

Linux安装JDK1.8

前言&#xff1a;本文内容为实操记录&#xff0c;仅供参考&#xff01; Ubuntu配置多版本jdk&#xff1a;http://t.csdnimg.cn/0UcTf 一、下载 官方下载&#xff08;需要注册Oracle账号&#xff09;&#xff1a; Java Downloads | Oracle 国内镜像下载&…

YOLOv8模型剪枝实战:Network Slimming网络瘦身方法

课程链接&#xff1a;YOLOv8模型剪枝实战&#xff1a;Network Slimming网络瘦身方法_在线视频教程-CSDN程序员研修院 YOLOv8是一个当前非常流行的目标检测器&#xff0c;本课程使用Network Slimming&#xff08;网络瘦身&#xff09;剪枝方法对YOLOv8进行模型剪枝&#xff0c;…

关于不同AR(增强现实)SDK(软件开发工具包)的汇总和特性描述

以下是每个AR SDK的核心内容概述: ARCore 开发者:Google支持平台:Android(部分设备不支持)功能:运动追踪、平面追踪、点云图、云锚点、光照估计、环境探针、人脸追踪、2D图片追踪、人物遮挡、射线测试。官网链接:ARCoreARKit 开发者:Apple支持平台:iOS(iPhone和iPad)…