日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

CodeForces - 1220D Alex and Julian(思维+数论)

發布時間:2024/4/11 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 CodeForces - 1220D Alex and Julian(思维+数论) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

題目鏈接:點擊查看

題目大意:給出一個整數集合B,現在可以根據集合B構造一個無向圖,規定所有的整數(無窮無盡)為頂點,若兩個整數i和j滿足abs(i - j)在集合B中,則 i 和 j 之間可以連一條邊,現在問最少從集合B中刪掉多少個元素,滿足構成的圖為一個二分圖

題目分析:二分圖的定義是不存在奇環,那么在這個題目中什么時候會出現奇環呢?因為頂點的范圍是全部整數,最好想法的就是將奇數和偶數分開來,這樣就是一張完美的二分圖了,既然從奇偶出發,因為是牽扯到abs(i - j)與集合B的關系,所以我們首先需要知道:

  • 奇數+奇數=偶數
  • 奇數+偶數=奇數
  • 偶數+偶數=偶數
  • 如果我們想要將其分為奇偶兩部分的話,顯然必須令集合B中只剩下奇數才行,因為奇數和偶數作差只會出現奇數,因此剛好可以連邊,而后考慮一下奇數和偶數都存在的情況,可以證明一定會存在奇環:

    • 假設奇數為x,偶數為y,則點0到點x*y一定有奇環:因為點0可以和點x建邊,因為abs(x-0)=x,點x可以和點2*x建邊,因為abs(2*x-x)=x,以此類推,點0到點x*y之間可以通過x傳遞建立y條邊,點0到點x*y之間可以通過點y傳遞建立x條邊,也就是由點0->點x*y->點0這個環中共有x+y條邊,通過上面的前提我們可以得證,x+y是奇數,故一定存在奇環,證畢

    若集合中有奇數有偶數是肯定不符合題意的,那么全部都是偶數的情況呢?因為如果集合中的數全是偶數,我們可以發現,所有的奇數和奇數連成了一個小集合,而所有的偶數和偶數也都連成了一個小集合,也就是說奇數和偶數互不干涉,所以我們需要想辦法將其集合中的數轉換為奇數的情況就能豁然開朗了,這里可以讓集合B中所有的偶數同時除以2,直到出現至少一個奇數為止,這個操作該如何解釋呢?因為現在已經是奇數點在一個集合中,偶數點在一個集合中了,我們可以對其重新編號,也就是讓奇數所在的集合中等量出現奇數和偶數,偶數亦然,此時就相當于將整個集合的編號除以2了,同樣集合B中的元素也需要對應除以2,根據題意保留的元素大概是這樣的:

  • 保留全部奇數
  • 刪除掉①中所有的奇數后,全部偶數除以2后,保留全部奇數
  • 刪除掉②中所有的奇數后,全部偶數除以2后,保留全部奇數
  • 如此往復
  • 到此為止,我們發現可以將所有的數按照二的冪次分成不同的集合中去,也就是說在題目給出的集合B中,我們可以選擇任意一個二的冪次的集合進行保留,那么因為題目要求我們刪除掉最少的元素,所以我們選擇最大的那個集合保留即可

    代碼:

    #include<iostream> #include<cstdlib> #include<string> #include<cstring> #include<cstdio> #include<algorithm> #include<climits> #include<cmath> #include<cctype> #include<stack> #include<queue> #include<list> #include<vector> #include<set> #include<map> #include<sstream> using namespace std;typedef long long LL;const int inf=0x3f3f3f3f;const int N=2e5+100;LL a[N];int num[N],cnt[100];int get_num(LL x) {int ans=0;while(x%2==0){x>>=1;ans++;}return ans; }int main() { // freopen("input.txt","r",stdin); // ios::sync_with_stdio(false);int n;scanf("%d",&n);for(int i=1;i<=n;i++){scanf("%lld",a+i);num[i]=get_num(a[i]);cnt[num[i]]++;}int mmax=*max_element(cnt,cnt+100);printf("%d\n",n-mmax);for(int i=0;i<100;i++)if(mmax==cnt[i]){for(int j=1;j<=n;j++)if(num[j]!=i)printf("%lld ",a[j]);break;}return 0; }

    ?

    總結

    以上是生活随笔為你收集整理的CodeForces - 1220D Alex and Julian(思维+数论)的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 欧美a级成人淫片免费看 | 神马午夜精品 | 午夜秋霞网 | 色呦在线| 亚洲av成人无码久久精品老人 | 日韩字幕在线 | 免费a v网站 | 伊人影院av | 国产麻豆成人精品av | 韩国中文三级hd字幕 | 亚洲天堂网站 | 91精品福利| 日本成人黄色 | 欧美激情一二三区 | 亚洲免费视频一区二区三区 | 色网站免费 | 国产a大片| 调教驯服丰满美艳麻麻在线视频 | 日韩女优在线视频 | 先锋资源网av | 成人一级黄色片 | 亚洲黄色免费视频 | 妺妺窝人体色www在线小说 | 五月天激情啪啪 | 99热在线免费观看 | 日韩一区二区三区精 | 三级欧美日韩 | 日韩人妻精品无码一区二区三区 | 最近最经典中文mv字幕 | 在线观看a视频 | 人妖干美女 | 成人免费看片39 | 成人区一区二区 | 亚洲视频在线免费看 | 免费黄色av网站 | 亚洲无人区码一码二码三码的含义 | 日本泡妞xxxx免费视频软件 | 六月婷婷在线 | 2019中文字幕在线观看 | 精品国产一区二区三区四区 | 亚洲另类在线观看 | 欧美乱论| 欧美日韩一区二区三区在线电影 | 自拍偷拍第1页 | 亚洲av无码一区二区三区在线播放 | 一区二区三区高清不卡 | 国产综合无码一区二区色蜜蜜 | 国产第三页 | 国产精品无码AV | 中文字幕7 | 国产大学生自拍视频 | 干b视频在线观看 | 色乱码一区二区三区网站 | 青青青免费在线视频 | 亚洲精品aⅴ中文字幕乱码 国产精品调教视频 | av无线看| 欧美视频一区二区在线观看 | 免费三片在线播放 | 四虎在线观看视频 | 欧美黑人又粗又大的性格特点 | 黄色激情在线观看 | 狠狠干综合网 | 四虎在线免费观看视频 | 国产黄色免费 | 2019中文字幕在线视频 | 欧美三级视频 | 日本九九视频 | 久久观看| 一级特黄a大片免费 | 在线波多野结衣 | 伊人国产在线视频 | 久久久久久久久久久国产 | 91精品国产一区二区三竹菊影视 | 国产美女无遮挡免费视频 | 日韩av三级在线观看 | 日本高清黄色 | 800av免费在线观看 | av黄色免费网站 | 久久久亚洲一区二区三区 | 日韩视频二区 | 五月婷婷在线观看视频 | 第一页在线视频 | 爱搞逼综合 | 韩国无码av片在线观看网站 | 国产色视频 | 日本免费黄色 | 欧美日韩中 | 日批视频免费在线观看 | 亚洲精品乱码久久久久久不卡 | 黄色h视频 | 国产成人精品亚洲男人的天堂 | 黑人玩弄人妻一区二 | 中文理论片 | 在线观看二区 | 日韩无码专区 | 日本免费高清一区二区 | 69久人妻无码精品一区 | 开元在线观看视频国语 | 日本女人hd |