蓝桥杯刷题冲刺 | 倒计时11天
作者:指针不指南吗
专栏:蓝桥杯倒计时冲刺🐾马上就要蓝桥杯了,最后的这几天尤为重要,不可懈怠哦🐾
文章目录
- 1.质因子
- 2.蓝桥王国
1.质因子
-
题目
链接: 1545. 质因子 - AcWing题库
给定一个整数 N,找出它的所有质因子,并按如下格式输出:
N=p1k1∗p2k2∗...∗pmkmp1^{k1}*p2^{k2}*...*pm^{km}p1k1∗p2k2∗...∗pmkm
注意: 如果 N=1 则输出
1=1
。输入格式
一个整数 N。
输出格式
输出时,按
N=p1^k1*p2^k2*...*pm^km
的格式输出答案。其中 pi 是质因子,应按照递增顺序排列,ki 是 pi 的指数,如果 ki 为 1,则不必输出。
数据范围
1≤N≤2312^{31}231−1
输入样例:
97532468
输出样例:
97532468=2^2*11*17*101*1291
-
第一次 AC 90%
#include<bits/stdc++.h> using namespace std;typedef long long ll;void f(int n) {for(int i=2;i<=n/i;i++){int s=0;while(n%i==0){n/=i;s++;}if(s==0)continue;if(s==1) cout<<i<<'*';elsecout<<i<<'^'<<s<<'*';}if(n>1)cout<<n; }int main() {ll n;cin>>n;cout<<n<<"=";if(n==1)cout<<n<<endl;elsef(n);return 0; }
第一次的符号输出有问题
-
题解
#include<bits/stdc++.h> using namespace std;int main() {long long n;cin>>n;if(n==1) //特判{cout<<"1=1";return 0;}cout<<n<<"=";bool first_use =1; //解决符号问题for(long long i=2;i<=n/i;i++) //分解质因子的模板{ if(n%i==0) //注意这里需要判断,再s=0{int s=0;while(n%i==0){n/=i;s++;}if(first_use) first_use=0; //符号这里要注意else cout<<'*';cout<<i;if(s>1) cout<<'^'<<s;}}if(n>1)if(first_use)cout<<n;else cout<<'*'<<n;return 0; }
-
反思
-
数据范围
复习
unsigned int 0~4294967295 (10位数,4e9) int -2147483648~2147483647 (10位数,2e9 2312^{31}231-1) long long -9223372036854775808~9223372036854775807 (19位数, 9e18 ) 2632^{63}263-1 unsigned long long 0~18446744073709551615 (20位数,1e19) 2642^{64}264 - 1 其实,这个题我试了试 不用 long long 也能 AC
但是 考试的时候 还是 long long 吧,万一越界了呢 ,我胆小
-
这个题输出带有运算符号
第一次,我都整晕了,没有想起来有 flag 来标记第一个+
*
带在每一质因子的前面,一直想的是*
带在后面,想了好久,最后一个怎么不带 这个符号 T-T- 输出技巧:使用 flag 标记第一个数,符号带在数的前面(说的有点抽象,结合上面这个题理解)
- 使用 多个 if else 来判断条件,是否输出相对应的符号
-
2.蓝桥王国
-
题目
链接: 蓝桥王国 - 蓝桥云课 (lanqiao.cn)
小明是蓝桥王国的王子,今天是他登基之日。
在即将成为国王之前,老国王给他出了道题,他想要考验小明是否有能力管理国家。
题目的内容如下:
蓝桥王国一共有 N 个建筑和 M 条单向道路,每条道路都连接着两个建筑,每个建筑都有自己编号,分别为 1∼N 。(其中皇宫的编号为 1)
国王想让小明回答从皇宫到每个建筑的最短路径是多少,但紧张的小明此时已经无法思考,请你编写程序帮助小明回答国王的考核。
输入描述
输入第一行包含三个正整数N,M。
第 2 到 M+1 行每行包含三个正整数 u,v,w,表示 u→v 之间存在一条距离为 w 的路。
1≤N≤3×10510^5105,1≤m≤10610^6106,1≤ui, vi≤N,0≤wi≤10910^9109 。
输出描述
输出仅一行,共 N 个数,分别表示从皇宫到编号为 1∼N 建筑的最短距离,两两之间用空格隔开。(如果无法到达则输出 −1)
输入输出样例
示例 1
输入
3 3 1 2 1 1 3 5 2 3 2
输出
0 1 3
-
第一次 AC 0%
#include<bits/stdc++.h> using namespace std;const int N=3*1e2+10,M=1e6+10;int n,m; bool st[N]; int g[N][N]; int dist[N];void dijkstra() {memset(dist,0x3f,sizeof dist);dist[1]=0;for(int i=1;i<=n;i++){int t=-1;for(int j=1;i<=n;j++)if(!st[j]&&(t==-1||dist[t]>dist[j]))t=j;st[t]=true;for(int j=1;j<=n;j++){dist[j]=min(dist[j],dist[t]+g[t][j]); }} }int main() { scanf("%d%d",&n,&m);memset(g,0x3f,sizeof g);while(m--){int a,b,w;scanf("%d%d%d",&a,&b,&w);g[a][b]=min(g[a][b],w);}dijkstra();for(int i=1;i<=n;i++)if(dist[i]==0x3f3f3f3f) cout<<-1;else cout<<dist[i]<<' ';return 0; }
没输出
-
第二次 AC 50%
#include<bits/stdc++.h> using namespace std;typedef pair<int,int> PII;const int N=3*1e5+10;int n,m; int h[N],e[N],w[N],ne[N],idx; bool st[N]; int dist[N];void add(int a,int b,int c) {e[idx]=b,w[idx]=c,ne[idx]=h[a],h[a]=idx++; }void dijkstra() {memset(dist,0x3f,sizeof dist);dist[1]=0;priority_queue<PII,vector<PII>,greater<PII>> heap;heap.push({0,1});while(heap.size()){auto t=heap.top();heap.pop();int vis=t.second,distance=t.first;if(st[vis])continue;st[vis]=1;for(int i=h[vis];i!=-1;i=ne[i]){int j=e[i];if(dist[j]>distance+w[i]){dist[j]=distance+w[i];heap.push({dist[j],j});}}} }int main() {scanf("%d%d",&n,&m);memset(h,-1,sizeof h);while(m--){int a,b,c;scanf("%d%d%d",&a,&b,&c);add(a,b,c);}dijkstra();for(int i=1;i<=n;i++)if(dist[i]==0x3f3f3f3f) cout<<-1<<' ';else cout<<dist[i]<<' ';return 0;}
-
第三次 AC 100%
#include<bits/stdc++.h> using namespace std;typedef long long ll;typedef pair<long long,int> PII;const int N=5*1e5+10;ll n,m; ll h[N],e[N],w[N],ne[N],idx; bool st[N]; ll dist[N];void add(ll a,ll b,ll c) {e[idx]=b,w[idx]=c,ne[idx]=h[a],h[a]=idx++; }void dijkstra() {memset(dist,0x3f,sizeof dist);dist[1]=0;priority_queue<PII,vector<PII>,greater<PII>> heap;heap.push({0,1});while(heap.size()){auto t=heap.top();heap.pop();ll vis=t.second;long long distance=t.first;if(st[vis])continue;st[vis]=1;for(ll i=h[vis];i!=-1;i=ne[i]){ll j=e[i];if(dist[j]>distance+w[i]){dist[j]=distance+w[i];heap.push({dist[j],j});}}} }int main() {scanf("%lld%lld",&n,&m);memset(h,-1,sizeof h);while(m--){ll a,b,c;scanf("%lld%lld%lld",&a,&b,&c);add(a,b,c);}dijkstra();for(ll i=1;i<=n;i++)if(dist[i]>=0x3f3f3f3f3f3f3f3f) cout<<-1<<' '; //long long 需要 8个3felse cout<<dist[i]<<" ";return 0;}
-
反思
-
第一次直接用错模板了
朴素版的模板用于稠密图(矩阵存),堆优化版用于稀疏图(邻接表存)
m是 10510^5105 级别的话就是稠密图,m是n级别的就是稀疏图
ps数组元素个数不能太多,一开始用的 1e5 ,编译过不去
-
相关文章:

