国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

[CODEVS1553]互斥的數(stl)

2019-11-08 01:58:13
字體:
來源:轉載
供稿:網友

題目描述

傳送門

題解

排序,然后互斥的數組成了一些不相交的鏈 用map記錄一下找鏈就行了

代碼

#include<algorithm>#include<iostream>#include<cstring>#include<cstdio>#include<cmath>#include<map>using namespace std;#define LL long long#define N 100005int n,cnt,now,ans;LL p,a[N];map <LL,int> mp;bool flag[N];int main(){ scanf("%d%lld",&n,&p); for (int i=1;i<=n;++i) scanf("%lld",&a[i]); sort(a+1,a+n+1); for (int i=1;i<=n;++i) mp[a[i]]=i; for (int i=1;i<=n;++i) if (!flag[i]) { cnt=1;now=i;flag[i]=1; while (mp[a[now]*p]) { ++cnt; now=mp[a[now]*p]; flag[now]=1; } ans+=(cnt-1)/2+1; }
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 襄樊市| 镇江市| 上思县| 固原市| 辉县市| 文登市| 白沙| 湘潭县| 东乡| 宁乡县| 若尔盖县| 偃师市| 孟连| 商河县| 江阴市| 滦南县| 曲靖市| 莒南县| 赤水市| 新绛县| 沅陵县| 合阳县| 威宁| 浦江县| 洛隆县| 普兰店市| 松溪县| 永嘉县| 东明县| 尤溪县| 林甸县| 海门市| 苏尼特右旗| 宝丰县| 徐水县| 长乐市| 潼南县| 比如县| 惠州市| 麻城市| 图木舒克市|