算法加项目

news2025/1/6 19:31:53

1.仅加号

很简单,找到每次添加后最小的即可,这里不做演示。

2.采药

dp,for1数目,for2时间,简单的dp模板题目。

#include<bits/stdc++.h>
using namespace std;
int n,m;
const int N=105,M=105;
long long a[M],b[M],dp[N][1005];
int main() {
    cin>>m>>n;
    for(int i=1; i<=n; i++)
        cin>>a[i]>>b[i];
    for(int i=1; i<=n; i++) {
        for(int j=m; j>=0; j--) {
            if(j>=a[i])
                dp[i][j]=max(dp[i-1][j],dp[i-1][j-a[i]]+b[i]);
                else
                dp[i][j]=dp[i-1][j];
        }
    }
    printf("%lld",dp[n][m]);
    return 0;
}

3.奶牛晒衣服

二分,二分对象为时间,从最多的时间开始一直折半,直到while条件不成立,则可以得出结果!

#include<bits/stdc++.h>
using namespace std;
long long s[500005];
long long n,a,b;
long long l=0,r=0;
int pd(int x){
	int k=0;
	for(int i=1;i<=n;i++){
		if(s[i]-a*x<=0)continue;
		int e=s[i]-a*x;
		if(e%b!=0)
		k+=e/b+1;
		else
		k+=e/b;
	}
	if(k<=x) return 1;
    else return 0;
}
int main() {
	cin>>n>>a>>b;
	for(int i=1; i<=n; i++) {
		cin>>s[i];
		r=max(r,s[i]/a+1);
	}
	long long mid=r;
	while(l<r) {
		mid=(l+r)/2;  //时间
		if(pd(mid))
		r=mid;
		else
		l=mid+1;
	}
	cout<<r;

	return 0;
}

4.进击的奶牛

稍微比普通的二分模板题目难一点,将他们的距离进行二分,然后进行判断,如果pd函数成立,则继续查找比x更大的距离。

#include<bits/stdc++.h>
using namespace std;
long long s[500005];
long long n,a,b,m;
long long l=1,r=0;
int pd(int x){
	int k=1,y=s[1];
	for(int i=2;i<=n;i++){
         if(s[i]-y>=x)
         y=s[i],k++;
         else
         continue;
	}
//	cout<<k<<endl;
	if(k<m) return 0;
    else return 1;
}
int main() {
	cin>>n>>m;
	for(int i=1; i<=n; i++) {
		cin>>s[i];
	}
	sort(s+1,s+1+n);
	r=s[n];
	long long mid;
	while(l+1<r) {
		mid=(l+r)/2;  //距离
		if(pd(mid))
			l=mid;
		else
			r=mid;

	//	cout<<l<<" "<<r<<" "<<mid<<endl;
	}
	cout<<l;

	return 0;
}

5.木材加工

也是模板二分,不用绕弯子。

6.最小餮食

找到数组A,满足条件的最小个数,在找到数组B,满足条件的最小个数,他们之间最小的必然同时满足两个条件。注意:x,y,t这里要用long long 因为为14次方,int满足不了。

#include<bits/stdc++.h>
using namespace std;
long long t,x,y;
int ans,n;
const int N=2e5+7;
int a[N],b[N];
bool cmp(int a, int b) {
	return a > b;
}
int main() {
	cin>>n>>x>>y;
	for(int i=1; i<=n; i++)
		cin>>a[i];
	for(int i=1; i<=n; i++)
		cin>>b[i];
	sort(a+1,a+n+1,cmp);
	sort(b+1,b+n+1,cmp);
	ans=n;
	for(int i=1; i<=n; i++) {
		t+=a[i];
		if(t>x) {
			ans=i;
			break;
		}
	}
	t=0;
//	cout<<ans<<" "<<a[1]<<endl;
	for(int i=1; i<=n; i++) {
		t+=b[i];
		if(t>y) {
			ans=min(i,ans);
			break;
		}
		//cout<<ans<<" "<<t<<endl;
	}
	cout<<ans<<endl;
	return 0;
}

7.成功实现信息显示在List上

但是还没有实现将数据保存在数据库中,预计下次总结实现数据库存储及其他功能。

创建类ChatBubble,用来显示头像,气泡之类的,这里创建改类的对象,调用类中的方法,实现如下操作。

