2.2日总结

第一题:搭配购买

题解:一看就是很普通的01背包问题,但是和查并集一起考了,首先我们需要把每个有联系的链接起来,形成一个大背包,用来装他们的总金额和总价值,然后我们在看一个个的物品进行取或者不取两种操作,但是这题需要进行状态压缩,不能用二维的dp数组,否则会MLE,要用一维的滚动数组来解决问题

#include<bits/stdc++.h>
using namespace std;int n,m,we;
int c[10005];
int d[10005];
int s[10005];
int w[10005];
int v[10005];
int w1[10005];
int v1[10005];
int dp[10005];
int cha(int x)
{if(s[x]==x)return x;s[x]=cha(s[x]);return s[x];
}
void bing(int root1,int root2)
{if(root1==root2){return ;}else{if(root1>root2)s[root1]=root2;elses[root2]=root1;}
}
int main()
{scanf("%d%d%d",&n,&m,&we);for(int i=1;i<=n;i++){s[i]=i;}for(int i=1;i<=n;i++){scanf("%d%d",&c[i],&d[i]);}for(int i=0;i<m;i++){int p,q;scanf("%d%d",&p,&q);bing(cha(p),cha(q));}for(int i=1;i<=n;i++){w[cha(i)]+=c[i];v[cha(i)]+=d[i];}int k=0;for(int i=1;i<=n;i++){if(w[i]!=0&&v[i]!=0){w1[k]=w[i];v1[k]=v[i];k++;}}for(int i=0;i<k;i++){for(int j=we;j>=w1[i];j--){dp[j]=max(dp[j],dp[j-w1[i]]+v1[i]);}}printf("%d",dp[we]);return 0;
}

 第二题:刻录光盘

 

题解:相比于树,这题其实说是图实则更加贴切,因为这题有个考点就是A可以给B,但B不一定会给A,,因此我们用floyd算法去处理 才是最优解

#include<bits/stdc++.h>
using namespace std;
int n;
int f[300][300];
int s[300];
int b[300];
int cha(int x)
{while(s[x]!=x){x=s[x];}return x;
}
void bing(int root1,int root2)
{while(root1!=s[root1])root1=s[root1];s[root2]=root1;
}
int main()
{scanf("%d",&n);for(int i=1; i<=n; i++){s[i]=i;}int z;for(int i=1; i<=n; i++){while(1){scanf("%d",&z);if(z==0)break;f[i][z]=true;}}//弗洛伊德算法for(int k=1; k<=n; k++){for(int i=1; i<=n; i++){for(int j=1; j<=n; j++){f[i][j]=f[i][j]||(f[i][k]&&f[k][j]);}}}for(int i=1; i<=n; i++){for(int j=1; j<=n; j++){if(f[i][j]){bing(i,j);}}}int sum=0;for(int i=1; i<=n; i++){b[cha(i)]=1;}for(int i=1; i<=n; i++){if(b[i]!=0)sum++;}printf("%d\n",sum);return 0;
}

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

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

相关文章

LeetCode.2670. 找出不同元素数目差数组

题目 题目链接 分析 一种暴力的方法&#xff0c;枚举数组所有数字&#xff0c;分别计算当前元素前面不同的元素和后面不同的元素&#xff0c;然后相减即可。这样的话太暴力&#xff0c;前缀和后缀也需要分别遍历&#xff1a;O(N*2)了。 我们来优化一下&#xff1a; 根据这种…

STM32F407移植OpenHarmony笔记8

继上一篇笔记&#xff0c;成功开启了littlefs文件系统&#xff0c;能读写FLASH上的文件了。 今天继续研究网络功能&#xff0c;让控制台的ping命令能工作。 轻量级系统使用的是liteos_m内核lwip协议栈实现网络功能&#xff0c;需要进行配置开启lwip支持。 lwip的移植分为两部分…

Paper - 预测异源多聚体相互作用 Effective Virial Coefficient (有效节流系数) 算法

欢迎关注我的CSDN&#xff1a;https://spike.blog.csdn.net/ 本文地址&#xff1a;https://spike.blog.csdn.net/article/details/135974780 论文&#xff1a;Predicting heteropolymer interactions: demixing and hypermixing of disordered protein sequences 预测异聚物相…

Mysql的BufferPool

Mysql的BufferPool Mysql是一个存储数据到磁盘的进程&#xff0c;但是磁盘的速度难以与CPU相比&#xff0c;所以InnoDB存储引擎在处理客户端的请求时&#xff0c;当需要访问某个页的数据时&#xff0c;就会把完整的页的数据全部加载到内存中。将整个页加载到内存中后就可以进行…

Vue3_基础使用_1

这节主要介绍&#xff1a; vue2与vue3的区别&#xff0c;创建响应式的数据&#xff0c;setup语法糖的使用&#xff0c;watch监听&#xff0c;及vue3创建项目。 vue2的选项式与vue3的组合式区别&#xff1a; 选项式&#xff1a;vue2中数据与方法计算属性等等&#xff0c;针对…

TryHackMe-Valley

靶场介绍 Boot the box and find a way in to escalate all the way to root! 启动盒子&#xff0c;找到一种方法&#xff0c;一路升级到root&#xff01; 信息收集&端口利用 使用nmap对靶机进行扫描 nmap 10.10.138.189开放22、80和37370端口&#xff0c;先访问80端口查…

Facebook未来展望:社交媒体的下一个篇章

