演算法提高 拿糖果
時間限制:1.0s 記憶體限制:256.0mb
問題描述
媽媽給小b買了n塊糖!但是她不允許小b直接吃掉。
假設當前有m塊糖,小b每次可以拿p塊糖,其中p是m的乙個不大於根號下m的質因數。這時,媽媽就會在小b拿了p塊糖以後再從糖堆裡拿走p塊糖。然後小b就可以接著拿糖。
現在小b希望知道最多可以拿多少糖。
輸入格式
乙個整數n
輸出格式
最多可以拿多少糖
樣例輸入 15
樣例輸出 6
資料規模和約定
n <= 100000
動態規劃 每次都有一些選擇 一步一步下去 資料規模是10萬每次最多也就幾十個質因子
剩下糖果數一樣的時候選擇小b拿到最多的就行
#includeusing namespace std;
int dp[100010],bj[100010],vis[100010];
int ans;
struct node
{ int x,y;
friend bool operator <(node a,node b)
{return a.xqe;
ft.x=n,ft.y=0;
qe.push(ft);
while(!qe.empty())
{ft=qe.top();
qe.pop();
if(ft.y
藍橋杯 拿糖果
問題描述 媽媽給小b買了n塊糖!但是她不允許小b直接吃掉。假設當前有m塊糖,小b每次可以拿p塊糖,其中p是m的乙個不大於根號下m的質因數。這時,媽媽就會在小b拿了p塊糖以後再從糖堆裡拿走p塊糖。然後小b就可以接著拿糖。現在小b希望知道最多可以拿多少糖。輸入格式 乙個整數n 輸出格式 最多可以拿多少糖...
藍橋杯 演算法提高 拿糖果 dp
演算法提高 拿糖果 時間限制 1.0s 記憶體限制 256.0mb 問題描述 媽媽給小b買了n塊糖!但是她不允許小b直接吃掉。假設當前有m塊糖,小b每次可以拿p塊糖,其中p是m的乙個不大於根號下m的質因數。這時,媽媽就會在小b拿了p塊糖以後再從糖堆裡拿走p塊糖。然後小b就可以接著拿糖。現在小b希望知...
藍橋杯 拿糖果 動態規劃解法
上次寫過乙個類似的,用的dfs 記憶 媽媽給小b買了n塊糖!但是她不允許小b直接吃掉。假設當前有m塊糖,小b每次可以拿p塊糖,其中p是m的乙個不大於根號下m的質因數。這時,媽媽就會在小b拿了p塊糖以後再從糖堆裡拿走p塊糖。然後小b就可以接著拿糖。現在小b希望知道最多可以拿多少糖。輸入格式 乙個整數n...