logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

【动态规划T】合唱队形

【问题描述】N位同学站成一排,音乐老师要请其中的(N-K)位同学出列,使得剩下的K位同学排成合唱队形。合唱队形是指这样的一种队形:设K位同学从左到右依次编号为1,2…,K,他们的身高分别为T1,T2,…,TK,则他们的身高满足T1<…Ti+1>…>TK(1<=i<=K)。已知所有N位同学的身高,计算最少需要几位同学出列,可以使得剩下的同学排成合唱队形。输入输入的第一行

#c++#算法#动态规划
【动态规划T】小A点菜

【问题描述】umi拿到了uoi的镭牌后,立刻拉着基友小A到了一家餐馆,很低端的那种。uim指着墙上的价目表(太低级了没有菜单),说:“随便点”。不过uim由于买了一些书,口袋里只剩M元(M≤10000)。餐馆虽低端,但是菜品种类不少,有N种(N≤100),第i种卖ai元(ai≤1000)。由于是很低端的餐馆,所以每种菜只有一份。小A奉行“不把钱吃光不罢休”,所以他点单一定刚好把uim身上所有钱花完

#c++#算法#动态规划
【贪心算法T】排队打水问题(多处最优服务次序问题)

【问题描述】有n个人排队到r个水龙头去打水,他们装满水桶的时间为t1,t2,…,tn为整数,且各不相同。求所有人打完水所用到的时间最少时间?n和r都小于10输入两行, 第一行,人数n和水龙头数r;第二行,n个数代表每个人打水所用的时间。输出打水所用的最少时间样例输入4 22 6 4 5样例输出23【算法分析】多处最优服务次序问题【算法实现】#include<iostream>#incl

#c++#算法#贪心算法
【贪心算法】背包问题--可分割

【问题描述】给定一个载重量为M的背包,考虑n个物品,其中第i个物品的重量 ,价值wi (1≤i≤n),要求把物品装满背包,且使背包内的物品价值最大。有两类背包问题(根据物品是否可以分割),如果物品不可以分割,称为0—1背包问题(动态规划);如果物品可以分割,则称为背包问题(贪心算法)。【算法分析】假设背包的容量为50,有3个物品:有3种方法来选取物品:(1)当作0—1背包问题,用动态规划算法,获得

文章图片
#c++#算法#贪心算法
FatMouse‘s Speed--最长单调递增子序列--动态规划

问题描述:FatMouse相信:长得越胖的老鼠跑得越快。为了证明这是不对的,你需要搜集老鼠的数据。然后,在这些数据中选取一个尽可能大的子集,从而发现体重不断增长时,速度却不断下降。输入输入一群老鼠的资料,每只老鼠占一行。每只老鼠的数据是一对整数:第一个表示它的体重(克),第二个表示它的速度(厘米/秒),两个整数的范围是1~10000。每组测试数据最多包含1000只老鼠的信息。任何两只老鼠有可能体重

文章图片
#c++#算法#动态规划
最大子段和--动态规划

问题描述:给定由n个整数(包含负整数)组成的序列a1,a2,…,an,求该序列子段和的最大值。当所有整数均为负值时定义其最大子段和为0。所求的最优值为:例如,当(a1,a2, ……a7,a8)=(1,-3, 7,8,-4,12, -10,6)时,最大子段和为:算法分析:计算最大子段和的动态规划算法#define NUM 1001int a[NUM];int MaxSum(int n){int su

文章图片
#算法#c++#动态规划
简单工厂模式--计算器代码及UML图

简单工厂模式Simple Factory模式根据提供给它的数据,返回几个可能类中的一个类的实例。通常它返回的类都有一个公共的父类和公共的方法。简单工厂模式也被称为静态工厂模式;使用简单工厂模式可以将产品的“消费”和生产完全分开,客户端只需要知道自己需要什么产品,如何来使用产品就可以了,具体的产品生产任务由具体的工厂类来实现。工厂类根据传进来的参数生产具体的产品供消费者使用。这种模式使得更加利于扩展

#java#uml#简单工厂模式
到底了