藍橋杯 拿糖果

2021-07-26 07:24:35 字數 734 閱讀 4935

演算法提高 拿糖果  

時間限制: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...