藍橋杯 演算法提高 拿糖果 變形的揹包問題

2021-08-15 22:39:17 字數 614 閱讀 2455

時間限制:1.0s 記憶體限制:256.0mb

媽媽給小b買了n塊糖!但是她不允許小b直接吃掉。

假設當前有m塊糖,小b每次可以拿p塊糖,其中p是m的乙個不大於根號下m的質因數。這時,媽媽就會在小b拿了p塊糖以後再從糖堆裡拿走p塊糖。然後小b就可以接著拿糖。

現在小b希望知道最多可以拿多少糖。

乙個整數n

最多可以拿多少糖

n <= 100000

題意 : 略

分析: 可以吧重量看做是某個質因子的二倍,然後價值為某個質因子,然後從頭到位做一次完全揹包即可

#include 

using

namespace

std;

typedef

long

long ll;

const

int maxn = 1e5 + 10,inf = 2000000000;

bool isp[maxn];

int p[maxn],len;

void init() }}

}int dp[maxn];

int main() }}

cout

0;}

藍橋杯 演算法提高 拿糖果 完全揹包變形

一開始把題理解錯了,以為m n,就篩了下質因數,數量不多直接暴力判斷了 交了一發只過了50 如下 include include include include include include define pk push back using namespace std const int inf...

藍橋杯 演算法提高 拿糖果 dp

演算法提高 拿糖果 時間限制 1.0s 記憶體限制 256.0mb 問題描述 媽媽給小b買了n塊糖!但是她不允許小b直接吃掉。假設當前有m塊糖,小b每次可以拿p塊糖,其中p是m的乙個不大於根號下m的質因數。這時,媽媽就會在小b拿了p塊糖以後再從糖堆裡拿走p塊糖。然後小b就可以接著拿糖。現在小b希望知...

演算法提高 拿糖果 完全揹包

問題描述 媽媽給小b買了n塊糖!但是她不允許小b直接吃掉。假設當前有m塊糖,小b每次可以拿p塊糖,其中p是m的乙個不大於根號下m的質因數。這時,媽媽就會在小b拿了p塊糖以後再從糖堆裡拿走p塊糖。然後小b就可以接著拿糖。現在小b希望知道最多可以拿多少糖。輸入格式 乙個整數n 輸出格式 最多可以拿多少糖...