【蓝桥杯-枚举模板题】

蓝桥杯-枚举模板题

  • 滑雪课程设计 P3650
  • 新的家乡 P8587
  • 枚举子集 B3622
  • Air Cownditioning P9011

滑雪课程设计 P3650

在这里插入图片描述
核心的思路是把数据规定在[i,i+17]里,不够的补,过大的减。枚举i以求最少的钱。

#include<bits/stdc++.h>
using namespace std;int n;
int a[1010];int main()
{ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);cin >> n;for (int i = 0; i < n; i++) cin >> a[i];int ans = 1e9;for (int low = 1; low <= 100; low++){int high = low + 17;int sum = 0;for (int i = 0; i < n; i++){if (a[i] < low) sum += (low - a[i]) * (low - a[i]);if (a[i] > high) sum += (a[i] - high) * (a[i] - high);}ans = min(ans, sum);}cout << ans;return 0;}

新的家乡 P8587

在这里插入图片描述
核心思路是去枚举和。
[1,x-1];[2,x-2]~[x/2(下取整),x/2(上取整)]找两个元素的较少的那个。
特判比如3 3 3 3 3找6,此次不满足上一条,见代码特判处。

#include<bits/stdc++.h>
using namespace std;
const int N = 1e6 + 10;
int a[N], cnt[N];signed main()
{int n;cin >> n;for (int i = 0; i < n; i++)cin >> a[i];for (int i = 0; i < n; i++)cnt[a[i]]++;int ans1 = 0;int ans2 = 0;for (int x = 2; x <= 6000; x++){int sum = 0;for (int i = 1; i <= x / 2; i++)//枚举小的一半 {if (i * 2 == x)//这个是特判,一般走else {sum += cnt[i] / 2;}else{sum += min(cnt[i], cnt[x - i]);}}if (sum > ans1) ans1 = sum, ans2 = 1;else if (sum == ans1) ans2++;}cout << ans1 << ' ' << ans2;return 0;
}

枚举子集 B3622

在这里插入图片描述
核心思路是用位运算来模拟选与不选。

#include<bits/stdc++.h>
using namespace std;
const int N = 1e6 + 10;
int n;signed main()
{cin >> n;for (int i = 0; i < (1 << n); i++){for (int j = n - 1; j >= 0; j--)//从大到小枚举 {if ((i >> j) & 1){cout << 'Y';}elsecout << 'N';}cout << endl;}return 0;
}

Air Cownditioning P9011

在这里插入图片描述
核心思路依然是用位运算枚举空调状态,但过程与数据更加复杂。

#include<bits/stdc++.h>
using namespace std;
#define int long long 
const int N = 110;
int a[N], b[N], p[N], cost[N], s[N], t[N], c[N];
int f[N], need[N];signed main()
{int n, m;cin >> n >> m;for (int i = 1; i <= n; i++){cin >> s[i] >> t[i] >> c[i];for (int j = s[i]; j <= t[i]; j++){need[j] = max(c[i], need[j]);//更新要求}}for (int i = 1; i <= m; i++)cin >> a[i] >> b[i] >> p[i] >> cost[i];//以上为读入数据int ans = 0x3f3f3f3f;for (int state = 0; state < (1 << m); state++)//枚举空调用或不用{memset(f, 0, sizeof f);for (int j = 0; j < m; j++){if ((state >> j) & 1)//第j台用不用{for (int x = a[j + 1]; x <= b[j + 1]; x++){f[x] += p[j + 1];}}}bool flag = true;for (int i = 1; i <= 100; i++){if (f[i] < need[i])//比如需要降低2度,结果就降了1度,那肯定不对了{flag = false;}}if (flag){int sum = 0;for (int j = 0; j < m; j++){if ((state >> j) & 1){sum += cost[j + 1];}}ans = min(ans, sum);}}cout << ans;return 0;
}

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

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

相关文章

C#实现只保存2天的日志文件

文章目录 业务需求代码运行效果 欢迎讨论&#xff01; 业务需求 在生产环境中&#xff0c;控制台窗口不便展示出来。 为了在生产环境中&#xff0c;完整记录控制台应用的输出&#xff0c;选择将其输出到文件中。 但是&#xff0c;存储所有输出的话会占用很多空间&#xff0c;…

Chrome 设置在新窗口中打开链接(已登录google账号版)

Chrome的链接默认是在原标签页中打开的&#xff0c;如果要在新窗口中打开&#xff0c;需要自己自行设置&#xff0c;在此&#xff0c;针对已经登录google账号的chrome浏览器怎么进行设置进行说明。 一、点击登录图标->更多设置 二、选择其他设置->在新窗口中打开搜索结果…

15、Scalable Diffusion Models with Transformers

简介 官网 DiT&#xff08;Diffusuion Transformer&#xff09;将扩散模型的 UNet backbone 换成 Transformer&#xff0c;并且发现通过增加 Transformer 的深度/宽度或增加输入令牌数量&#xff0c;具有较高 Gflops 的 DiT 始终具有较低的 FID&#xff08;~2.27&#xff09;…

go库x/text缺陷报告CVE-2022-32149的处理方案

#问题描述 go库 golang.org/x/text &#xff0c;注意这里不是go的源码&#xff0c; 在0.3.8版本之前存在一个缺陷(Vulnerability) 缺陷ID CVE-2022-32149 具体描述 攻击者可以通过制作一个Accept-Language报头来导致拒绝服务。 具体的原因是&#xff0c;在解析这个Accept-L…

算法学习 | day34/60 不同路径/不同路径II

一、题目打卡 1.1 不同路径 题目链接&#xff1a;. - 力扣&#xff08;LeetCode&#xff09; 拿到手&#xff0c;首先见到答案需要求的是种类的个数&#xff0c;并且看题目&#xff0c;每次移动的时候只有两个方向&#xff0c;这也就说明&#xff0c;对于某一个位置来说&#x…

深入剖析主机安全中的零信任机制及其实施原理

引言 在数字化转型加速与云端服务普及的大背景下&#xff0c;传统依赖边界的网络安全模式逐渐显露出其局限性。面对愈发复杂多变的威胁环境&#xff0c;零信任安全架构作为新一代的安全范式应运而生&#xff0c;尤其是在主机层面的安全实践中&#xff0c;零信任机制正扮演着至…

基于YOLOv8车牌识别算法支持12种中文车牌类型(源码+图片+说明文档)

yolov8车牌识别算法&#xff0c;支持12种中文车牌类型 支持如下&#xff1a; 1.单行蓝牌 2.单行黄牌 3.新能源车牌 4.白色警用车牌 5.教练车牌 6.武警车牌 7.双层黄牌 8.双层白牌 9.使馆车牌 10.港澳粤Z牌 11.双层绿牌 12.民航车牌 图片测试demo: 直接运行detect_plate.py 或者…

DDL ---- 数据库的操作

1.查询所有数据库 show databases; 上图除了自创的&#xff0c;其他的四个都是mysql自带的数据库 。&#xff08;不区分大小写&#xff09; 2.查询当前数据库 select database(); 最开始没有使用数据库&#xff0c;那么查找结果为NULL 所以我们就需要先使用数据库&#xff…

shopee虾皮业绩一直没办法提升?不同时期要有不同的运营思路

店铺运营“开荒期”需要根据自身店铺数据调整运营策略&#xff0c;“运营期”就需要更多分析竞品的运营数据&#xff0c;分析接近上架时间段的出单同款/相似款&#xff0c;有效找到影响起量的因素&#xff1b;在出单缓慢&#xff0c;接近瓶颈期时找同行的策略方案&#xff0c;抓…

PyLMKit(8):ChatDB与你的数据库聊天,数据库问答

功能介绍 与你的结构化数据聊天&#xff1a;支持主流数据库、表格型excel等数据&#xff01; ChatDB&#xff1a;支持数据库问答ChatTable&#xff1a;支持txt,excel,csv等pandas dataframe表格的问答 1.下载安装 pip install pylmkit -U pip install pymysql sqlalchemy s…

【学习心得】Numpy学习指南或复习手册

本文是自己在学习Numpy过后总是遗忘的很快&#xff0c;反思后发现主要是两个原因&#xff1a; numpy的知识点很多&#xff0c;很杂乱。练习不足&#xff0c;学习过后一段时间不敲代码就会忘记。 针对这两个问题&#xff0c;我写了这篇文章。希望将numpy的知识点织成一张网&…

【智能算法】金枪鱼群优化算法(TSO)原理及实现

目录 1.背景2.算法原理2.1算法思想2.2算法过程 3.代码展示4.参考文献 1.背景 2021年&#xff0c;Xie等人受到自然界中金枪鱼狩猎行为启发&#xff0c;提出了金枪鱼优化算法&#xff08;Tuna swarm optimization&#xff0c;TSO&#xff09;。 2.算法原理 2.1算法思想 TSO模…