<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      cogimyunの小窩

      Loading...

      Luogu P9488 ZHY 的生成樹 題解

      題目內容

      ZHY 有一個 \(n\) 個點的完全圖,點 \(u\) 與點 \(v\) 的距離為 \(\gcd(u,v)\),求這個完全圖的最大生成樹的邊權之和。

      思路

      方法一

      很明顯這道題目是在求最大生成樹,但由于數據中 $1≤n≤ 10^{7} $ ,明顯不能使用暴力枚舉每兩個點之間的 \(\gcd\),那么我們可以從每個點 \(i\) 出發去找它的倍數 \(j\),那 $ \gcd(i,j)=i$ ,當然由于最大生成樹要求從邊權大的邊開始加邊,所以 \(i\) 應該從 $ \frac{n}{2} $ 開始遞減尋找倍數(至于從 $ \frac{n}{2} $ 開始而不是從 \(n\) 開始是因為 $ \frac{n}{2}+1 $ 到 \(n\) 的所有數的倍數均超過了 \(n\),無需枚舉)但這個方法的時間復雜度仍然拿不了 100pts。

      方法二

      在方法一的基礎上我們可以通過數論唯一分解定理,發現點 \(i\) 與點 \(j\) 之間,\(j\) 只能是 \(i\) 的質數倍,因為如果 \(j\)\(i\) 的合數倍,\(j\) 就會與它的所有因數存在連邊,它的所有因數又會和 \(i\) 存在連邊,從而就形成了環,所以我們可以先進行一次歐拉篩,算出所有的質數,再從 $ \frac{n}{2} $ 開始遞減尋找質數倍數 \(j\),跑一遍最大生成樹即可。

      Code

      #include <bits/stdc++.h>
      using namespace std;
      int n,f[10000005];
      typedef long long ll; 
      const int N=1e7+5;
      int cnt;
      int book[N],prim[N],a,b;
      int getf(int x)
      {
      	if(f[x]==x)
      		return x;
      	return f[x]=getf(f[x]);
      }
      void ol(int x)
      {
      	for(ll i=2;i<=x;i++)
      	{
      		if(book[i]==0)
      		{
      			prim[++cnt]=i;
      		}
      		for(int j=1;1ll*i*prim[j]<=x;j++)
      		{
      				book[i*prim[j]]=1;
      				if(i%prim[j]==0)
      					break;
      		}	 
      	 } 
      } 
      int main()
      {
      	int sum=0;
      	cin>>n;
      	ol(n); 
      	for(int i=1;i<=n;i++)
      	{
      		f[i]=i;
      	}
      	long long ans=0,m=0;
      	for(int i=n;i>=1;i--)
      	{
      		for(int j=1;prim[j]*i<=n;j++)
      		{
      			int fx=getf(i),fy=getf(prim[j]*i);
      			if(fx!=fy)
      			{
      				m++;
      				f[fy]=fx;
      				ans+=i;
      				if(m==n-1)
      				{
      					cout<<ans;
      					return 0;
      				}
      			}	
      		}
      	}
      	return 0;
      }
      
      posted @ 2025-10-30 18:32  cogimyun  閱讀(11)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 色香欲天天影视综合网| 精品一区二区三区日韩版| 日韩精品一区二区亚洲专区| 欧美xxxxx在线观看| 色老头在线一区二区三区| 狠狠噜天天噜日日噜视频麻豆| 又大又粗欧美黑人aaaaa片| 欧美嫩交一区二区三区| 国产麻花豆剧传媒精品mv在线| 不卡免费一区二区日韩av| 大地资源免费视频观看| 亚洲国产美女精品久久久| 国产av无码国产av毛片| V一区无码内射国产| 国产亚洲精品自在久久vr| 日韩日韩日韩日韩日韩| 国产精品一区免费在线看| gogogo高清在线播放免费| 国产精品国产三级国AV| 亚洲av色综合久久综合| 下面一进一出好爽视频| 成人久久精品国产亚洲av| 最近中文字幕国产精品| 久久精品无码鲁网中文电影| 韩国美女福利视频一区二区| 人妻在线无码一区二区三区| 日韩精品一二区在线观看| 柳河县| 久久精品久久电影免费理论片| 欧美成人h精品网站| 日本精品中文字幕在线不卡| 国产国拍精品av在线观看 | 亚洲精品国产精品乱码不| 亚洲精品日韩在线观看| 蜜臀av性久久久久蜜臀aⅴ麻豆| 中国xxx农村性视频| 国内极度色诱视频网站| 又大又紧又粉嫩18p少妇| 粉嫩jk制服美女啪啪| 精品无码国产污污污免费| 91久久国产成人免费观看|