- 博客(8)
- 收藏
- 关注
原创 蓝桥杯VIP试题<黑心药商>c++DP算法 01背包问题 (详细注释)
问题描述 JiaoShou消灭了百变怪,为爱琳世界赢得了和平,但他突然发现自己没有升级,这就意味着必须去喝药补血。爱琳世界的NPC卖的药已经不能满足他的需求了,他找到了爱琳唯一的药贩子-药加钱。药加钱的药有N种,第i种药的价格为wi单位的金币,可以恢复pi的血,但是每种药只有一瓶,并且第i种药也许含有添加剂。添加剂本身对JiaoShou没有任何影响,可是会发生i和j的添加剂混合起来,使教授减少ax的血。还好药加钱并不是太黑心,如果他的药中i和j混合使用有副作用的话。i不会再和其他药的添加剂一起产生副作
2022-03-27 22:18:35
619
原创 蓝桥杯<完全背包问题>c++,DP算法
资源限制时间限制:1.0s 内存限制:256.0MB问题描述 有一個背包,容量為M。有N種物品,每種物品有其體積Wi與價值Vi。將這些物品的一部分放入背包,每種物品可以放任意多個,要求總體積不超過容量,且總價值最大。输入格式 第一行為N, M。 之後N行,每行為Wi, Vi。输出格式 一個數,為最大價值。样例输入3 2015 166 67 5样例输出18数据规模和约定 N, M<=1000。#include <ios.
2022-03-27 13:20:36
169
原创 蓝桥杯<拿金币>DP算法c++
资源限制时间限制:1.0s 内存限制:256.0MB问题描述 有一个N x N的方格,每一个格子都有一些金币,只要站在格子里就能拿到里面的金币。你站在最左上角的格子里,每次可以从一个格子走到它右边或下边的格子里。请问如何走才能拿到最多的金币。输入格式 第一行输入一个正整数n。 以下n行描述该方格。金币数保证是不超过1000的正整数。输出格式 最多能拿金币数量。样例输入31 3 32 2 23 1 2样例输出11数据规模和约定 n<.
2022-03-27 11:25:31
224
原创 蓝桥杯算法训练 DP算法<印章>c语言
问题描述 共有n种图案的印章,每种图案的出现概率相同。小A买了m张印章,求小A集齐n种印章的概率。输入格式 一行两个正整数n和m输出格式 一个实数P表示答案,保留4位小数。样例输入2 3样例输出0.7500数据规模和约定 1≤n,m≤20#include <stdio.h>#include <math.h>int main(){ float dp[21][21]; int m,n,i,j; scanf("%d %d
2022-03-26 15:44:34
1051
原创 蓝桥杯vip试题<分解质因数> c++(利用stringstream)超简洁
资源限制时间限制:1.0s 内存限制:512.0MB问题描述 求出区间[a,b]中所有整数的质因数分解。输入格式 输入两个整数a,b。输出格式 每行输出一个数的分解,形如k=a1*a2*a3...(a1<=a2<=a3...,k也是从小到大的)(具体可看样例)样例输入3 10样例输出3=34=2*25=56=2*37=78=2*2*29=3*310=2*5提示 先筛出所有素数,然后再分解。数据规模和约定 2&.
2022-03-26 15:37:33
106
原创 蓝桥杯子VIP试题 龟兔赛跑预测 c++超简洁
#include <iostream>using namespace std;int main(){ int v1,v2,t,s,l,ll,t1=0,tt=1,tt1=0,tt2=0; cin>>v1>>v2>>t>>s>>l; do { ll=v1*tt-v2*(tt+t1); if(ll>=t) t1+=s; tt++; }while(v1*tt<l&&v2*(tt+t1)&.
2022-03-25 13:57:02
1158
原创 蓝桥杯VIP题目 回形取数 c++
#include <iostream>#include <vector>using namespace std;int main(){ int j,num,t,i,m,n; cin>>m>>n; vector<int> vi[250]; vector<int> vvi; for(i=0;i<m;i++) for(j=0;j<n;j++) { cin>>num; vi[i].push.
2022-03-22 21:56:53
1284
原创 蓝桥杯 十六进制转八进制
#include <stdio.h>#include <string.h>#include <math.h>int n;int supply(int l,int a[10][1000000],int p){ int i; for(i=1;i<=4;i++) if(pow(2,i)==l) break; int j; int k=a[p][0]; if(k%i!=0) { j=k%i; a[p][0]=k+i-j; for(j.
2022-03-18 11:54:08
227
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人