![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
文章平均质量分 51
灰古
人 生 百 态
展开
-
动态规划之完全背包问题
【题目描述】 设有nn种物品,每种物品有一个重量及一个价值。但每种物品的数量是无限的,同时有一个背包,最大载重量为MM,今从nn种物品中选取若干件(同一种物品可以多次选取),使其重量的和小于等于MM,而价值的和为最大。 【输入】 第一行:两个整数,MM(背包容量,M≤200M≤200)和NN(物品数量,N≤30N≤30); 第2…N+12…N+1行:每行二个整数Wi,CiWi,Ci,表示每个物品的重量和价值。 【输出】 仅一行,一个数,表示最大总价值。 【输入样例】 10 4 2 1 3 3 4 5 7 9原创 2021-04-10 20:22:48 · 380 阅读 · 0 评论 -
线性筛法求素数
任何合数都可以表示成一个素数乘以一个数, 所以任何合数都有一个最小的质因数 12=2x6=3x4 这里2、3都是质因数,用质因数2来筛12这个合数 关键思想:每个数字都被它的最小质因数筛掉 import java.util.Scanner; public class Main{ static boolean[]is=new boolean[1001];//false表示质数,true表示合数 static int[]prime=new int[1001]; static int c原创 2021-04-10 19:17:14 · 126 阅读 · 0 评论 -
动态规划之01背包问题
【题目描述】 一个旅行者有一个最多能装 MM 公斤的背包,现在有 nn 件物品,它们的重量分别是W1,W2,…,WnW1,W2,…,Wn,它们的价值分别为C1,C2,…,CnC1,C2,…,Cn,求旅行者能获得最大总价值。 【输入】 第一行:两个整数,MM(背包容量,M<=200M<=200)和NN(物品数量,N<=30N<=30); 第2…N+12…N+1行:每行二个整数Wi,CiWi,Ci,表示每个物品的重量和价值。 【输出】 仅一行,一个数,表示最大总价值。 【输入样例】 10原创 2021-04-06 08:10:29 · 478 阅读 · 6 评论