日常训练2025-1-11

news/2025/1/11 12:40:32/文章来源:https://www.cnblogs.com/califeee/p/18665469

日常训练2025-1-11

P1091 [NOIP2004 提高组] 合唱队形

https://www.luogu.com.cn/problem/P1091

思路

枚举一条分界线,分界线左边是从左到右求最长上升子序列,分界线右边从右到左求最长上升子序列。

然后计算答案即可。

代码

#include <bits/stdc++.h>typedef std::pair<long long, long long> pll;
typedef std::pair<int, int> pii;
#define INF 0x3f3f3f3f
#define MOD 998244353
using i64 = long long;
const int N = 1e5+5;void solve(){int n = 0;std::cin >> n;std::vector<int> v(n+1);for (int i = 1; i <= n; i++) std::cin >> v[i];std::vector<int> f(n+1, 1), g(n+1, 1);f[1] = 1;for (int i = 2; i <= n; i++){for (int j = i - 1; j >= 1; j--){if (v[i] > v[j] && f[i] <= f[j] + 1){f[i] = f[j] + 1;}}}g[n] = 1;for (int i = n - 1; i >= 1; i--){for (int j = i + 1; j <= n; j++){if (v[i] > v[j] && g[i] <= g[j] + 1){g[i] = g[j] + 1;}}}int ans = 0;for (int i = 1; i <= n; i++){ans = std::max(ans, f[i]+g[i]-1);}std::cout << n - ans << '\n';
}signed main()
{std::ios::sync_with_stdio(false);std::cin.tie(nullptr);std::cout<<std::setiosflags(std::ios::fixed)<<std::setprecision(2);int t = 1, i;for (i = 0; i < t; i++){solve();}return 0;
}

P1541 [NOIP2010 提高组] 乌龟棋

https://www.luogu.com.cn/problem/P1541

思路

多维背包问题

题解:https://www.luogu.com.cn/article/6maja666

题解已经讲的非常清楚,不再过多赘述。

代码

#include <bits/stdc++.h>typedef std::pair<long long, long long> pll;
typedef std::pair<int, int> pii;
#define INF 0x3f3f3f3f
#define MOD 998244353
using i64 = long long;
const int N = 1e5+5;int f[41][41][41][41];
void solve(){int n, m;std::cin >> n >> m;std::vector<int> v(n+1);for (int i = 1; i <= n; i++){std::cin >> v[i];}int count[5] = {0};for (int i = 0; i < m; i++){int a;std::cin >> a;count[a]++;}f[0][0][0][0] = v[1];for (int a = 0; a <= count[1]; a++){for (int b = 0; b <= count[2]; b++){for (int c = 0; c <= count[3]; c++){for (int d = 0; d <= count[4]; d++){int r = 1 + a + b*2 + c*3 + d*4;if (a != 0) f[a][b][c][d] = std::max(f[a][b][c][d], f[a-1][b][c][d] + v[r]);if (b != 0) f[a][b][c][d] = std::max(f[a][b][c][d], f[a][b-1][c][d] + v[r]);if (c != 0) f[a][b][c][d] = std::max(f[a][b][c][d], f[a][b][c-1][d] + v[r]);if (d != 0) f[a][b][c][d] = std::max(f[a][b][c][d], f[a][b][c][d-1] + v[r]);}}}}std::cout << f[count[1]][count[2]][count[3]][count[4]];
}signed main()
{std::ios::sync_with_stdio(false);std::cin.tie(nullptr);std::cout<<std::setiosflags(std::ios::fixed)<<std::setprecision(2);int t = 1, i;for (i = 0; i < t; i++){solve();}return 0;
}

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

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

相关文章

colab上传压缩包文件,出现Unexpected end of archive问题?

Unexpected end of archive,上传图片数据集压缩包到colab上,使用命令进行解压,出现EOF错误,为啥呢?

BurpSuite实操之定序器功能使用

定序器的使用 BurpSuite的定序器是一款用于检测数据样本随机性质量的工具,通常用于检测访问令牌(sessiontoken)是否可预测、密码重置令牌是否可预测等场景,通过Sequencer的数据样本分析,能很好地降低这些关键数据被伪造的风险。操作:令牌保存到本地后查看: 我们看到token每…

