洛谷 P2568 GCD-提高+/省選?

題目描述

給定正整數 nnn,求 1≤x,y≤n1\le x,y\le n1x,yngcd?(x,y)\gcd(x,y)gcd(x,y) 為素數的數對 (x,y)(x,y)(x,y) 有多少對。

輸入格式

只有一行一個整數,代表 nnn

輸出格式

一行一個整數表示答案。

輸入輸出樣例 #1

輸入 #1

4

輸出 #1

4

說明/提示

樣例輸入輸出 1 解釋

對于樣例,滿足條件的 (x,y)(x,y)(x,y)(2,2)(2,2)(2,2)(2,4)(2,4)(2,4)(3,3)(3,3)(3,3)(4,2)(4,2)(4,2)


數據規模與約定
  • 對于 100%100\%100% 的數據,保證 1≤n≤1071\le n\le10^71n107

來源:bzoj2818。

本題數據為洛谷自造數據,使用 CYaRon 耗時 555 分鐘完成數據制作。

solution

  • 若 gcd(x,y) = p 則 x,y 均為 p 的倍數,且其余部分互質。
    • 1 若 x=p?px,[1,px]x = p * p_x, [1, p_x]x=p?px?,[1,px?] 中和 pxp_xpx? 互質的有 ?(x)\phi(x)?(x) 個(歐拉函數),即
      ∑p<=n∑i=1n/p(?(i)?2?1)\sum_{p<=n}\sum_{i = 1}^{n / p}(\phi(i)*2-1)p<=n?i=1n/p?(?(i)?2?1)
    • 2 例如 n=4時,p=2,[?(1)+?(2)]?2?1=3。p=3,?(1)?2?1=1n = 4時,p = 2 , [\phi(1) + \phi(2)] * 2-1 = 3。p = 3, \phi(1)*2 - 1 = 1n=4時,p=2,[?(1)+?(2)]?2?1=3p=3,?(1)?2?1=1
  • 具體:
    • 1 篩選出質數 p, 并算出 ?(i),i∈[1,n]\phi(i),\,\, i\in[1,n]?(i),i[1,n]
    • 2 遍歷質數,統計個數

代碼

#include "cstring"
#include "string"
#include "algorithm"
#include "iostream"
#include "vector"
#include "unordered_set"
#include "unordered_map"
#include "bitset"
#include "queue"
#include "set"using namespace std;/**  P2568 GCD*  題目大意:給定正整數 n,求 1≤x,y≤n 且 gcd(x,y) 為素數的數對 (x,y) 有多少對。*  思路: 若 gcd(x,y) = p 則 x,y 均為 p 的倍數,且其余部分互質。*  1 若 x = p * px, [1, px] 中和 px 互質的有 phi(x) 個,即 sum(p, sum(phi(px))*2-1) i=[1,n/p]*  2 例如 n = 4,  p = 2  [phi(1) + phi(2)] * 2-1 = 3   p = 3 phi(1)*2 - 1 = 1*  具體:*  1 篩選出質數p, 并算出 phi(i) i=1,n*  2 遍歷質數,統計個數**/const int N = 1e7 + 5, M = 2e6, INF = 1e9, MOD = 0;
typedef long long ll;int prime[N], n, k, f[N], np[N];int main() {cin >> n;// 1 篩選出 n 以內所有質數, 和歐拉函數 f[x]f[1] = 1;for (int i = 2; i <= n; i++) {if (!np[i]) prime[++k] = i, f[i] = i - 1;else f[i] = (i / np[i] % np[i] == 0) ? f[i / np[i]] * np[i] : f[i / np[i]] * (np[i] - 1);for (int j = 1; j <= k && prime[j] * i <= n; j++) {np[i * prime[j]] = prime[j];if (i % prime[j] == 0) break;}}ll ans = 0;for (int i = 1; i <= k; i++) {for (int j = 1; j * prime[i] <= n; j++)ans += f[j] * 2;ans--;}cout << ans;return 0;
}

結果

在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/920407.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/920407.shtml
英文地址,請注明出處:http://en.pswp.cn/news/920407.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

軟件測試覆蓋率與質量保障專業經驗分享報告

