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

20260613总结

A - Maximum Increase

题意:给定一个 \(n\) 个整数组成的数组,找到给定数组中最长的递增子数组的长度。

Tag:DP,线段树,模拟。

象征性的写个 DP。

思路:设 \(dp_i\) 表示以 \(i\) 结尾的长度,显然,如果 \(a_i > a_{i-1}\),就一定可以 \(dp_i = dp_{i-1} + 1\),否则 \(dp_i = 1\)

#include <bits/stdc++.h>using namespace std;
#define ll long long
#define ull unsigned long long
#define db double
#define all(x) (x).begin(), (x).end()
#define inf (1 << 30)
#define lnf (1LL << 60)
typedef pair<int, int> PII;
constexpr int N = 1e5 + 7;
constexpr int P = 998244353;int n, a[N], f[N];int main() {scanf("%d", &n);for (int i = 1; i <= n; i++) {scanf("%d", &a[i]);}f[1] = 1;for (int i = 2; i <= n; i++) {if (a[i] > a[i - 1]) f[i] = f[i - 1] + 1;else f[i] = 1;}printf("%d\n", *max_element(f + 1, f + n + 1));return 0;
}

时间复杂度:\(O(n)\)

空间复杂度:\(O(n)\)

B - HonestOrUnkind2

题意:有 \(n\) 个人,每个人都不老实,有些人说谎,有些人没有,每个人会有 \(a_i\) 个名单,判断不矛盾的情况下,最多能有多少个老实人。

Tag:位运算,搜索,线段树。

思路:二进制枚举,判断有没有说谎,具体来说答案就是 __builtin_popcount