蓝桥杯刷题冲刺 | 倒计时11天
作者:指针不指南吗 专栏:蓝桥杯倒计时冲刺 🐾马上就要蓝桥杯了,最后的这几天尤为重要,不可懈怠哦🐾 文章目录1.质因子2.蓝桥王国1.质因子 题目 链接: 1545. 质因子 - AcWing题库 给定一个整数 N…...

【新】(2023Q2模拟题JAVA)华为OD机试 - 时间格式化
最近更新的博客 华为od 2023 | 什么是华为od,od 薪资待遇,od机试题清单华为OD机试真题大全,用 Python 解华为机试题 | 机试宝典【华为OD机试】全流程解析+经验分享,题型分享,防作弊指南华为od机试,独家整理 已参加机试人员的实战技巧本篇题解:时间格式化 题目 运维工程师…...

MySQL函数
函数 MySQL函数与其存储过程类似,是一系列完成某种功能的SQL语句。函数一旦定义后,与过程一样是存储在MySQL的服务器上。调用函数就是一次性执行这些语句。所以函数可以降低语句重复。 MySQL本身提供了内置函数,这些函数的存在给我们日常的开…...

【Linux系统】开发工具(下) {调试器gdb,自动化构建工具make/Makefile,多文件编译,代码管理平台git}
【Linux系统】开发工具(上) {软件包管理器yum,更新yum源,文本编辑器vim,vim的三种基本模式,vim指令集,代码编译器gcc/g} 四、Linux调试器:gdb 4.1 debug模式 程序的编译模式有两种,debug模式和…...

