51nod1483 技巧 標記 思維 化學變換

2021-08-10 01:37:10 字數 594 閱讀 6756

這道題看題解了,完全沒有思路。。。。

資料範圍1e5,所以就把所有當前容量的倍數做了標記,

對於小於他的數,如果結果是奇數,那麼也把奇數的倍數做標記(可以證明他和原數的倍數永遠不會重疊。),這點不容易想到。

#include 

using

namespace

std;

const

int maxn=1e5+300;

int num[maxn];

int ste[maxn];

int n;

void sol(int u)

int s2=u;

temp=0;

while(s2>1)

}int t=s2/2;

temp++;

num[t]+=temp;

ste[t]++;

s2/=2;

}}int main()

int ans=1e7;

for(int i=0;iif(ste[i]==n)

}printf("%d\n",ans);

}return

0;}

51nod 1483 化學變換(思維)

1483 化學變換 codeforces 基準時間限制 1 秒 空間限制 131072 kb 分值 20難度 3級演算法題 有n種不同的化學試劑。第i種有ai公升。每次實驗都要把所有的化學試劑混在一起,但是這些試劑的量一定要相等。所以現在的首要任務是把這些化學試劑的量弄成相等。有兩種操作 把第i種的...

51Nod 1483 化學變換(思維 暴力)

思維題 找出每個數通過乘二除二所能得到的所有的數,並且記錄得到這個數乘二除二的次數和有多少個數能轉換為這個數 include include include using namespace std const int maxn 200005 const int inf 0x3f3f3f3f int ...

51nod 1483 化學變換

思路 統計每個所能到達的數和步數,奇數需要特別處理下 哎,模擬能力有待提高 include 因為範圍 2 1e5 列舉每個數能到達的範圍,奇數要特別處理一下 include include include include include include include include include...