20191211 HNOI2017模擬賽 C題

2022-09-10 14:00:33 字數 2434 閱讀 1378

題目:

分析:開始覺得是神仙題。。。

然後發現n最多有2個質因子

這說明sm呢。。。

學過物理的小朋友們知道,當乙個物體受多個不同方向相同的力時,只有相鄰力的夾角相等,受力就會平衡

於是拆扇葉相當於在風扇上等分角度

考慮貪心的話,就是一次拆越少,也就是角度分越大越好

那就要用到質因子了

先將編號改為(0~n-1)

首先乙個質因子p的情況很好處理,當乙個扇葉x掉下時,必須拆下y(其中y mod n/p = x mod n/p)的扇葉

於是直接打標記就好了

然後就是2個質因子的情況

那麼乙個風扇葉如果要下來,那麼它所對應的拆卸方式就有兩種

而且這兩種只能選一種

同類質因數的情況還不會影響。。。

令掉下來的點所對應的兩種方案連邊

然後會形成乙個二分圖

每一種方案對應乙個代價

然後代價最少。。。

唔。。。

最小割了

寫一會調一會中途還差點認為自己想錯了

搞了好久。。

**實現能力太差了。。

NOIP2017模擬賽14 靈魂畫師

靈魂畫師 題目描述 雖然不知道為什麼,但是你一直想用一種神奇的方式完成一幅畫作。你把n張畫紙鋪成一排,並將它們從1到n編號。你一共有c種顏色可用,這些顏色可以用0到c 1來編號。初始時,所有畫紙的顏色都為1。你一共想進行k次作畫,第i次作畫時,你會等概率隨機地選閉區間 li,ri 內的畫紙的乙個子集...

NOIP2017提高組模擬賽4 (總結)

這道題就是很簡單的bfs,可以觀察到n變化到m是近似成倍增長的。其實從最小到最大的變化也就只有30次而已。include include include typedef long long ll using namespace std const int maxl 100 const int oo ...

NOIP2017提高組模擬賽5 (總結)

其實就是將乙個點f拆成向左l向右r的兩個點,然後將所有點排序 不用排序也行,直接找 選第乙個l,從後往前選第乙個不與l同乙個f的r。選最後乙個r,從前往後選第乙個不與r同乙個f的l。答案中的最大值即為兩點之間的最遠距離。證明如下 0 數學方法 把01看成a b個點。設s a b,x 最少要翻轉次數,...