线性代数——行列式
文章目录版权声明排列行列式行列式的由来行列式的概念行列式的性质重要公式克拉默法则补充知识版权声明 本文大部分内容皆来自李永乐老师考研教材和视频课。 排列 由1,2,…,n1,2,\ldots,n1,2,…,n组成的有序数组称为一个nnn阶排列,通常使用j1j2…jnj_1j_2\ldots …...

Spring注解-Spring-boot-SpingAOP
Spring各个模块 Test 对应spring-test.jar. Spring提供的测试工具, 可以整合JUnit测试, 简化测试环节. Core Container Spring的核心组件, 包含了Spring框架最基本的支撑. Beans, 对应spring-beans.jar. Spring进行对象管理时依赖的jar包. Core, 对应spring-core.jar,…...

使用Shell传参解决DataPhin中PySpark不支持中文的问题
使用Shell传参解决DataPhin中PySpark不支持中文的问题 背景 笔者开发PySpark任务时【别问为神马不用Java和Scala打Jar包的方式,PySpark不需要打包所以开发效率极高,早点搞完早点下班】,遇到一个令所有SQL Boy都很头疼的问题,那就…...

【CDH】cloudera manger 如何开启Debug 日志调试模式
前言 在安装 Cloudera Manger 时,遇到报错,需要开启Debug 日志级别来排查下问题原因。这里记录下 CM 如何开启 Debug 级别。 方法一:为整个服务启动DEBUG 如果 CM 无法启动,则可以为整个服务器启用 DEBUG 或 TRACE。 警告&…...

SQL Server 用户授权与回收
创建xxbbbb账号,账号可以在Company_report20221019.dbo.qfacccmprf表中进行select、 insert,update,delete --创建登录账号 create login xxbbbb with password12345#---创建用户 use Company_report20221019 create user xxbbbb for login xxbbbb---将qfacccmprf表…...

电脑出现乱码的原因以及解决方法
在日常使用电脑的过程中,经常会遇到电脑出现乱码,那么为什么会出现乱码呢?出现乱码又该怎么解决呢?下面我们一起来了解一下。 出现乱码的原因 系统乱码:主要是Windows中显示乱码,比如菜单、桌面、启动界面…...