測試覆蓋率的核心維度與評估標準 多維度定義與核心內涵 測試覆蓋率是衡量軟件測試完整性的關鍵指標體系,分為測試覆蓋率(黑盒視角:需求驗證程度)和代碼覆蓋率(白盒視角:代碼執行占比)兩大基礎類型。現代測試覆蓋體系已擴展至產品覆蓋、風險覆蓋、平臺/設備覆蓋、數據覆…

使用CCProxy搭建http/https代理服務器

下載 https://user.youngzsoft.com/ccproxy/update/ccproxysetup.exe 我們使用免費的即可&#xff0c;3個人。 啟動軟件 設置 更改局域網IP 我的電腦有多個IP&#xff0c;所以要手工指定。

ICCV 2025|TRACE:無需標注,用3D高斯直接學習物理參數,從視頻“預知”未來!

論文鏈接&#xff1a;https://arxiv.org/pdf/2507.01484導讀 準確預測道路智能體的運動對于自動駕駛的安全性至關重要。當前&#xff0c;現有的數據驅動方法直接預測未來軌跡&#xff0c;缺乏對駕駛行為的充分考慮&#xff0c;限制了可解釋性和可靠性。為此&#xff0c;本文引入…

TypeScript:symbol類型

symbol是TypeScript和JavaScript中的一種基本數據類型&#xff0c;表示唯一的、不可變的標識符。作為專業的前端工程師&#xff0c;理解symbol的特性對于構建安全可靠的代碼至關重要。1. symbol的核心特性唯一性&#xff1a;每個symbol值都是唯一的&#xff0c;即使創建時使用相…

【深度學習新浪潮】顯著性檢測最新研究進展(2022-2025)

1. 弱監督與主動學習 ASTE-AL框架(TPAMI 2024):提出對抗性時空集成主動學習方法,通過點標記數據集(每張圖像僅需10個標注點)達到全監督模型98%-99%的性能。其核心模塊包括: FPGD-PA對抗攻擊:通過無額外計算成本的自由梯度下降攻擊定位不確定像素。 時空集成策略:減少模…

Intern-S1-mini模型結構

模型介紹 Intern-S1-mini基于一個8B密集語言模型&#xff08;Qwen3&#xff09;和一個0.3B視覺編碼器&#xff08;InternViT&#xff09;&#xff0c;Intern-S1-mini 在5萬億個標記的多模態數據上進行了進一步預訓練&#xff0c;其中包括超過2.5萬億個科學領域的標記。這使得該…

linux 100個問答(持續更新)

1.常用命令 2.rsync常用命令rsync 是?個強?的?件同步和復制?具&#xff0c;?于在本地和遠程系統之間同步?件和目錄。以下是?些常用的 rsync 命令和選項&#xff1a;1. 基本的 rsync rsync 命令格式&#xff1a; bashCopy code rsync [options] source destination● sou…

零基礎玩轉STM32:深入理解ARM Cortex-M內核與寄存器編程

1. 什么是 STM32 STM32 是 ST&#xff08;意法半導體&#xff0c;STMicroelectronics&#xff09;公司推出的 32 位微控制器。 其內核基于 ARM Cortex-M 系列&#xff08;如 M0、M3、M4、M7&#xff09;&#xff0c;性能強大、功耗低、外設豐富。憑借高性價比和完善的生態&…

CentOS 修改密碼

在 CentOS&#xff08;以及大多數 Linux 系統&#xff09;下&#xff0c;你可以用以下命令打印當前用戶&#xff1a; whoami或者&#xff1a; echo $USER方法1&#xff1a;直接用 passwd 命令 直接用 passwd 命令修改&#xff1a; # 修改當前用戶密碼 passwd# 修改指定用戶密碼…

.NetCore 接入 Nacos,實現配置中心和服務注冊

因歷史項目&#xff08;.Netcore3.1&#xff09;需要&#xff0c;需要使用Nacos作為配置中心和服務發現&#xff0c;本文作為記錄使用Nacos的筆記。 文章目錄一、相關資料二、Nacos后臺增加配置三、代碼接入1、在appsettings.json中加入配置2、Program調整3、Startup調整4、啟動…

自學嵌入式第三十天:Linux系統編程-線程的控制

