【蓝桥杯冲冲冲】Prime Gift

news/2024/9/8 10:16:49

【蓝桥杯冲冲冲】Prime Gift

蓝桥杯备赛 | 洛谷做题打卡day31

文章目录

  • 蓝桥杯备赛 | 洛谷做题打卡day31
  • Prime Gift
    • 题面翻译
    • 题目描述
    • 输入格式
    • 输出格式
    • 样例 #1
      • 样例输入 #1
      • 样例输出 #1
    • 样例 #2
      • 样例输入 #2
      • 样例输出 #2
    • 提示
    • 题解代码
    • 我的一些话

题解代码

学会利用新知,自己多试试并尝试积攒一些固定解答方案,debug,以下是题解代码 ~

#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
#define REP(a,b,c) for(int a=b;a<=c;a++)
int n,a[110],k;
LL A[5000010],B[5000010];
int lenA=0,lenB=0;
inline void dfs1(int x,LL s) {A[++lenA]=s;if (x>n) return ;for(LL i=1;;i*=a[x]) {if (1e18/i<s) break;dfs1(x+2,s*i);}
}
inline void dfs2(int x,LL s) {B[++lenB]=s;if (x>n) return ;for(LL i=1;;i*=a[x]) {if (1e18/i<s) break;dfs2(x+2,s*i);}
}
inline LL check(LL mid) {LL ans=0; int j=lenB;REP(i,1,lenA) {while (j>0&&B[j]>mid/A[i]) j--;ans+=1ll*j;}return ans;
}
int main() {ios::sync_with_stdio(false); cin.tie(0); cout.tie(0);cin>>n; REP(i,1,n) cin>>a[i]; cin>>k;sort(a+1,a+n+1);dfs1(1,1); dfs2(2,1);LL l=0,r=1e18;sort(A+1,A+lenA+1);sort(B+1,B+lenB+1);lenA=unique(A+1,A+lenA+1)-A-1;lenB=unique(B+1,B+lenB+1)-B-1;while (l<r) {LL mid=(l+r)>>1;if (check(mid)>=k) r=mid;else l=mid+1;}cout<<r<<endl;return 0;
}//完结撒花! の_^

我的一些话

  • 今天学习动态规划,dp属于比较难的部分,这题利用记忆化搜索即可快速解决,需要多动脑,多思考思路还是很好掌握的,虽然一次性AC有一定难度,需要通盘的考虑和理解,以及扎实的数据结构基础才能独立写出AC代码。但无论难易,大家都要持续做题,保持题感喔!一起坚持(o´ω`o)

  • 如果有非计算机专业的uu自学的话,关于数据结构的网课推荐看b站上青岛大学王卓老师的课,讲的很细致,有不懂都可以私信我喔

  • 总结来说思路很重要,多想想,多在草稿纸上画画,用测试数据多调试,debug后成功编译并运行出正确结果真的会感到很幸福!

  • 关于之前蓝桥杯备赛的路线和基本方法、要掌握的知识,之前的博文我都有写,欢迎大家关注我,翻阅自取哦~

  • 不管什么都要坚持吧,三天打鱼两天晒网无法形成肌肉记忆和做题思维,该思考的时候一定不要懈怠,今天就说这么多啦,欢迎评论留言,一起成长:)

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

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

相关文章

【C++第二阶段】空指针访问成员函数常成员函数常成员属性

你好你好&#xff01; 以下内容仅为当前认识&#xff0c;可能有不足之处&#xff0c;欢迎讨论&#xff01; 文章目录 空指针访问成员函数常成员函数&常成员属性 空指针访问成员函数 类对象类型的空指针可以访问成员函数&#xff0c;但是不能够访问带有成员属性的成员函数。…

有趣的CSS - 多彩变化的按钮

目录 整体效果核心代码html 代码css 部分代码 完整代码如下html 页面css 样式页面渲染效果 整体效果 这个按钮效果主要使用 :hover 、:active 伪选择器以及 animation 、transition 属性来让背景色循环快速移动形成视觉效果。 核心代码部分&#xff0c;简要说明了写法思路&…

最新GPT4.0使用教程,AI绘画,GPT语音对话使用,DALL-E3文生图

一、前言 ChatGPT3.5、GPT4.0、GPT语音对话、Midjourney绘画&#xff0c;文档对话总结DALL-E3文生图&#xff0c;相信对大家应该不感到陌生吧&#xff1f;简单来说&#xff0c;GPT-4技术比之前的GPT-3.5相对来说更加智能&#xff0c;会根据用户的要求生成多种内容甚至也可以和…

JVM-运行时数据区程序计数器

目录 一、JVM介绍 二、运行时数据区 三、程序计数器的定义 四、程序计数器会出现内存溢出吗 一、JVM介绍 JVM&#xff08;Java Virtual Machine&#xff09;是Java虚拟机的缩写&#xff0c;它是Java平台的核心组件之一。JVM是一个在计算机上运行Java字节码的虚拟机&#x…

25、数据结构/二叉树相关练习20240207

一、二叉树相关练习 请编程实现二叉树的操作 1.二叉树的创建 2.二叉树的先序遍历 3.二叉树的中序遍历 4.二叉树的后序遍历 5.二叉树各个节点度的个数 6.二叉树的深度 代码&#xff1a; #include<stdlib.h> #include<string.h> #include<stdio.h> ty…

FATFA文件系统

一.文件系统基本知识 1.文件系统是什么&#xff1f; 文件系统是一种用于组织和存储计算机上的文件和目录的方法。它是操作系统中的一个重要组成部分&#xff0c;负责管理磁盘或其他存储介质上的文件&#xff0c;使其易于访问和使用。文件系统提供了一种结构化的方式来组织文件…