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

基础算法(三)#蓝桥杯

文章目录

    • 11、构造
      • 11.1、小浩的ABC
      • 11.2、小新的质数序列挑战
      • 11.3、小蓝找答案
      • 11.4、小蓝的无限集
    • 12、高精度
      • 12.1、阶乘数码(高精度*单精度)

11、构造

11.1、小浩的ABC

#include<bits/stdc++.h>
using namespace std;
#define IOS ios::sync_with_stdio(false);cin.tie(nullptr);cout.tie(nullptr);
using ll = long long;int main(){IOS;int t;cin>>t;while(t--){ll x;cin>>x;// A B C  <=10^6if(x<2){cout<<"-1"<<'\n';continue;}if(x<=1000000){cout<<x-1<<" 1 1"<<'\n';continue;}ll a=1000000,c=x%a,b;if(c==0)c=a;b=(x-c)/a;cout<<a<<' '<<b<<' '<<c<<'\n';}return 0;
}

11.2、小新的质数序列挑战

#include<bits/stdc++.h>
using namespace std;
#define IOS ios::sync_with_stdio(false);cin.tie(nullptr);cout.tie(nullptr);
using ll = long long;int main(){IOS;int T;cin>>T;while(T--){//质数序列,只能被1或本身整除的序列ll a,b;cin>>a>>b;if(a==1||b==1){cout<<"-1\n";continue;}auto gcd = [&](ll a,ll b){while(b!=0){ll t=a%b;a=b;b=t;}return a;};ll g=gcd(a,b);if(g==1){cout<<"1\n";}else{cout<<"0\n";}}return 0;
}

11.3、小蓝找答案

#include <bits/stdc++.h>using LL = long long;
using Pair = std::pair<int, int>;
#define inf 1'000'000'000void solve(const int &Case) {int n;std::cin >> n;std::vector<int> a(n);for (auto &x: a)std::cin >> x;auto ck = [&]() {for (int i = 1; i < n; i++) {if (a[i] <= a[i - 1])return false;}return true;};if (ck()) {std::cout << "1\n";return;}int l = 2, r = n, ret = n;while (l <= r) {int mid = (l + r) >> 1;std::vector<Pair> A;int flag = 0;std::function<void(int)> push = [&](int x) {if (x <= 0) {flag = 1;return;}while (!A.empty() && A.back().first > x)A.pop_back();if (A.empty()) {A.emplace_back(x, 1);return;}if (A.back().first == x) {A.back().second++;if (A.back().second == mid) {push(x - 1);A.emplace_back(x, 0);}}else {A.emplace_back(x, 1);}};A.emplace_back(a[0], 0);for (int i = 1; i < n; i++) {if (a[i] > a[i - 1])A.emplace_back(a[i], 0);else push(a[i]);if (flag)break;}if (flag)l = mid + 1;else {ret = mid;r = mid - 1;}}std::cout << ret << '\n';
}int main() {std::ios::sync_with_stdio(false);std::cin.tie(nullptr);std::cout.tie(nullptr);int T = 1;
//    std::cin >> T;for (int Case = 1; Case <= T; Case++)solve(Case);return 0;
}

11.4、小蓝的无限集

#include <bits/stdc++.h>using LL = long long;
using Pair = std::pair<int, int>;
#define inf 1'000'000'000void solve(const int &Case) {int a, b, n;std::cin >> a >> b >> n;if (a == 1) {if (n % b == 1)std::cout << "Yes\n";else std::cout << "No\n";return;}// 枚举 a ^ iLL pw = 1;while (pw <= n) {if ((n - pw) % b == 0) {std::cout << "Yes\n";return;}pw *= a;}std::cout << "No\n";
}int main() {std::ios::sync_with_stdio(false);std::cin.tie(nullptr);std::cout.tie(nullptr);int T = 1;std::cin >> T;for (int Case = 1; Case <= T; Case++)solve(Case);return 0;
}

12、高精度

12.1、阶乘数码(高精度*单精度)

#include<bits/stdc++.h>
#define IOS ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);
using namespace std;
void mult(vector<int>& a,int b){int d=0;for(int i=0;i<a.size();i++){int p=a[i]*b+d;a[i]=p%10;d=p/10;}while(d){a.push_back(d%10);d/=10;}
}
int main() {IOS;int t;cin>>t;while(t--){int n,a1;cin>>n>>a1;vector<int> ans(1,1);for(int i=2;i<=n;i++){mult(ans,i);//n的阶乘}int res=0;for(const auto &x:ans){if(x==a1)res++;}cout<<res<<"\n";}return 0;
}

越来越难了。。。。。

http://www.lryc.cn/news/316722.html

相关文章:

  • 人工智能在增强数据安全方面的作用
  • python】jupyter notebook导出pdf和pdf不显示中文问题
  • 通过SDKMAN安装各种版本JDK
  • 软考高级:软件架构风格概念和例题
  • Vue3响应式编程
  • 决策树算法优化(一篇文章 理解)
  • 【C语言步行梯】自定义函数、函数递归详谈
  • 小米汽车上市进入倒计时,已开启内部试驾
  • React render方法的原理?在什么时候会被触发?
  • 打卡学习kubernetes——了解kubernetes组成及架构
  • python(ogr)处理geojson为本地shp文件
  • Docker容器化技术(使用Dockerfile制作镜像)
  • C++ struct 结构体类型
  • 什么是VR虚拟现实体验店|VR主题馆加盟|元宇宙文化旅游
  • 【智能家居入门1之环境信息监测】(STM32、ONENET云平台、微信小程序、HTTP协议)
  • AIGC安全研究简述(附资料下载)
  • 初识Spring MVC
  • 云原生之容器编排实践-ruoyi-cloud项目部署到K8S:Nginx1.25.3
  • PHP立体安全攻击向量:保护应用程序的关键挑战
  • 【功能大全】手机短信验证码一键注册登录流程
  • 【Python】【Matplotlib】深入解析plt.grid()---原理、应用与注意事项
  • 数据库规范化设计案例解析
  • 服务器段的连接端口和监听端口编程实现
  • 用“定时执行专家”武装你的电脑,做时间管理大师!
  • css3实现3D立方体旋转特效源码
  • 计算器系统基础知识-校验码
  • springboot换日志框架后爆SLF4J: Class path contains multiple SLF4J bindings的解决办法
  • k8s+zabbix
  • k8s-生产级的k8s高可用(2) 25
  • ubuntu20.04 创建ros环境、创建rospackage