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

P9420 [蓝桥杯 2023 国 B] 子 2023 / 双子数--2024冲刺蓝桥杯省一

点击跳转例题

子2023思路:dp。最开始想着枚举,但是超时,想着优化以下,但是还是不行。

那么切换算法,应该是dp:
1.f [i] 表示当前字符串 以 2023  为第 i 位的数量方案:如f [0] 表示 前i个字符串中2 的数量, f [1] 表示 前i个字符串中 20 的数量, f [2] 表示 前i个字符串中202 的数量, f [3] 表示 前i个字符串中 2023 的数量.

 2. 状态转移方程

3.初始化

4.迭代更新

双子数思路:枚举即可,线性筛法,因为最大为2e14次方,所以筛出1e7的素数即可,时间为0.1秒左右。然后枚举所有的可能性即可,注意枚举的时候,如果判断不当可能会爆longlong,可以开int 128, 单独修改int为int128即可

现在测评出了问题,算出答案后,直接用答案测评。

 

#include <bits/stdc++.h>
#define int long long //(有超时风险)
#define PII pair<int,int>
#define endl '\n'
#define LL __int128using namespace std;const int N=2e6+10,M=1e3+10,mod=998244353,INF=0x3f3f3f3f;int a[N],b[N],c[N],pre[N];int prime[N],cnt;
bool st[N];
int sum[N];void get_prime(int n)
{for(int i=2;i<=n;i++){if(!st[i])prime[cnt++]=i;for(int j=0;prime[j]<=n/i;j++){st[prime[j]*i]=true;if(i%prime[j]==0)break;}}
}signed main()
{std::ios::sync_with_stdio(false);std::cin.tie(nullptr);if(getchar()=='A'){string s;for(int i=1;i<=2023;i++)s+= to_string(i);vector<int>f(5);for(int i=0;i<s.size();i++){//状态转移方程,如当s[i]=='2'的时候,2的数量++,//202的数量为原来202的数量加上新产生的数量,就是当前的2与以前的20形成的202.if(s[i]=='2')f[0]++,f[2]=f[2]+f[1];if(s[i]=='0')f[1]=f[1]+f[0];if(s[i]=='3')f[3]=f[3]+f[2];}cout<<f[3]<<endl;}else{get_prime(1e7);int l=2333,r=23333333333333;int ans=0;for(int i=0;i<cnt;i++){//提前退出,优化枚举,避免超时if(prime[i]*prime[i]*prime[i+1]*prime[i+1]>r)break;for(int j=i+1;j<cnt;j++){int p1=prime[i],p2=prime[j];if(p1*p1*p2*p2<l)continue;if(p1*p1*p2*p2>r)break;ans++;}}cout<<ans<<endl;}return 0;
}

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

相关文章:

  • The Back-And-Forth Method (BFM) for Wasserstein Gradient Flows windows安装
  • 【GAMES101】Lecture 19 透镜
  • 防范恶意勒索攻击!亚信安全发布《勒索家族和勒索事件监控报告》
  • AR人脸106240点位检测解决方案
  • 数字图像处理实验记录八(图像压缩实验)
  • navigator.mediaDevices.getUserMedia获取本地音频/麦克权限并提示用户
  • CTF-show WEB入门--web19
  • 04 使用gRPC实现客户端和服务端通信
  • 设计模式-行为型模式(下)
  • 华为交换机常用命令
  • 【Linux】信号-上
  • uniapp 开发App 权限授权 js-sdk
  • 【01】判断素数/质数(C语言)
  • 特征工程:特征提取和降维-上
  • 前端JavaScript篇之强类型语言和弱类型语言的区别和对比
  • [红日靶机渗透] ATKCK红队评估实战靶场三
  • 网课:N皇后问题——牛客(题解和疑问)
  • [大厂实践] Netflix容器平台内核panic可观察性实践
  • 2024/2/8
  • Verilog刷题笔记23
  • C#验证字符串的长度,用正则表达式 vs 字符数组长度或字符串的长度
  • opencv C++ dnn模块调用yolov5以及Intel RealSense D435深度相机联合使用进行目标检测
  • 2024牛客寒假算法基础集训营1(视频讲解全部题目)
  • 第三百一十三回
  • 倒计时61天
  • npm后Truffle找不到命令(ubantu20系统)
  • 嵌入式学习第三篇——51单片机
  • RabbitMQ详解
  • CGAL::2D Arrangements-4
  • 终端命令提示符:如何查看我们电脑端口是否被占用和处理方式