网络工程师笔记
第一天: 编码就是转化为数字信号;调制就是转化为模拟信号; 调制: 1、基带调制(不改变频率,只改变波形) 2、带通调制(迁移到较高的频段进行传输) (1&…...

linux用户添加用户组与目录切换用户组的操作记录
linux用户添加到多个组 usermod -G groupname username (这种会把用户从其他组中去掉,只属于该组) 如:usermod -G git git (git只属于git组) usermod -a -G groupname username (把用户添加到这个组,之前所属组不影响) 如:usermod…...

在CentOS 7上使用二进制文件安装单节点Kubernetes的详细步骤:
确保您的系统已经安装了Docker和etcd。如果没有,请按照以下命令安装它们: yum install docker etcd 启动Docker服务并将其设置为开机自启: systemctl start docker systemctl enable docker 下载所需的Kubernetes二进制文件。您可以从以下网…...

iCollections for mac 8.0.6.80608 保持Mac桌面的整洁
应用介绍 iCollections允许您在桌面上创建区域,以便您可以排序和排列图标。这可以帮助您将相关项目保持在一起,以便文件(图片,文档,屏幕截图,应用程序等)井井有条且易于查找。 小麦测试可以按照…...

学习HM微博项目第8天
步骤:发微博01-导航栏内容 -> 发微博02-自定义TextView -> 发微博03-完善TextView和发送微博按钮 -> 发微博04-显示工具条 -> 发微博05-封装工具条和相册 -> 发微博06-发送微博 发微博01-导航栏内容 APP的演示操作: 从APP的演示操作中可…...

十五、存储过程与函数
一、存储过程概述 1、简介 含义:存储过程的英文是 Stored Procedure 。它的思想很简单,就是一组经过 预先编译 的 SQL 语句的封装 执行过程:存储过程预先存储在 MySQL 服务器上,需要执行的时候,客户端只需要向服务器…...

php实现助记词转TRX,ETH 私钥和钱包地址
TRX助记词转地址网上都是Java,js或其他语言开发的示例,一个简单的功能需要依赖其他环境来实现表示不能忍,毕竟php是世界上最好的语言。【狗头】 一、知识准备 要实现助记词转TRX私钥和地址,先需要知道助记词和私钥钱包地址之间的…...

浅析可观测系统中sdk的不同引入方式的利与弊
文章前提是不考虑sw的方式引入,同时不考虑在nginx等自动注入js脚本的方式,那么基本就是两种大的形式:cdn引入和本地引入其中cdn引入有两种:cdn同步cdn异步本地引入有两种:npm本地js文件参考知识提前先补充一张图片正文…...

Google Earth导入经纬高(txt文件)
目录 一、提取GNSS数据生成txt文本文件 二、Google Earth导入txt文件 1、启动Google Earth 2、打开vig_result.txt...

Unity客户端开发工程师的进阶之路
UWA技能成长系统是UWA根据学员的职业发展目标,提供技能学习的推荐路径,再将所需学习内容按难易等多维度,设计分成多个学习阶段,可以循序渐进地进行学习。 进入技能成长体系,目标选择高级客户端开发工程师(U…...

2023年全国最新高校辅导员精选真题及答案34
百分百题库提供高校辅导员考试试题、辅导员考试预测题、高校辅导员考试真题、辅导员证考试题库等,提供在线做题刷题,在线模拟考试,助你考试轻松过关。 72.心理发展的特点是()。 A.方向性与不可逆性 B.连续性与阶段性…...

chatGPT身份指令
充当 Linux 终端 我想让你充当 Linux 终端。我将输入命令,您将回复终端应显示的内容。我希望您只在一个唯一的代码块内回复终端输出,而不是其他任何内容。不要写解释。除非我指示您这样做,否则不要键入命令。当我需要用英语告诉你一些事情时&…...

基于springboot实现私人健身与教练预约管理系统【源码+论文】分享
基于springboot实现私人健身与教练预约管理系统演示开发语言:Java 框架:springboot JDK版本:JDK1.8 服务器:tomcat7 数据库:mysql 5.7 数据库工具:Navicat11 开发软件:eclipse/myeclipse/idea M…...

网络技术领域术语大全,含中英文及缩写,强烈建议收藏!
你好,这里是网络技术联盟站。 今天给大家分享的是网络技术领域相关的术语大全,在文末,我已经将本文整理成一个pdf文档了,大家可以下载到本地以便查阅。 自主访问控(DAC:Discretionary Access Control) 自主访问控制(DAC)是一个…...

C++源码剖析——vector和array
前言:之前看过侯老师的《STL源码剖析》但是那已经是多年以前的,现在工作中有时候查问题和崩溃都需要了解实际工作中使用到的STL的实现。因此计划把STL的源码再过一遍。 摘要:本文描述了llvm中libcxx的std::vector的实现。 关键字&…...

学习linux编程(一)
本文导航一. Linux基础知识杂记0. terminal操作快捷键等1. 为什么vfork的子进程里用return,整个程序会挂掉,而且exit不会(zz)2. 进程内存管理详解3. 关于堆和自由存储区概念的区别4. cache和buffer的区别5. C实现线程池6. 静态函数和虚函数的区别7. C里是…...

pt-query-digest_详细使用方法
pt-query-digest_详细使用方法1. pt介绍1.1. 说明1.2. 安装2 语法选项2.1 所有参数2.2 常见参数2.3 事件和属性2.4 分组2.5 过滤2.6 排序2.7 输出选项2.8 DSN(数据源)选项3. 慢日志3.1 事件属性3.2 分析报告3.2.1 第一部分:总体概况说明3.2.2 第二部分:查…...

基于MATLAB编程的萤火虫FA优化BP神经网络的回归分析
目录 BP神经网络的原理 BP神经网络的定义 BP神经网络的基本结构 BP神经网络的神经元 BP神经网络激活函数及公式 SVM应用实例,基于fa-svm分类预测 代码 结果分析 展望 BP神经网络的原理 BP神经网络的定义 人工神经网络无需事先确定输入输出之间映射关系的数学方程,仅通过…...

leetcode 消失的数字(面试题)
题目 数组nums包含从0到n的所有整数,但其中缺了一个。请编写代码找出那个缺失的整数。你有办法在O(n)时间内完成吗? 注意:本题相对书上原题稍作改动 示例 1: 输入:[3,0,1] 输出:2 示例 2: 输入&…...

Spring入门篇6 --- AOP
目录1.核心概念AOP(Aspect Oriented Programming)面向切面编程:一种编程范式,指导开发者如何组织程序结构作用:在不惊动原始设计的基础上为其进行功能增强。连接点(JoinPoint):程序执行过程中的任意位置切入点(PointCut)ÿ…...