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

E. Rasta Thamaye Dilo

链接:[https://codeforces.com/gym/104679/problem/E?adcd1e=caf4fedm9escdm&csrf_token=062b3628aaa43205c694e16f77dbe6ec]
题意:
村庄=点
路=点与点的连线
1.有t组数据,每组给一个数字n,问可以从一点走到任意一点需要建的最小路数。
2.i和j之间可以整除,则i,j之间已经有路。

题解:根据2.找从2~n有几个不连通的堆。

  • 两个质数堆会由他们的公倍数连成一堆,质数会与其倍数连成一堆,其中有交叉,最早的交叉出现在2倍时。
  • 2*n是2与n的公倍数,这说明2和前n个数(包括n)连成一堆,即前n个质数为一堆。
    ans=总质数-前n质数连成一堆;

故解题流程为
1.埃氏筛选法记录质数
2.前缀和记录前n个质数个数
3.prefix[n]-prefix[n/2]即为要建立的最小数

特判:当n=2时,只有一个点,不需要路,ans=0;
当n=3时,只有两个质数用一条线连接即可
`#include

include

using namespace std;
const int M = 1e7;
int main()
{
vectorprime(M + 1, 1);
prime[0] = 0, prime[1] = 0;
for (int i = 2;i <= M;i++) {
if (prime[i]) {
for (int j = 2 * i;j <= M;j+=i) {
prime[j] = 0;
}
}
}
for (int i = 1;i <= M;i++) {
prime[i] += prime[i - 1];
}
cout << prime[6];
int t;
cin >> t;
while (t--) {
int m;
cin >> m;
if (m <= 3) cout << m - 2 << endl;
else
cout << prime[m] - prime[m / 2] << endl;
}
return 0;
}`

http://www.gsyq.cn/news/17383.html

相关文章:

  • 使用 Fortran 实现英文数字验证码识别系统
  • 力扣热题100之翻转二叉树 - 详解
  • P11967 [GESP202503 八级] 割裂
  • WPS word 已有多级列表序号 - 指南
  • HTML5实现简洁的端午节节日网站源码 - 实践
  • Visio的图片,粘到word中显示不全,右边和下面显示不出来
  • 10.8动手动孬
  • [迷宫寻路 Round 3] 七连击
  • 规模化网站SSL证书终极方案
  • 详细介绍:saveOrUpdate 有个缺点,不会把值赋值为null,解决办法
  • 【OpenGL ES】光栅化插值原理和射线拾取原理
  • 在AI技术唾手可得的时代,挖掘新需求成为核心竞争力——某知名AI编程助手框架需求探索
  • 实验任务1——8
  • 实用指南:Android studio初体验
  • 给Ubuntu用户的SSH免密登入公钥文件和文件夹设置权限
  • dockercontainerd代理设置脚本
  • 9.29课后整理 - GENGAR
  • 2025年中盘点
  • 【CVE-2025-4123】Grafana完整分析SSRF和从xss到帐户接管 - 教程
  • 【学习记录】Django Channels + WebSocket 异步推流编写常用命令汇总
  • AgpdParty
  • io软件的层次结构
  • 2025年- H57-Lc165--994.腐烂的橘子(图论,广搜)--Java版 - 教程
  • 月嫂面试题
  • 对顶堆维护区间中位数板子
  • 2025 布袋包装厂家最新推荐榜:自贸区实力厂商领衔,含手提袋、帆布袋等全品类,年销 500 万级生产商精选无纺布袋/布袋生产/云南布袋包装/茶叶布袋厂家推荐
  • 2025 火烧板源头厂家最新推荐榜单:自有矿山保障品质,高硬度耐磨产品全覆盖,五莲花 / 芝麻白 / 防滑芝麻黑采购优选指南
  • Luogu P11660 我终将成为你的倒影 题解 [ 紫 ] [ 分块 ] [ 分类讨论 }
  • 深入解析:【LeetCode 热题100】回溯:括号生成 组合总和(力扣22 / 39 )(Go语言版)
  • 完整教程:基于 COM 的 XML 解析技术(MSXML) 的总结