气泡设置及添加节点到对象中:

 //聊天气泡,本人为深绿色,非本人为浅绿色
      //  Rectangle bubble = new Rectangle(40.0, 20.0, (double) this.totalLength * 1.2, 30.0);xxx
        //矩形的宽度,矩形的高度,矩形四个角的弧度宽度,矩形四个角的弧度高度
        Rectangle bubble = new Rectangle(40.0, 20.0, (double) this.totalLength * 1, 30);
        bubble.setArcWidth(10.0);
        bubble.setArcHeight(10.0);
        bubble.setFill(isSentByMe ? Color.LIGHTGREEN : Color.LIGHTGRAY);//颜色
        //设置消息内容的文本布局
        TextFlow messageFlow = new TextFlow();
        messageFlow.setLayoutX(40.0);
        messageFlow.setLayoutY(28.0);
        messageFlow.setPrefWidth(100.0);
        messageFlow.setLineSpacing(5.0);
        this.processMessage(message, messageFlow, bubble);//2
        //将当前节点添加到对象中
        this.getChildren().addAll(new Node[]{head, label, label1, bubble, messageFlow});

效果如下:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1969509.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

TInyWebServer面试题

一、项目介绍 &#xff08;1&#xff09;为什么要做这样一个项目&#xff1f; &#xff08;2&#xff09;介绍一下你的项目 这个项⽬是我在学习计算机⽹络和Linux socket编程过程中独⽴开发的轻量级Web服务器&#xff0c;服务器的⽹络模型是主从reactor加线程池的模式&#xf…

VMware虚拟机网络模式配置详解【原理,功能,特点层面】

VMware虚拟机网络模式配置详解【原理,功能,特点层面】 文章目录 VMware虚拟机网络模式配置详解【原理,功能,特点层面】桥接模式&#xff08;Bridged&#xff09;原理功能点介绍虚拟网络编辑器配置虚拟机配置 配置教程编辑-虚拟网络编辑器虚拟机网络配置 特点 NAT模式概念功能点…

数学建模--智能算法之蚁群优化算法

目录 基本原理 算法步骤 Python代码示例 应用领域 特点及改进 蚁群优化算法在解决哪些具体组合优化问题方面表现最为突出&#xff1f; 如何有效地改进蚁群优化算法以提高其收敛速度和避免陷入局部最优的问题&#xff1f; 蚁群优化算法与其他群体智能优化算法&#xff0…

三维旋转矩阵

前言 本文讲述三维旋转的矩阵推导&#xff0c;推导过程遵循下面的规则&#xff1a; 本文的坐标系是基于右手坐标系的逆时针旋转为正向旋转 围绕坐标轴的旋转 x x x轴 我们假设旋转的点为 P P P 假设旋转之前点 P P P的坐标为 ( x 0 , y 0 , z 0 ) (x_0,y_0,z_0) (x0​,y0​,…

CAN总线中注入拓展帧、远程帧,CAPL通用函数。

🍅 我是蚂蚁小兵,专注于车载诊断领域,尤其擅长于对CANoe工具的使用🍅 寻找组织 ,答疑解惑,摸鱼聊天,博客源码,点击加入👉【相亲相爱一家人】🍅 玩转CANoe,博客目录大全,点击跳转👉 【测试需求】:CAN总线要求DUT 接收到非预期的扩展帧、远程帧时,通信正常,…

vulhub:nginx解析漏洞nginx_parsing

这个解析漏洞其实是PHP CGI的漏洞&#xff0c;在PHP的配置文件中有一个关键的选项cgi.fix_pathinfo默认是开启的&#xff0c;当URL中有不存在的文件&#xff0c;PHP就会向前递归解析。在一个文件/xx.jpg后面加上/.php会将 /xx.jpg/xx.php 解析为 php 文件 条件&#xff1a; Ngi…

釉面陶瓷器皿和玻璃器皿 SOR/2016-175认证

釉面陶瓷制品和釉面玻璃制品设计用于盛装食品&#xff0c;包括扁平餐具、杯子或马克杯、小号或大号凹形器皿&#xff08;杯子或马克杯除外&#xff09;以及水罐。这些法规适用于以下釉面陶瓷制品和釉面玻璃制品&#xff1a; 完全或部分由陶瓷或玻璃制成完全或部分覆盖含铅或镉…

MATLAB(12)预测模型

一、前言 在MATLAB中创建一个预测模型通常涉及多个步骤&#xff0c;包括数据准备、模型选择、训练模型、评估模型以及使用模型进行预测。以下是一个简化的例子&#xff0c;说明如何使用MATLAB中的内置函数来创建一个基于线性回归的预测模型。这个例子将使用MATLAB的fitlm函数来…

C语言函数初识

文章目录 &#x1f34a;自我介绍&#x1f34a;函数初识前言概念具体实例解释函数的实用性 你的点赞评论就是对博主最大的鼓励 当然喜欢的小伙伴可以&#xff1a;点赞关注评论收藏&#xff08;一键四连&#xff09;哦~ &#x1f34a;自我介绍 Hello,大家好&#xff0c;我是小珑也…

