蓝桥杯--杂题

1.贪心:

我们先枚举哪个国家赢了,然后再建一个数组排序即可。

下面是AC代码:

#include<bits/stdc++.h>
using namespace std;
#define int long long
int n;
int a[100010],b[100010],c[100010];
bool cmp(int a,int b)
{return a>b;
}
int calc(int a[],int b[],int c[])
{int tmp[100010];int sum=0;for(int i=1;i<=n;i++) tmp[i]=a[i]-(b[i]+c[i]);sort(tmp+1,tmp+n+1,cmp);int cnt=0;for(int i=1;i<=n;i++){if(sum+tmp[i]>0){sum+=tmp[i];cnt++;}else break;}return cnt;
}
signed main()
{cin>>n;for(int i=1;i<=n;i++) cin>>a[i];for(int i=1;i<=n;i++) cin>>b[i];for(int i=1;i<=n;i++) cin>>c[i];int ans=0;ans=max(ans,calc(a,b,c));ans=max(ans,calc(b,a,c));ans=max(ans,calc(c,a,b));if(ans) cout<<ans;else cout<<-1;
}

2.并行DFS:

两棵树同时DFS,先把第一层的可能值存下来然后遍历另一个树的同一层:

下面是AC代码:

#include<bits/stdc++.h>
using namespace std;
const int N=2e5+10;
int a[N],b[N];
vector<int> ed1[N],ed2[N];
int ans;
void dfs(int pn,int fan,int pm,int fam,int dep)
{ans=max(dep,ans);map<int,vector<int> > bk;for(int i=0;i<ed1[pn].size();i++){int ck=ed1[pn][i];if(ck!=fan){bk[a[ck]].push_back(ck);}}for(int i=0;i<ed2[pm].size();i++){int ck=ed2[pm][i];if(ck==fam) continue;if(bk[b[ck]].size()!=0){for(int j=0;j<bk[b[ck]].size();j++)dfs(bk[b[ck]][j],pn,ck,pm,dep+1);}}
}
int main()
{int n,m;cin>>n>>m;for(int i=1;i<=n;i++) cin>>a[i];for(int i=1;i<=m;i++) cin>>b[i];int x,y;for(int i=1;i<n;i++){cin>>x>>y;ed1[x].push_back(y);ed1[y].push_back(x);}for(int i=1;i<m;i++){cin>>x>>y;ed2[x].push_back(y);ed2[y].push_back(x);}if(a[1]!=b[1]){cout<<0;return 0;}dfs(1,0,1,0,1);cout<<ans;
}

3。DFS+剪枝:

下面是直接单向DFS暴力+小的剪枝优化:
1.枚举的答案已经比当前的大了,return;

2.后面的瓜加起来都不到要求的,

3.如果当前的重量超过了答案,return;

4.将瓜从大到小排序。

下面是代码:

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N = 35;
ll s[50];
int n,m;
ll w[N];
int res=50;
void dfs(int u,ll sum,int cnt){if(sum>m) return;if(cnt>=res) return;if(u>n) return;if(s[u]+sum<m) return;if(sum==m){res=min(res,cnt);return;}dfs(u+1,sum,cnt);dfs(u+1,sum+w[u]/2,cnt+1);dfs(u+1,sum+w[u],cnt);
}
bool cmp(ll a,ll b)
{return a>b;
}
int main(){cin>>n>>m;m*=2;for(int i=0;i<n;i++){cin>>w[i];w[i]*=2;}sort(w,w+n,cmp);for(int i=n-1;i>=0;i--) s[i]=s[i+1]+w[i];dfs(0,0,0);if(res==50) puts("-1");else cout<<res<<endl;return 0;
}

ACWing里8/10,在洛谷竟AC了,不过正解应该是双向DFS+哈希(以后填)

4.二分+枚举:

二分一下,然后把式子拆开用前缀和维护即可

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

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

相关文章

Centos7 设置nginx 和 tomcat 自启动