社交媒体一直是连接人与人之间的纽带&#xff0c;而Facebook则一直在推动这一领域的发展。随着科技不断演进和社会需求的不断变迁&#xff0c;Facebook正积极筹谋社交媒体的下一个篇章。本文将深入剖析Facebook的未来展望&#xff0c;探讨其在社交媒体领域所迎接的新时代。 1. …

【开源】SpringBoot框架开发农村物流配送系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 系统登录、注册界面2.2 系统功能2.2.1 快递信息管理&#xff1a;2.2.2 位置信息管理&#xff1a;2.2.3 配送人员分配&#xff1a;2.2.4 路线规划&#xff1a;2.2.5 个人中心&#xff1a;2.2.6 退换快递处理&#xff1a;…

【c语言】strcpy()和strncpy():字符串复制详解

&#x1f388;个人主页&#xff1a;甜美的江 &#x1f389;欢迎 &#x1f44d;点赞✍评论⭐收藏 &#x1f917;收录专栏&#xff1a;c语言 &#x1f91d;希望本文对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出指正&#xff0c;让我们共同学习、交流进步&a…

数据库问题排查与常用设置

1.数据库问题 1.1数据库磁盘满了 mysql57表现1: 插入数据或者更新数据可能报错 The table xxx is full" 报错示例: { "timestamp": 1706766474768, "status": 500, "error": "Internal Server Error", "exception&q…

TryHackMe-File Inclusion练习

本文相关的TryHackMe实验房间链接&#xff1a;TryHackMe | Why Subscribe 路径遍历(目录遍历) LocationDescription/etc/issue包含要在登录提示之前打印的消息或系统标识。/etc/profile控制系统范围的默认变量&#xff0c;例如导出&#xff08;Export&#xff09;变量、文件创…

fastadmin添加活动二维码图片,扫码可以直接跳转到该活动

一&#xff0c;在controll重写add方法 /*** 添加*/ public function add() {if ($this->request->isPost()) {$params $this->request->post("row/a");if ($params) {$params $this->preExcludeFields($params);if ($this->dataLimit &&…

Kotlin 协程1:深入理解withContext

Kotlin 协程1&#xff1a;深入理解withContext 引言 在现代编程中&#xff0c;异步编程已经变得非常重要。在 Kotlin 中&#xff0c;协程提供了一种优雅和高效的方式来处理异步编程和并发。在这篇文章中&#xff0c;我们将深入探讨 Kotlin 协程中的一个重要函数&#xff1a;wi…

实习记录——第十天

今天啥也不想说了&#xff0c;ctf里面还有道题目还没做&#xff0c;这里就不写了&#xff0c;把日报奉上&#xff0c;懂得都懂&#xff1a; 2.2日总结&#xff1a; 早上对xx银行的招聘网站做了渗透测试&#xff0c;对招聘网点赞处做重放看是否会多次点赞&#xff0c;对收藏处考…

关于sql关键字及敏感数据脱敏

数据脱敏相关 数据脱敏数字类型数据脱敏sql关键字脱敏 数据脱敏 数据脱敏是经常会遇到的需求&#xff0c;很常见。 尤其是一些客户数据&#xff0c;如身份证号、手机号码等。 脱敏规则也不尽相同&#xff0c;这里列举两种&#xff0c;作为参考吧。 数字类型数据脱敏 近期刚好…

【JAVA】守护线程是什么?

&#x1f34e;个人博客&#xff1a;个人主页 &#x1f3c6;个人专栏&#xff1a;JAVA ⛳️ 功不唐捐&#xff0c;玉汝于成 目录 正文 我的其他博客 正文 在计算机编程中&#xff0c;守护线程&#xff08;daemon thread&#xff09;是一种在程序运行时在后台提供服务的线程…

2024021期传足14场胜负前瞻

2024021期赛事由亚洲杯2场、英超5场&#xff0c;德甲6场、非洲杯1场组成。售止时间为2月3日&#xff08;周六&#xff09;19点00分&#xff0c;敬请留意&#xff1a; 本期1.5以下赔率3场&#xff0c;1.5-2.0赔率3场&#xff0c;其他场次基本皆是平半盘、平盘。本期14场整体难度…

【详细教程】Kubernetes集群部署:使用kubeadm创建集群

文章目录 一、虚拟机准备&#xff08;一&#xff09;主机基本配置&#xff08;二&#xff09;安装docker&#xff08;三&#xff09;配置cri-docker环境&#xff08;四&#xff09;安装kubeadm、kubelet、kubectl&#xff08;五&#xff09;克隆主机 二、环境配置工作&#xff…

Python 3 中,使用 Memcached

在 Python 3 中&#xff0c;使用 Memcached&#xff0c;一个高性能的分布式内存对象缓存系统&#xff0c;可以通过多个第三方库来实现。这些库允许 Python 应用程序与 Memcached 服务器进行通信&#xff0c;从而缓存数据以加快应用程序的响应速度和提高效率。最常用的库之一是 …

CDN高防IP:技术解析与相关问题解答

在使用CDN高防IP技术的过程中&#xff0c;可能会遇到一些问题。下面是一些常见问题和相应的解答&#xff0c;希望能帮助读者更好地了解和使用CDN高防IP技术。 问题一&#xff1a;什么是CDN高防IP技术&#xff1f; 解答&#xff1a;CDN高防IP技术是一种通过将网站流量分散到多…