院人全年无休计划背后,芒果把To C综艺玩明白了

《种地吧》掉粉闹得沸沸扬扬&#xff0c;不少禾伙人希望芒果把“十个勤天”挖走&#xff0c;毕竟芒果做综艺群像确实是一把好手&#xff0c;“院人”就是最好的例子。 在#种地吧粉丝让芒果把十个勤天挖走#的话题登上热搜之后&#xff0c;“学分们”&#xff08;院人粉丝&#…

JS等待所有方法执行完成在执行下一个方法,promise All

在工作中会遇到这样一个场景&#xff0c;前端需要拿到不同接口返回的结果在执行某个逻辑&#xff0c;当使用链式那样的方式去请求&#xff0c;等一个接口响应完在请求下一个接口&#xff0c;这种方法就会导致请求时间特别长。这个时候就可以使用promise all&#xff0c;同时请求…

国产麒麟操作系统下搞单机版

去年纪委单位的一个项目&#xff0c;因为单位保密性质&#xff0c;档案必须要保密&#xff0c;要求采用单机版&#xff0c; 要求跟EXE那样&#xff0c;双击打开&#xff0c;阿公单位信息人员电脑操作水平化滞后还是相当严重啊。 去年已经给他花了时间按他们的要求实现了。 上周…

【直角三角形】python刷题记录

R3-新增每日一题打卡。 目录 思路&#xff08;遍历中间乘法原理&#xff09;&#xff1a; 乘法原理如下&#xff1a; ps: python的zip操作 矩阵转置 并行遍历 对象组合 创建字典 处理不等迭代长度 思路&#xff1a; 这题遍历主要从直角点开始遍历&#xff0c;用到了…

软科中国大学排名爬虫+数据可视化

这一期是关于软科中国大学排名的爬虫分析 目标网址&#xff1a;https://www.shanghairanking.cn/rankings/bcur/2024 每页30所学校信息&#xff0c;共20页 点击翻页&#xff0c;你发现网址没有发生变化&#xff0c;说明该页面信息应该是利用js实现动态加载数据的方式展示的&am…

基于51单片机的篮球计分器Protues仿真设计(LCD12864显示)

目录 一、设计背景 二、设计要求 三、仿真演示 四、程序展示&#xff08;部分&#xff09; 一、设计背景 近年来&#xff0c;随着国家对体育事业的日益重视&#xff0c;体育运动在全民中的普及程度显著提高&#xff0c;篮球作为一项广受欢迎的运动项目&#xff0c;其比赛与…

Linux云计算 |【第二阶段】CLUSTER-DAY1

主要内容&#xff1a; 集群概念、LVS概述、LVS-NAT集群、LVS-DR集群 一、集群概念 集群&#xff08;Cluster&#xff09;是指将多台计算机&#xff08;节点&#xff09;通过网络连接在一起&#xff0c;形成一个统一的计算资源池&#xff0c;共同完成一项或多项任务的系统。集…

如何使用 FTP 将文件上传到 WordPress

作为新手站长&#xff0c;在学习如何管理和维护自己的网站时&#xff0c;掌握一些基本的文件管理技能是非常重要的。通过FTP上传文件到WordPress网站是其中一个必备的技能。本文将详细介绍如何使用FTP将文件上传到WordPress&#xff0c;并分享一些在使用Hostease主机的过程中积…

场外个股期权是什么?20倍奇迹,神仙操作的场外个股期权!

今天带你了解场外个股期权是什么&#xff1f;20倍奇迹&#xff0c;神仙操作的场外个股期权&#xff01;场外期权交易具有独特的特点和优势&#xff0c;它结合了“彩票”和“保险”的双重属性&#xff0c;为投资者提供了一种灵活且高效的投资工具。 场外个股期权是一种金融合约…

Linux内存不够了?看看如何开启虚拟内存增加内存使用量

1、为什么要使用虚拟内存 当我们没有多余的钱去购买大内存的云服务器时&#xff0c;但是当前服务器里面的软件和程序运行的比较多导致内存不够用了。这个时候可以通过增加虚拟内存来扩大内存容量。但是在启用虚拟内存时&#xff0c;需要仔细考虑系统的实际需求和硬件配置&#…

前端技术回顾系列 14 | 总结 + Vue 3.x 必修课

欢迎关注公众号&#xff1a;CodeFit 创作不易&#xff0c;如果你觉得这篇文章对您有帮助&#xff0c;请不要忘了 点赞、分享 和 关注&#xff0c;为我的 持续创作 提供 动力&#xff01; 1. 回顾系列的初衷和目标 在六月初&#xff0c;我开始编写 「前端技术回顾系列 2024」&a…