一、線程控制&#xff1a;互斥和同步對于線程的共享資源的競爭的處理&#xff1b;進程也能用&#xff0c;對進程競爭的系統資源的分配&#xff1b;二、互斥1.互斥&#xff1a;在多線程中對臨界資源的排他性&#xff08;獨占&#xff09;訪問&#xff1b;2.互斥機制&#xff08;…

EtherNet/IP 轉 Modbus 協議網關(三格電子)

一、產品概述 1.1 產品用途 SG-EIP-MOD-210 網關可以實現將 Modbus 接口設備連接到 EtherNet/IP 網 絡中。用戶不需要了解具體的 Modbus 和 EtherNet/IP 協議即可實現將 Modbus 設 備掛載到 EtherNet/IP 接口的 PLC 上&#xff0c;并和 Modbus 設備進行數據交互。拓撲結 構如…

MVCC的作用是什么

問題MVCC的作用是什么我的回答MVCC&#xff0c;全稱是Multi-Version Concurrency Control&#xff0c;多版本并發控制。這是數據庫管理系統中一種常用的并發控制機制&#xff0c;主要用于提高數據庫的并發性能。簡單來說&#xff0c;MVCC的核心思想是&#xff0c;當有人讀取數據…

A股大盤數據-20250828 分析

&#x1f4ca; 一、大盤數據深度分析&#x1f4b0; 量能分析&#xff08;核心指標&#xff09;總成交額&#xff1a;30013.32億元。這是一個天量級別&#xff0c;確認了增量資金大幅入場&#xff0c;行情基礎非常扎實&#xff0c;市場活躍度極高。市場分化&#xff1a;上漲2868…

安卓閃黑工具:aosp16版本Winscope之搜索功能剖析

背景&#xff1a; 在aosp16的Winscope體驗時候發現多了數據的搜索功能&#xff0c;也體驗了一下&#xff0c;這個新功能本身Winscope也自帶了很多指導提示&#xff0c;主要是用來解決Winscope有時候尋找某個數據&#xff0c;某個layer時候的不便&#xff0c;本文來詳細介紹一下…

使用 mcp-use 構建極簡 Web 自動化測試智能體「喂飯教程」

使用 mcp-use 構建極簡 Web 自動化測試智能體「喂飯教程」 引言 一、項目概述 二、技術架構 1. MCP協議簡介 2. 基于mcp-use庫的核心組件 2.1 MCPAgent使用 2.2 MCPClient配置 三、環境搭建 1. 依賴安裝 2. 環境配置 3. MCP服務器配置 4. 驗證MCP服務器連接 5.創建測試腳本 四、…

密碼管理中

第一部分&#xff1a;弱加密算法的危害使用弱加密算法&#xff08;如 MD5, SHA-1&#xff0c;甚至不加鹽的簡單哈希&#xff09;來保護密碼是極其危險的&#xff0c;主要危害體現在以下幾個方面&#xff1a;1. 極易被破解&#xff08;彩虹表攻擊&#xff09;原理&#xff1a;弱…

【mysql】解決Python連接MySQL報錯:缺少cryptography庫

解決Python連接MySQL報錯&#xff1a;缺少cryptography庫 在使用 Python 連接 MySQL 數據庫時&#xff0c;有時可能會遇到這樣的錯誤&#xff1a; RuntimeError: cryptography package is required for sha256_password or caching_sha2_password auth methods這篇文章將帶你快…

告別Java依賴!GISBox三維場景編輯+服務發布一站式工具橫評

在地理信息系統&#xff08;GIS&#xff09;技術快速發展的今天&#xff0c;選擇一款合適的工具對于提升工作效率和實現項目目標至關重要。GISBox與GeoServer作為兩款各具特色的GIS解決方案&#xff0c;分別面向不同的用戶需求和應用場景。本文將從界面閱讀感、安裝復雜度、服務…

智能客服多智能體(知識庫問答+情緒感知+工單路由)

一、概述 —— 目標與高層需求 目標:構建一個生產級的智能客服流水線,用多智能體(agent)分工協作完成用戶問答、情緒識別并在必要時自動生成/路由工單(ticket)。系統應滿足: 高答復準確率:通過 RAG(檢索增強生成)把回復基于公司知識庫(SOP、FAQ、產品文檔)。([Gra…