Centos7 设置nginx 和 tomcat 自启动 nginx 的 安装地址 /usr/local/tomcat/apache-tomcat-8.5.85/bintomcat 的 安装地址 /usr/local/nginx/sbin/ 自启动脚本 创建脚本 vi /etc/systemd/system/tomcat_nginx_start.service 写入脚本信息 [Unit] DescriptionStartup scrip…

服务器数据恢复—EqualLogic存储硬盘灯亮黄色的数据恢复案例

服务器数据恢复环境&#xff1a; 一台某品牌EqualLogic PS 6011型号存储&#xff0c;底层有一组由16块SAS硬盘组建的RAID5阵列&#xff0c;上层存储空间划分了4个卷&#xff0c;格式化为VMFS文件系统&#xff0c;存放虚拟机文件。 服务器故障&#xff1a; 存储设备上两块硬盘指…

网络流量处理及分析工具

概念介绍 joy/README.md at master cisco/joy (github.com) Joy 是一个 BSD 许可证开源软件包&#xff0c;用于收集和分析网络数据&#xff0c;重点是网络数据特征的探索。本文档介绍了如何使用、安装、构建和修改 Joy。 1.1.1 为什么选择 Joy&#xff1f; Joy包含了一个数…

微信小程序发送订阅消息

小程序后台。订阅消息里面&#xff0c;新建一个消息模板 小程序代码&#xff0c;登录后&#xff0c;弹出订阅信息 requestSubscribeMessage: function () {wx.requestSubscribeMessage({tmplIds: [-323232-32323], // 替换为你的模板IDsuccess(res) {// 用户订阅结果console.l…

第22讲:文件操作

文章目录 第22讲&#xff1a;文件操作1. 为什么使用文件2. 什么是文件2.1 程序文件2.2 数据文件2.3 文件名 3. 二进制文件和文本文件&#xff1f;4. 文件的打开和关闭4.1 流和标准流4.1.1 流4.1.2 标准流 4.2 文件指针4.3 文件的打开和关闭 5. 文件的顺序读写5.1 顺序读写函数介…

PyQt5开发笔记:1.环境搭建与界面美化

推荐视频教程&#xff1a; https://www.bilibili.com/video/BV1LT4y1e72X?p23&vd_source7ab611f3afb3d469faad93d3996f99ba 一、打开网址&#xff0c;点击下载 https://build-system.fman.io/qt-designer-download 下载后&#xff0c;点开exe 不推荐&#xff1a;http…

每周算法:次小生成树

题目链接 秘密的牛奶运输 题目描述 农夫约翰要把他的牛奶运输到各个销售点。 运输过程中&#xff0c;可以先把牛奶运输到一些销售点&#xff0c;再由这些销售点分别运输到其他销售点。 运输的总距离越小&#xff0c;运输的成本也就越低。 低成本的运输是农夫约翰所希望的…

【面试】介绍一下HotSpot虚拟机

目录 1. 说明2. 起源与发展3. 技术特点3.1 热点代码探测技术3.2 内存管理3.3 垃圾收集器3.4 并发和多线程支持3.5 指令重排优化 4. 执行模式与性能 1. 说明 1.HotSpot虚拟机是一款由Oracle JDK和OpenJDK广泛使用的Java虚拟机&#xff08;JVM&#xff09;。2.HotSpot虚拟机凭借…

react 动态form表单

需求在日常开发中反复写form 是一种低效的开发效率&#xff0c;布局而且还不同这就需要我们对其封装 为了简单明了看懂代码&#xff0c;我这里没有组件&#xff0c;都放在一起&#xff0c;简单抽离相信作为大佬的你&#xff0c;可以自己完成&#xff0c; 首先我们做动态form …

Gartner发布电信运营商应对持续变化的网络安全环境指南:现代云安全与网络安全的五大核心挑战

所有组织的云和网络都面临着高级威胁。作为网络安全的关键参与者&#xff0c;电信运营商的 CIO 需要了解行业面临的挑战&#xff0c;并了解应采用哪些解决方案来实现方法的现代化。 主要发现 电信运营商 (CSP) CIO 如果不能调整其安全策略来保护其环境&#xff0c;那么他们将会…