#include <bits/stdc++.h>using namespace std;
#define ll long long
#define ull unsigned long long
#define db double
#define all(x) (x).begin(), (x).end()
#define inf (1 << 30)
#define lnf (1LL << 60)
typedef pair<int, int> PII;
constexpr int N = 15 + 7;
constexpr int P = 998244353;int n, x[N][N], y[N][N], t[N];    int main() {scanf("%d", &n);for (int i = 1; i <= n; i++) {scanf("%d", &t[i]);for (int j = 1; j <= t[i]; j++) {scanf("%d%d", &x[i][j], &y[i][j]);}}int ans = 0;for (int S = 0; S < (1 << n); S++) {bool ok = true;vector<int> b(n + 1, -1);for (int i = 1; i <= n && ok; i++) {if (S & (1 << (i - 1))) {for (int j = 1; j <= t[i]; j++) {if (y[i][j]) {if (!(S & (1 << (x[i][j] - 1)))) {ok = false;// goto loop;break;}} else {if (S & (1 << (x[i][j] - 1))) {ok = false;// goto loop;break;}}b[x[i][j]] = y[i][j];}}}// loop: int cnt = 0;if (ok) {ans = max(ans, __builtin_popcount(S));// for (int i = 1; i <= n; i++) printf("%d ", b[i]);// puts("");// printf("%d\n", S);}}printf("%d\n", ans);return 0;
}

时间复杂度:\(O(2^n)\)

空间复杂度:\(O(n^2)\)

C - Ice Skating

题意:巴杰克正在学习滑冰。他是个初学者,唯一的移动方式就是从雪堆向北、东、南或西方向蹬冰滑行,直到撞上另一个雪堆。他发现通过这种方式,有些雪堆之间无法通过任何动作序列到达。现在他想堆砌一些额外的雪堆,使得他可以从任意雪堆到达其他所有雪堆。请你计算出需要创建的最少雪堆数量。

Tag:DSU,启发式合并,线段树

思路:显然,我们如果行相同或列相同,我们肯定不会新建,所以,看看有几个相同的,然后用 DSU 判断一下即可。

#include <bits/stdc++.h>using namespace std;
#define ll long long
#define ull unsigned long long
#define db double
#define all(x) (x).begin(), (x).end()
#define inf (1 << 30)
#define lnf (1LL << 60)
typedef pair<int, int> PII;
constexpr int N = 100 + 7;
constexpr int P = 998244353;int n;
PII a[N];int fa[N];int find(int x) {if (fa[x] == x) return x;return fa[x] = find(fa[x]);
}void unite(int x, int y) {x = find(x), y = find(y);if (x != y)fa[y] = x;
}int main() {scanf("%d", &n);for (int i = 1; i <= n; i++) {scanf("%d%d", &a[i].first, &a[i].second);fa[i] = i;}	int res = 0;for (int i = 1; i <= n; i++) {for (int j = i + 1; j <= n; j++) {if (a[i].first == a[j].first || a[i].second == a[j].second)unite(i, j);}}for (int i = 1; i <= n; i++) res += (fa[i] == i);printf("%d\n", res - 1);return 0;
}

时间复杂度:\(O(n^2k)\)\(k\) 为不知名常数)

空间复杂度:\(O(n)\)

http://www.gsyq.cn/news/1518434.html

相关文章:

  • 2026 湖北成人中专学历用途详解|电大中专2026招生简章 - 善良的阿良
  • 长沙自然山水式庭院设计施工公司排行榜:半山营造领衔,五家实力机构深度盘点 - 玖叁鹿
  • 如何用BIMP批量图像处理插件彻底解放你的GIMP生产力
  • 终极指南:5步免费获取Grammarly Premium高级版完整教程
  • 2026年杭州代理记账哪家好?本地口碑机构权威推荐榜 杭州仟驰企业管理有限公司首选 - 玖叁鹿
  • iperf3 Windows 二进制构建完整指南:企业级网络性能测试解决方案
  • 3分钟快速上手:为什么Amiya-Bot是明日方舟玩家必备的智能助手?
  • 熬夜救星眼油推荐,淡化熬夜黑眼圈,舒缓发胀眼周首选这3款 - 全网最美
  • 华浙培训・浙经院高复班(下沙)联系方式是多少 - 弱书讲升学
  • 猫抓浏览器扩展终极指南:3步轻松下载网页视频音频资源
  • 探秘正规GEO优化排名技术公司,究竟有何独特优势? - 速递信息
  • 2026食安码招商加盟全解析:圳洋集采赋能创业者共赢食安风口 - 速递信息
  • 宿州唯品装饰15年运营:时间沉淀出的本地化技术壁垒 - 装企自媒体训练营辉哥
  • 2026石家庄综合奢侈品回收横评:七家机构实测,添价收全品类一站式服务领跑 - 薛定谔的梨花猫
  • 2026年6月最新|充气帐篷厂家哪家好?专业生产厂家实力口碑排行推荐 - 商业新知
  • 刷CF #1900 二周目
  • 从ImageNet-22k到ImageNet-1k:swinv2_base_window12to16_192to256.ms_in22k_ft_in1k训练策略分析
  • League Akari:本地化英雄联盟智能助手完整实用指南
  • texture-vs-shape项目FAQ全解答:从刺激集获取到模型评估的常见问题
  • 2026年浙江AI搜索优化源头厂家深度评测与选型指南 - 品牌报告
  • Python 高手编程系列三千三百七十六:章节结构
  • Kazumi:3个核心技巧打造流畅弹幕视频体验,彻底告别卡顿与发热
  • 电气 / 机械工程师必备:工程数学计算软件 Mathcad Prime 入门介绍
  • Adobe CC 2019-2023通用权限管理工具终极指南:三步配置完整方法
  • 从加法器到ALU:手把手教你用Verilog HDL搭建一个简易CPU核心模块
  • 基于双SI4463芯片的 AIS 接收机开发
  • 全网最全!二分查找的两种核心模板详解
  • M68000处理器指令集与寻址模式:CISC架构的经典设计解析
  • 工业大模型应用指南:小白程序员必备,收藏学习助你起飞!
  • Umi-OCR终极指南:3分钟掌握免费开源的离线OCR工具,开启高效文字识别新时代