当前位置: 首页 > news >正文

B - Magical Subsequence (CCPC2021哈尔滨)

思路:

(1)问题:对于已知数组,每组依次选两个,尽量选更多组,选的每组和相等;(假定和为x)

(2)于是问题拆分为两步,

  1. x是多少
  2. x确定时,怎样选更多组

(3)对于问题1,注意到A:(1,100),所以x:(2,200)枚举即可;

对于问题2,x确定条件下,显然能选则选最多,此时有两条思路,

  1. 前面拿到值从后面找(复杂度O(n^2)且不能保证尽可能长)
  2. 后面拿到值往前面找,(开st[]数组查询,此时充分利用前面信息,复杂度O(n+100),且尽可能靠前进行查找;

(4)于是选择思路2,(注意使用set会超时,数组小时应尽量用数组,因为查询复杂度小)

代码:

#include<bits/stdc++.h>using namespace std;typedef long long LL;const int N = 1e5 + 10;LL a[N];
LL st[210];
int main()
{int n;cin >> n;for(int i = 0;i < n;i ++)scanf("%d",&a[i]);LL maxn = 0;for(int i = 2;i <= 200;i ++){memset(st,0,sizeof st);LL tmp = 0;for(int j = 0;j < n;j ++){if(st[i - a[j]] == 1){tmp += 2;maxn = max(maxn,tmp);memset(st,0,sizeof st);}else st[a[j]] = 1;}}cout << maxn<< endl;return 0;
}

http://www.lryc.cn/news/205204.html

相关文章:

  • Leetcode刷题详解——x的平方根
  • windows安装docker,解决require wsl 2问题
  • 建立复数类
  • docker部署prometheus+grafana服务器监控(三) - 配置grafana
  • 面试题:说一下加密后的数据如何进行模糊查询?
  • LeetCode75——Day15
  • Qwt开发环境搭建(保姆级教程)
  • 【供应链】仓储、物流、车辆管理
  • 从另外一个进程中读取数据
  • 【FPGA零基础学习之旅#17】搭建串口收发与储存双口RAM系统
  • 建立Line类
  • 10_集成学习方法:随机森林、Boosting
  • 工业通信网关常用的工业通信协议
  • 如何将音频与视频分离
  • 【antd】form表单为空校验失效 form.item.rules传入非所需的api属性时,引起为空自动验证失效问题
  • 数据可视化的常见工具
  • 不希望你的数据在云中?关闭iPhone或Mac上的iCloud
  • 10 个最佳免费 PDF 压缩工具软件
  • LVS+keepalived高可用集群
  • 虚拟化 vs. 裸金属:K8s 部署环境架构与特性对比
  • C语言程序设计——题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?
  • Python中使用cv2.resize()函数批量自定义缩放图像尺寸
  • 驱动开发5 阻塞IO实例、IO多路复用
  • ElasticSearch:实现高效数据搜索与分析的利器!项目中如何应用落地,让我带你实操指南。
  • 2023了,是时候使用pnpm了!
  • asp.net文档管理系统VS开发sqlserver数据库web结构c#编程Microsoft Visual Studio
  • Parallels Client for Mac:改变您远程控制体验的革命性软件
  • Julia数组详解
  • 用事务代码查看视图的函数
  • LuatOS-SOC接口文档(air780E)--libcoap - coap数据处理