雙馬尾機械人(???)

2022-05-09 12:24:16 字數 1605 閱讀 3208

portal -->broken qwq

給定\(n\)和\(k\),我們要在\(1,2,3,...,n\)中選擇若干的數,每一種選擇的方案被稱為選數方案。

我們定義一種選數方案是合法的,當且僅當\(k\)沒有被選,且任意兩個選的數互質。

我們定義一種選數方案是極大的,當且僅當它是合法的,且不能再從剩下的數中選擇任意乙個,或者選的是\(k\)。

極大的選數方案的最小的選的個數。

資料範圍:多組資料,資料組數\(t<=50\),\(1<=n<=1000,1<=k<=n\),\(k\)不是質數

這種互質的題有乙個比較有效的方法,我們可以將每乙個數的質因子分成兩類,一類是\(<=\sqrt n\)的,一類是\(>\sqrt n\)的,不難注意到\(>\sqrt n\)的質因子最多只能有乙個

這題的話我們發現\(<=\sqrt n\)的質數其實很少,只有\(11\)個,所以可以考慮狀壓

在dp之前我們要先想一下對於那些含有\(>\sqrt n\)質因子的數要怎麼處理,其實仔細想一下會發現比如說\(>\sqrt n\)的質因子集合為\(\\),那麼最起碼這\(m\)個數都要選,所以我們直接將這部分加到答案裡面去就好了

那接下來我們就只用考慮不含\(>\sqrt n\)質因子的數了

​  記\(f[i][j]\)表示前\(i\)個數中選出數的質因子的並的狀態為\(j\),\(j\)是乙個二進位制,表示選出來的數中都出現了哪些質數(按編號來存,比如\(2\)是第乙個質數對應的狀態就是\(2^0\),\(3\)是第二個質數所以對應\(2^1\),以此類推)

​  假設我們當前考慮第\(i\)個數(也就是\(i\)啦。。)的轉移,只有在\(j\)這個狀態中不存在\(i\)的任意乙個質因子的時候才可以將\(i\)選進來(不然就不互質了),我們用\(st(i)\)表示\(i\)這個數的質因數的狀態,那麼也就是在\(j\&st(i)\)為\(0\)的時候有:

\[f[i][j|st(i)]=min(f[i-1][j|st(i)],f[i-1][j]+1-(i是否含有》\sqrt n的質因數))

\]​  當\(i\)含有\(>\sqrt n\)的質因數的時候要將其\(-1\)不算貢獻是因為所有含有\(>\sqrt n\)的數已經在最開始的時候加到答案裡面去了(就是那個\(m\)個數),不能再選

​  那最後的問題就是空間,滾動一下把第一維滾動掉就好了ovo

​  然後的話就是需要預處理的東西有:質數表,每個數的質因數的狀態,每個數的最大質因子(用來判斷是否含有\(>\sqrt n\)的質因數)

​  **大概長這個樣子

#include#include#includeusing namespace std;

const int n=1010,inf=2147483647;

int mxp[n],p[n],st[n],f[2][1<<12];

int vis[n];

int n,m,cnt,k,ans,all,t;

void prework(int n)

swap(now,pre);

} printf("%d\n",f[pre][all-1]+ans+(k!=1));

}int main()

}

好色機械人的豔遇 機械人豔遇 《機械人的旅行》

講述機械人 路遇開房車的 剛剛開始的時候畫風很舒服,直到到了晚上上了她的床之後。畫風速變了!這個女主角聲音超好聽。整個情節實在太流氓了,太猥瑣了!連六六君這樣的老司機都看不下去了!正片在三分五十,不謝 很抱歉,此內容已經失效了!就連六六君也無法恢復了。請欣賞其他有效的內容 當您看到這條資訊的時候,很...

2017 04 19 特種機械人 獵豹機械人介紹

仿生機械人 獵豹機械人 說起機械人,可能由於受名詞中 人 字的影響,大部分人腦海裡出現的可能要麼是憨態可掬 動作靈活的小nao機械人,要麼是彬彬有禮 動作規範的asimo機械人,亦或是電影 人工智慧 裡有著和人一模一樣的外表的大衛。其實,這些機械人都屬於仿人機械人,這些機械人是模仿人的形態和行為而被...

dods 機械人 勝利之日機械人補丁

補丁介紹 遊戲評測 dod最大的魅力就在於隊友之間的密切配合 服從戰鬥指揮,就象一場真正的戰爭一樣,不服從命令的軍隊是必敗無疑的。在現實戰爭的戰略戰術也常常運用其中,畢竟它的真實在於反應了一場現實中的戰爭。dod中更注重團隊力量的相互配合!dod中的進攻和防守都是相對而言的,無論你的 法有多麼好,衝...