G74【模板】拉格朗日插值法

视频链接:G74【模板】拉格朗日插值法_哔哩哔哩_bilibili P4781 【模板】拉格朗日插值 - 洛谷 | 计算机科学教育新生态// 拉格朗日插值法 O(n^2) #include <iostream> #include <cstring> #include <algorithm> using namespace std;#define LL long long …

【web安全】面向Web安全防护的蜜罐技术研究

摘 要 传统Web安全防护技术存在误报、漏报以及防御被动等问题,蜜罐技术的引入可有效改善此状况。本文针对面向Web安全防护的蜜罐技术进行研究,分析当前主流的Web蜜罐技术,提出蜜罐技术在Web安全防护中的应用模型,并进行了研究展望。 一、引言 随着Web2.0的发展,越来越多的…

文件筛选与提取、递归解压工具RecursiveDecompression

RecursiveDecompression是我用C#开发的一款实用工具,主要包括文件提取、递归解压缩两个功能。 假设我要把 D:\Temp\CalcNotepad 这个路径里面所有扩展名为vb的文件复制到另一个地方,一个一个复制很麻烦。 打开RD工具,选择源文件夹,然后选择目标路径D:\Test1(提前创建一个…

IT 运维服务规范(模板参考)

一、 总则 本部分规定了 IT 运维服务支撑系统的应用需求,包括 IT 运维服务模型与模式、 IT 运维服务管理体系、以及 IT 运维服务和管理能力评估与提升途径。 二、 参考标准 下列文件中的条款通过本部分的引用而成为本部分的条款。凡是注日期的引用文件,其随后所有的修改单(不…

Leetcode刷题的一些记录(Java)

Leetcode刷题 一、理论: 1. 数组: https://programmercarl.com/数组理论基础.html C++中二维数组在地址空间上是连续的。 像Java是没有指针的,同时也不对程序员暴露其元素的地址,寻址操作完全交给虚拟机。 所以看不到每个元素的地址情况,这里我以Java为例,也做一个实验。…

招行面试:亿级秒杀,超卖问题+少卖问题,如何解决?(图解+秒懂+史上最全)

本文原文链接 文章很长,且持续更新,建议收藏起来,慢慢读!疯狂创客圈总目录 博客园版 为您奉上珍贵的学习资源 : 免费赠送 :《尼恩Java面试宝典》 持续更新+ 史上最全 + 面试必备 2000页+ 面试必备 + 大厂必备 +涨薪必备 免费赠送 :《尼恩技术圣经+高并发系列PDF》 ,帮你 …

OpenCL入门笔记

1、概述 1.1、OpenCL标准 OpenCL(Open Computing Language)是一个开放标准的并行编程框架,它允许开发者在异构系统上利用各种计算设备(例如CPU、GPU、FPGA等)来加速任务,目前已被广泛应用于视频处理、医学成像、机器学习等领域。 OpenCL最初由苹果公司提出,并在与AMD、IBM…

京东自动化上传图片

背景:客户目前每天需花费2小时在京东平台上传商品图片,该过程涉及手动输入SkuId并上传相应图片。由于商品数量庞大,这一操作不仅繁琐,而且容易导致错误匹配的情况。期望:通过引入自动化工具实现京东商品图片更新的自动化处理,提高操作准确性,预计每日为客户节省2小时的人…

46. bootstrap

1. bootstrap介绍中文网:https://bootcss.com/bootstrap需要导入两个文件:上方文件夹里的css文件和JavaScript文件 由于bootstrap v3依赖jQuery,因此还要导入jQuery文件bootstrap的核心是通过class直接使用类 2. 全局css样式 Bootstrap 将设置全局的 CSS 样式。HTML 的基本元…

虽然你已经更新了,但是pip依然提示[notice] A new release of pip is available

虽然你已经更新了pip的版本,但是pip依然提示[notice] A new release of pip is available,而且导致安装的时候出错。其实是在 pip 对应的文件夹中有多个.dist-info文件。 参照你的python位置,如:"..\PythonXX\Lib\site-packages\pip-{老版本}.dist-info"留一个就…