信息学竞赛中的数学 习题集801-810(10题)

3475:练85.3 删数问题(Noip1994)

信息学奥赛一本通-编程启蒙(C++版)在线评测系统

3476:【例86.1】 上台阶

信息学奥赛一本通-编程启蒙(C++版)在线评测系统

/*
电子协会 C语言 1级  27 、阶 上台阶  巧克力吃法问题

2.3基本算法之递归变递推 3525:上台阶
http://noi.openjudge.cn/ch0203/3525/

1190:上台阶
http://ybt.ssoier.cn:8088/problem_show.php?pid=1190

楼梯有 n(100 > n > 0)阶台阶,上楼时可以一步上 1 阶,也可以一步上 2 阶,也可以
一步上 3 阶,编程计算共有多少种不同的走法。
输入:输入的每一行包括一组测试数据,即为台阶数 n。最后一行为 0,表示测试
结束。
输出:每一行输出对应一行输入的结果,即为走法的数目。
输入样例
1
2
3
4
0
输出样例
1
2
4
7
解析:类似于斐波那契数列的递归做法。关键在于找到其递归规则。
如果是 1 阶楼梯,共有 1 种走法。
如果是 2 阶楼梯,共有 1 1、2 两种走法。
如果是 3 阶楼梯,共有 111、12、21、3 这 4 种走法。
如果是 4 阶楼梯,共有 7 种走法。
如果是 5 阶楼梯,共有 13 种走法。
所以我们得到以下递归序列: f(n) = f(n-1) + f(n-2) + f(n-3);
*/
#include 
using namespace std;
int main( void)
{
	long long  a[100+5]={0},x;
	//cin>>n;
	
	//memset(a,0,sizeof(a));
	
	a[1]=1;
	a[2]=2;
	a[3]=4;
	
	for(int i=4;i<=100;i++)
	{
		a[i]=a[i-1]+a[i-2]+a[i-3];
	}
	
	while( cin>>x && x )
	{
		//cout<


3477:【例86.2】 01背包问题

信息学奥赛一本通-编程启蒙(C++版)在线评测系统

3478:【例86.3】 完全背包问题

信息学奥赛一本通-编程启蒙(C++版)在线评测系统

3479:【例86.4】 混合背包

信息学奥赛一本通-编程启蒙(C++版)在线评测系统

/*
1270:【例9.14】混合背包
http://ybt.ssoier.cn:8088/problem_show.php?pid=1270
【问题描述】
    一个旅行者有一个最多能用V公斤的背包,现在有n件物品,
	它们的重量分别是W1,W2,...,Wn,
	它们的价值分别为C1,C2,...,Cn。
	有的物品只可以取一次(01背包),
	有的物品可以取无限次(完全背包),
	有的物品可以取的次数有一个上限(多重背包)。
	求解将哪些物品装入背包可使这些物品的费用总和不超过背包容量,
	且价值总和最大。
【输入格式】
第一行:二个整数,V(背包容量,V<=200),N(物品数量,N<=30);
第2..N+1行:每行三个整数Wi,Ci,Pi,
前两个整数分别表示每个物品的重量,价值,
第三个整数若为0,则说明此物品可以购买无数件,
若为其他数字,则为此物品可购买的最多件数(Pi)。
 
【参考程序】
*/
#include
using namespace std;
int m, n;
int w[31], c[31], p[31];
int f[201];

int max(int x,int y) 
{  
	return  x>y?x:y; 
}

int main( void )
{
    scanf("%d%d",&m,&n);
    for (int i = 1; i <= n; i++)
        scanf("%d%d%d",&w[i],&c[i],&p[i]);
    
	for (int i = 1; i <= n; i++)
        if (p[i] == 0)  //完全背包
		{                                   
            for (int j = w[i]; j <= m; j++)
                f[j] = max(f[j], f[j-w[i]]+c[i]);
        }
        else 
		{
			//01背包和多重背包
            for (int j = 1; j <= p[i]; j++)           
                for (int k = m; k >= w[i]; k--)
                    f[k] = max(f[k],f[k-w[i]]+c[i]);
        }
    
	printf("%d",f[m]); 
    
	return 0;
}



690.扑克牌(2019NH教师C++小学组)

登录

691.房间数量(2019NH教师C++小学组)

登录

#include
using namespace std;
int n,a[100000+5],ans=0;
int main(){

    cin>>n;
    for(int i=1;i<=n;i++) cin>>a[i];
    sort(a+1,a+n+1);
    for(int i=1;i<=n;i++){
        if(a[i]!=a[i-1])ans++;
    }
    cout<



2606.期末考试第1套-彩色圆球

登录

2519.期末考试第2套-选择题1

登录

2520.期末考试第2套-选择题2

登录




信息学竞赛中的数学 习题集801-810(10题)_第1张图片


信息学竞赛中的数学 习题集801-810(10题)_第2张图片


信息学竞赛中的数学 习题集801-810(10题)_第3张图片




宝宝的编程系列书籍

宝宝的编程系列书籍_编程宝宝系列-CSDN博客

宝宝的数学书籍

宝宝的数学书籍-CSDN博客

宝宝的物理学系列

宝宝的物理学系列_宝宝的物理学下载-CSDN博客

小学生讲C++(2023.12.03)

小学生讲C++(2023.12.03)-CSDN博客

小学生C++学习,小学生讲C++

小学生C++学习,小学生讲C++-CSDN博客

GO C编程 C++画图 学习资料大荟萃(2023.12.16)

GO C编程 C++画图 学习资料大荟萃(2023.12.16)-CSDN博客

C++入门书太多了,有的还配有视频

C++入门书太多了,有的还配有视频-CSDN博客

小学二三年级入门信奥赛,如何从Scratch进入C++的学习

小学二三年级入门信奥赛,如何从Scratch进入C++的学习-CSDN博客

宝宝的C++、小学生C++启蒙、小学生C++入门

宝宝的C++、小学生C++启蒙、小学生C++入门_小学三年级编程软件-CSDN博客

Windows资源管理器的使用

Windows资源管理器的使用-CSDN博客

Windows目录结构、移动、复制、搜索文件及文件夹等

Windows目录结构、移动、复制、搜索文件及文件夹等_文件夹结构复制-CSDN博客

信奥基本功:打字练习(盲打)

信奥基本功:打字练习(盲打)_程序员 盲打练习-CSDN博客

五笔 第一讲 指法

五笔 第一讲 指法-CSDN博客

小学生C++编程启蒙

小学生C++编程启蒙_看漫画学c-CSDN博客

 

你可能感兴趣的:(创新,程序猿的数学,小学生C++编程入门,信息学竞赛中的数学,信奥中的数学,程序员的数学,GESP,算法,CSP-J,C++)