HDU 6706 huntian oy

題意 求以下式子的值,T組數據各個字母滿足1?≤ n , a , b?109?,a,b互質

思路:

卡常毒瘤題,出題人時限卡的非常緊,考場上推出來又T又WA

?

 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 typedef long long ll;
 4 const int maxn=1e6+10,mod=1e9+7;
 5 const int inv2=500000004,inv3=333333336;
 6 int phi[maxn],n,ans;
 7 
 8 vector<int> p;bool np[maxn];
 9 map<int,int> Phi;
10 
11 void init(){
12     phi[1]=1;
13     for(int i=2;i<maxn;++i){
14         if(!np[i]){
15             p.push_back(i);
16             phi[i]=i-1;
17         }
18         for(int j=0;j<p.size()&&p[j]*i<maxn;++j){
19             np[i*p[j]]=true;
20             if(i%p[j]==0){
21                 phi[i*p[j]]=phi[i]*p[j];
22                 break;
23             }
24             phi[i*p[j]]=phi[i]*(p[j]-1);
25         }
26     }
27     for(int i=1;i<maxn;++i)
28         phi[i]=(1ll*phi[i]*i%mod+phi[i-1])%mod;
29 }
30 int read(){
31     int x=0;char c=getchar();
32     for(;!isdigit(c);c=getchar());
33     for(;isdigit(c);c=getchar())x=(x<<3)+(x<<1)+(c^48);
34     return x;
35 }
36 void Write(int x){
37     if(x<=0)return;
38     Write(x/10);putchar(x%10+'0');
39 }
40 void write(int x){
41     if(x==0)putchar('0');
42     else Write(x);
43 }
44 int Sum2(int n){
45     int ret=n;
46     ret=(ll)ret*inv2%mod;
47     ret=(ll)ret*(n+1)%mod;
48     return ret;
49 }
50 int Sum3(int n){
51     int ret=Sum2(n),tmp=(2ll*n+1)%mod;
52     ret=(ll)ret*inv3%mod;
53     ret=(ll)ret*tmp%mod;
54     return ret;
55 }
56 int phii(int n){
57     if(n<maxn)return phi[n];
58     if(Phi.count(n))return Phi[n];
59     int ret=Sum3(n);
60     for(int i=2,r,tmp;i<=n;i=r+1){
61         r=min(n,n/(n/i));
62         tmp=(ll)phii(n/i)*(Sum2(r)-Sum2(i-1))%mod;
63         ret-=tmp;
64         if(ret<0)ret+=mod;
65         if(ret>=mod)ret-=mod;
66     }
67     return Phi[n]=ret;
68 }
69 void solve(){
70     n=read();read();read();
71     Phi.clear();
72     ans=(phii(n)-1+mod)%mod;
73     ans=(ll)inv2*ans%mod;
74     write(ans);puts("");
75 }
76 int main(){
77     init();
78     int T;scanf("%d",&T);
79     for(;T--;)solve();
80     return 0;
81 }

?

轉載于:https://www.cnblogs.com/ndqzhang1111/p/11402780.html

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

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

相關文章

linux 查看空間(內存、磁盤、文件目錄、分區)的幾個命令

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 1. free free命令用于顯示內存狀態。 free指令會顯示內存的使用情況&#xff0c;包括實體內存&#xff0c;虛擬的交換文件內存&#x…

Ubuntu安裝LNMP

安裝Nginx使用 apt-get install nginx 就能自動安裝 Nginx。 為了確保獲得最新的Nginx&#xff0c;可以先使用 apt-get update 命令更新源列表。 安裝好之后&#xff0c;使用 dpkg -S nginx 命令來搜索 nginx相關文件。 可以從命令顯示結果看出 Nginx默認的安裝位置是/etc/ngin…

廣州學車科目三路考操作步驟要領

廣州學車&#xff0c;科目三路考操作步驟是關鍵&#xff0c;許多朋友明明會開車&#xff0c;卻因為一些步驟上的小疏忽而不得到不補考&#xff0c;今天總結出這個廣州學車科目三路考操作步驟要領&#xff0c;希望對大家有幫助&#xff1a; 廣州學車&#xff0c;科目三路考操作步…

如何和何時使用 CSS 的權重設置 !important (建議:永不使用!)

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 特別聲明&#xff1a;此篇文章由David根據Louis Lazaris的英文文章原名《!important CSS Declarations: How and When to Use Them》進行…

獨立組件開發打包

組件單獨打包 先在src下面新建hymenucsg.js文件 然后在build下的webpack.base.conf.dist.js里面 設置入口文件hymenucsg: ./src/hymenucsg.js,//csg 最后運行打包命令&#xff1a;npm run dist:dev 之后會在dist下面生成組件的js和css文件 使用&#xff1a; html中引入js和css …

廣州科目三電子考需注意哪些問題?