单片机之从C语言基础到专家编程 - 4 C语言基础 - 4.13数组

C语言中&#xff0c;有一类数据结构&#xff0c;它可以存储一组相同类型的元素&#xff0c;并且可以通过索引访问这些元素&#xff0c;没错&#xff0c;这类数据结构就是数组。数组可以说是C语言中非常重要的数据结构之一了。使用数组可以是程序逻辑更加清晰&#xff0c;也更加…

IDEA 中导入脚手架后该如何处理?

MySQL数据库创建啥的&#xff0c;没啥要说的&#xff01;自行配置即可&#xff01; 1.pom.xml文件&#xff0c;右键&#xff0c;add Maven Project …………&#xff08;将其添加为Maven&#xff09;【下述截图没有add Maven Project 是因为目前已经是Maven了&#xff01;&…

react useState基本使用

1. React Hooks介绍 React Hooks是React 16.8版本引入的新特性&#xff0c;它允许在不编写类的情况下使用state和其他React特性。Hooks的引入极大地简化了组件的编写&#xff0c;使得函数式组件能够拥有类似类组件的功能。 1.1 函数式组件与类组件的区别 函数式组件与类组件…

LNMP安装部署

yum -y install ncurses ncurses-devel bison cmake openssl-devel gcc gcc-c make 方法二

差旅游记|绵阳印象:与其羡慕他人,不如用力活好自己。

哈喽&#xff0c;你好啊&#xff0c;我是雷工&#xff01; 来绵阳之前同事就问: “雷工&#xff0c;能吃辣嘛&#xff1f;”。 “还行&#xff0c;能吃点辣。” “那你去了四川别说能吃点辣&#xff0c;那边的能吃点比跟你说的能吃点不太一样” 01 你好 今天打车&#xff0c;上…

这篇文章让你彻底了解如何实用tcpdump 抓包

直接看例子&#xff1a; tcpdump tcp-i ens33 -t -s 0 -c 100 and dst port ! 22 and src net 192.168.1.0/24 -w ./target.cap &#xff08;1&#xff09;tcp∶ ip icmp arp rarp 和 tcp、udp、icmp这些选项等都要放到第一个参数的位置&#xff0c;用来过滤数据报的类型 &…

Go 语言中常量和变量的定义、使用

Go 语言&#xff0c;作为一种现代编程语言&#xff0c;以其简洁性和高效性赢得了开发者的青睐。在 Go 语言中&#xff0c;常量与变量作为存储和操作数据的基本元素&#xff0c;扮演着至关重要的角色。通过正确理解和使用常量与变量&#xff0c;开发者可以编写出更加健壮和高效的…

「多客」圈子论坛社区交友系统开源版小程序源码|圈子社区系统

简述 社交圈子论坛系统是一种面向特定人群或特定话题的社交网络&#xff0c;它提供了用户之间交流、分享、讨论的平台。在这个系统中&#xff0c;用户可以创建、加入不同的圈子&#xff0c;圈子可以是基于兴趣、地域、职业等不同主题的。用户可以在圈子中发帖、评论、点赞等互…

抖音太可怕了,我卸载了

这两天刷短视频&#xff0c;上瘾了&#xff0c;太可怕了。 自己最近一直在研究短视频制作&#xff0c;所以下载了抖音&#xff0c;说实话&#xff0c;我之前手机上并没有抖音&#xff0c;一直在用B站。 用了两天抖音&#xff0c;我发现&#xff0c;这玩意比刷B站还容易上瘾啊…

国产GPU算力公司及产品

目前&#xff0c;中国有多家从事国产算力GPU研发与生产的企业&#xff0c;以下是一些代表性的公司及其相关产品概述&#xff1a; 景嘉微&#xff1a; 近期&#xff0c;景嘉微宣布成功研发了“景宏系列”AI算力产品&#xff0c;该系列面向AI训练、AI推理、科学计算等领域&#x…