廣州駕考科目三從4月1日起開始試行電子評判與人工評判相結合的新制度&#xff0c;即電子路考&#xff0c;多數學員對新制度表示不適應&#xff0c;那么&#xff0c;科目三電子路考需要注意哪些問題? 從4月1日開始&#xff0c;科目三考試將試行計算機輔助與人工評判相結合的制度…

解決 VUE: 本地運行和服務器上運行樣式不一致,run、build 運行時樣式有出入

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 1. 我的情況&#xff1a; 我遇到 2 種情況&#xff0c;一個是表格的分頁樣式有變化。另一個是導航菜單樣式有變化。 2. 解決&#xff…

Ubuntu鏈接服務器

本篇文章介紹&#xff0c;如何在Ubuntu系統下連接遠程Ubuntu系統并傳輸文件。 一. 連接遠程Ubuntu服務器。 1. 打開命令行&#xff0c;輸入 : sudo apt-get update &#xff0c; 對系統進行更新。 2. 安裝 OpenSSH Server&#xff0c;輸入 &#xff1a; sudo apt-get install …

開發中的“軟”與“硬”:高畫質移動游戲開發之道

摘要&#xff1a;游戲的效果不僅與游戲引擎的渲染相關&#xff0c;與硬件優化也有千絲萬縷的聯系。一款基于芯片優化的移動游戲界面&#xff0c;甚至可以堪比視頻游戲的視覺效果。高通半導體事業部資深經理劉曉光從軟硬件兩個層面分享了移動游戲開發之道。 在今年的Unity亞洲開…

解決 VUE: [Vue warn]: Do not use built-in or reserved HTML elements as component id: xx

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 1. 新增一個組件&#xff0c;運行無問題&#xff0c;但F12報錯&#xff1a; vue.esm.js?efeb:591 [Vue warn]: Do not use built-in o…

Linux系統重置和修改root密碼

Linux系統經常會出現忘記root密碼的情況&#xff0c;寫下此隨筆&#xff0c;以便記憶和學習。 一、重置root密碼的步驟如下&#xff1a; 1.如果系統是開機狀態&#xff0c;重啟一下。進到下面這個界面按字母“e”鍵。 2.找到 linux16這一行&#xff0c;將下圖紅框中的內容修改為…

KETTLE 使用教程

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 Kettle的建立數據庫連接、使用kettle進行簡單的全量對比插入更新&#xff1a;kettle會自動對比用戶設置的對比字段&#xff0c;若目標表…

為什么你應該參與到開源項目中

試圖描述開源并不是一件容易的事——很多圖書作家&#xff0c;社區領袖和主持人對于開源社區的工作原理以及它是否對新人程序員有幫助持不同意見試圖描述開源并不是一件容易的事——很多圖書作家&#xff0c;社區領袖和主持人對于開源社區的工作原理以及它是否對新人程序員有幫…

根據庫位獲取倉庫id

通過location獲取warehouse location.get_warehouse() 轉載于:https://www.cnblogs.com/brucexl/p/11425603.html

AI:初學者如何從零學習人工智能?看完你就懂了

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 此文是想要進入人工智能這個領域、但不知道從哪里開始的初學者最佳的學習資源列表。 一、機器學習 有關機器學習領域的最佳介紹&#…

Ubuntu下Navicat 配置

創建快捷方式: 1. 創建navicat.desktop文件 2.內容如下: [Desktop Entry]EncodingUTF-8NameNavicat PremiumCommentThe Smarter Way to manage dadabaseExec/bin/sh "/home/fit/Downloads/navicat112_premium_en_x64/start_navicat"Icon/home/fit/Downloads/navicat1…

歷史上最知名的15位計算機科學家

基于維基百科上超過11,000位歷史人物的數據&#xff0c;麻省理工學院媒體實驗室創建出了一種名為“歷史人氣指數&#xff08;HPI&#xff09;”的參數。以下列出了15個歷史上最知名的計算機科學家&#xff0c;我們來看一下他們的“HPI”分數。麻省理工學院媒體實驗室推出了一個…

想要轉人工智能,程序員該如何學習?(學習路線、知識體系)

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 對于程序員來說&#xff0c;碼農之路并不是一帆風順。對于每一個入行IT業的社會青年來說&#xff0c;誰不是抱著想要成為最高峰的技術大…

js 的匿名函數

var sum function(x,y){alert(xy); }; 像上面這種&#xff0c;function后面沒有函數名的函數就叫做匿名函數。以上是將匿名函數賦值給了sum變量。 還有一種寫法&#xff1a; alert((function(x,y){return xy; })(2,3));//結果為5 當單獨運行一個匿名函數時會報錯&#xff0c;比…

科目三并不難 盤點科目三技巧

科目三難不難&#xff1f;相信很多學員都會有這個疑問&#xff0c;其實&#xff0c;找駕校網可以負責任的告訴你&#xff0c;只要掌握了科目三考試技巧&#xff0c;通過科目三的機會將會大大增加。下面就請看科目三技巧&#xff0c;幫你輕松通過駕校科目三考試。   科目三考試…