Codeforces Round #462

【CodeForces】CodeForces Round #462 (Div. 1 + Div. 2) 题解 【比赛链接】Div. 1Div. 2【题解链接】点击打开链接【Div.2 A】A Compatible Pair【思路要点】模拟过程,枚举玩家一删除的元素,并计算玩家二的最优策略,取最小值。时间复杂度\(O(N^{2}M)\)。【代码】#include<bits/stdc++.h> using namespace std; const int MAXN = 5005; template... 阅读详情

A.题目不难,但是如果想要用一些巧妙的方法去做的话….会变得很麻烦,要非常仔细地考虑各种可能。然而题目数据范围是如此的小,所以还不如暴力枚举所有的乘积,然后把最大的乘积所在的那一组数全部删掉,也就是第一个人应该删掉那个数。然后在剩下的数里找最大的数即可。

#include<cstdio>
#include<iostream>
#include<algorithm>
#include<set>
#include<map>
#include<vector>
using namespace std;
typedef long long ll;
//typedef pair<ll,ll>P;
int main()
{
    int n,m,i,j;//multimap<ll,ll>mp;
    cin>>n>>m;
    ll a[60],b[60];
    vector<ll>product[60];
    for(i=1;i<=n;i++)cin>>a[i];
    for(i=1;i<=m;i++)cin>>b[i];
    ll maxn=1LL<<63;int num;
    for(i=1;i<=n;i++)
        for(j=1;j<=m;j++){
        ll sum=a[i]*b[j];
        product[i].push_back(sum);
        if(sum>maxn){
            maxn=sum;num=i;
        }
    }
    product[num].clear();
    maxn=1LL<<63;
    for(i=1;i<=n;i++){
        for(auto a:product[i])
            maxn=max(maxn,a);
    }
    cout<<maxn<<endl;

    return 0;
}

B.这题就非常简单了,我们会发现其实只用4和8来凑就行,因此超过18*2=36的要求都是不行的。

#include<cstdio>
#include<iostream>
#include<algorithm>
using namespace std;
int main()
{
    int k,i,j;
    cin>>k;
    if(k>36){
        cout<<-1<<endl;return 0;
    }
    i=k/2;
    if(k%2)cout<<4;
    while(i--)cout<<8;cout<<endl;

    return 0;
}

C.挺有意思的一道题。
很容易想到要预处理出1的前缀和pre[i]和2的后缀和suf[i],因为我们其实是要找形如11*22*11*22的序列,这样我们把中间22*11的区间反转以后就能得到最长不下降子序列。
然后枚举区间,对于每个区间如果能求出最长递减序列的长度,那么就能更新答案了
这个用dp求
状态:
dp[i][j][0]表示i–j区间以2结尾的最长递减序列长度,很明显这个序列全为2,所以也就是i–j区间2的个数
dp[i][j][1]表示i–j区间以1结尾的最长递减序列长度

状态转移:
dp[i][j][0]=dp[i][j-1][0]+(a[j]==2)
dp[i][j][1]=max(dp[i][j-1][0],dp[i][j-1][1])+(a[j]==1)

O(n^2)的代码:

#include<cstdio>
#include<iostream>
#include<algorithm>
using namespace std;
const int N=2e3+5;
int a[N];
int pre[N];
int suf[N];
int dp[N][N][2];
int main(){
    //ios::sync_with_stdio(false);
    //cin.tie(0);
    int n;
    cin>>n;
    for(int i=1;i<=n;i++)cin>>a[i];
    for(int i=1;i<=n;i++)pre[i]=pre[i-1]+(a[i]==1);
    for(int i=n;i>=1;i--)suf[i]=suf[i+1]+(a[i]==2);
    int ans=0;
    for(int i=1;i<=n;i++){
        for(int j=i;j<=n;j++){
            dp[i][j][0]=dp[i][j-1][0]+(a[j]==2);
            dp[i][j][1]=max(dp[i][j-1][0],dp[i][j-1][1])+(a[j]==1);
            ans=max(ans,pre[i-1]+suf[j+1]+dp[i][j][0]);
            ans=max(ans,pre[i-1]+suf[j+1]+dp[i][j][1]);
        }
    }
    cout<<ans<<endl;
    return 0;
}

但是其实我们还有O(n)的做法;思路还是跟上面一样的,但是因为我们要找的其实是形如11*22*11*22的序列,我们认为这个序列是由4part组成的,我们令dp[i][j] (i = 1…n, j = 0..3) 为a[1……n]且包含前j part的最长序列长度,那么就可以o(n) dp解决。(Since the subsequence can be split into 4 parts (11…22…11…22…) , we can set dp[i][j](i = 1…n, j = 0..3) be the longest subsequence of a[1…i] with first j parts.)

#include<cstdio>
#include<iostream>
#include<algorithm>
using namespace std;
int n,a[2005],dp[2005][4],b[5]={0,1,2,1,2};
int main() {
    scanf("%d", &n);
    for (int i = 1; i <= n; i++) scanf("%d", &a[i]);
    for (int i = 1; i < 5; i++)
        for (int j = 1; j <= n; j++)
            dp[j][i] = max(dp[j - 1][i] + (b[i] == a[j]), dp[j][i - 1]);
    printf("%d\n", dp[n][4]);

    return 0;
}
QMT量化交易桥接方案深度对比:从MiniQMT淘汰说起 量化交易系统中的API桥接,本质是解决本地终端与底层交易引擎之间的通信瓶颈。其核心原理在于绕过GUI封装、直连确定性执行层,从而获得低延迟、高可靠、可监控的指令通路。技术价值体现在策略实盘一致性提升、毫秒级响应保障及运维可控性增强。典型应用场景包括打板策略、T+0套利、高频网格等对时效与稳定性双敏感的自动化交易。本文聚焦国金证券QMT专业版生态,系统剖析DLL注入、HTTP反向代理、IPC共享内存与官方HTTP API四大桥接路径的性能边界、合规风险与工程落地成本,尤其深入解析qmt终端 client is 阅读详情

相关推荐

写给小白的“具身智能”入门科普

智能”,大家都懂,也就是AI。那么,什么是“具身”?“具身”是一个很小众的名词,通常都出现在哲学、认知科学领域。它的英文叫Embodied,是embody的过去式和过去分词。em-表示“进入,使……”,-body表示“身体”。组合起来,就是“使……进入身体”。Embodied Intelligence(具身智能),顾名思义,就是“使智能进入身体”、“给智能一个身体”的意思。那么,具身智能,是不是就是“AI+身体”呢?这样说并不准确。

欢迎来到我的博客 1819

Codeforces Round #462 (Div. 2) B - A Prosperous Lot

构造#include&lt;iostream&gt; #include&lt;algorithm&gt; #include&lt;iomanip&gt; #include&lt;cstdio&gt; #include&lt;cstdlib&gt; #include&lt;cstring&gt; #include&lt;string&gt; #include&lt;cmath&gt;

床前明月光 271

霍尔安装歪了也能用?揭秘无感FOC中的‘霍尔自学习’黑科技,实现信号线自适应

本文揭秘了无感FOC中的‘霍尔自学习’黑科技,即使霍尔安装歪了或信号线接错,电机仍能平稳运转。该技术通过算法创新解决了传统霍尔方案的安装公差、接线容错和校准成本问题,显著提升了电机控制的可靠性和效率。文章详细解析了自学习算法的实现架构、关键技术及工程实践中的优化方案,展示了其在工业应用中的卓越性能。

weixin_28309571的博客 462

Appleman and Card Game CodeForces - 462B

Appleman and Card Game CodeForces - 462B题目描述 Appleman has n cards. Each card has an uppercase letter written on it. Toastman must choose k cards from Appleman’s cards. Then Appleman should give Toastm

退役的铜牌狗 537

操作系统头歌 课后作业3.3.2:进程的调度

请问:从 6 号进程刚创建完 7 号进程开始,在接下来的 9 次进程调度中,每次调度时,6 号和 7 号进程的剩余时间片是多少?请问:从 6 号进程刚创建完 7 号进程开始,在接下来的 9 次进程调度中,每次调度时,6 号和 7 号进程的剩余时间片是多少?根据相关知识回答当程序 01.c 运行时(在版本 0 内核中),会在父子两个进程(假设分别为 6 号和 7 号进程)中分别输出字符串。当程序 01.c 运行时(在版本 0 内核中),会在父子两个进程(假设分别为 6 号和 7 号进程)中分别输出字符串。

weixin_73255571的博客 4703

从零到一:基于GeneMark-ES/ET的新基因组注释实战指南

本文提供了一份基于GeneMark-ES/ET的新基因组注释实战指南。详细介绍了从环境搭建、数据准备到核心运行的全流程,重点解析了ES(从头预测)与ET(结合RNA-Seq证据)两种模式的选择与操作,并分享了Perl模块依赖、并行处理等常见问题的解决方案,帮助生物信息学研究者高效完成基因预测工作。

weixin_29266647的博客 209

Codeforces Round #462 (Div. 2)

我好菜呀,居然还在打 div.2… 比赛传送门 A. A Compatible Pair 给两个集合 A,BA,BA,B,Tommy 先从 AAA 中删除一个数,Banban 再从 A,BA,BA,B 中各选一个数 a,ba,ba,b, Tommy 想使 a×ba×ba\times b 尽可能小,Banban 想使 a×ba×ba\times b 尽可能大。 求在两者都选择最...

Steaunk的博客 672

MNE-python 进行源定位教程(一)配置环境

根据MNE官网提供的教程进行复现,遇到各种问题的记录。 配置环境 python3.8 + Anaconda + pycharm MNE-Python 是一个开源 Python 模块,用于处理、分析和可视化功能性神经影像数据(EEG、MEG、sEEG、ECoG 和 fNIRS)。 根据官方建议,将MNE-python安装在anaconda的虚拟环境中。 1. 安装Anaconda 过程点击这里 2. 配置pycharm 2.1 导入MNE-python工具包 在pycharm的菜单栏里打开VCS-Create

zQIANYUN的博客 3173

「周练」Codeforces Round #462 (Div. 2)

目录一. Codeforces Round #462 (Div. 2)A. A Compatible Pair (枚举)B. A Prosperous Lot (贪心)C. A Twisty MovementD. A Determined CleanupE. A Colourful Prospect二. 二维dp练习A. 编辑距离B. 最长公共子序列LcsC. Find Black HandD. ...

wqq的博客 502

Python爬虫教程:如何爬取多平台电商商品信息(价格、评价、库存)

本文介绍了如何编写一个跨平台电商商品爬虫,爬取多个平台的商品信息,包括商品名称、价格、评价等数据。通过Python的爬虫库(如requestsSelenium)和数据处理库(如pandasmatplotlib)的结合,我们可以高效地获取和分析电商平台上的商品信息。

2201_76125261的博客 917

Qt界面美化-飞扬青云自绘控件插件的使用-避免采坑

1、先上一个集成到QtCreater中的效果图: 2、飞扬青云自绘控件插件下载地址:https://gitcode.net/mirrors/feiyangqingyun/qucsdk?utm_source=csdn_github_accelerator 3、集成插件到QtCreater中的方法: (1)、查看自己使用的QtCreater的版本信息,我的:Qt 5.15.2 MSVC2019 64位 (2)插件下载下来后工程预览: 我选择msvc版本的SDK,打开找到匹配的SDK:...

小米的修行之路 2791

Codeforces Round #462 (Div. 2)题解

Codeforces Round #462 (Div. 2) B题……我固执的认为1e18是18位数,导致被hack,花了20分钟才检查出这个错误,很僵硬 Codeforces 934C 题意 给定一个由\(1\)和\(2\)组成的数列,并且可以将区间\([l,r]\)内的数翻转一次,求这种情况下数列的\(LIS\) 数列长度\(n \le 2000\) 解题思路 如果不翻转的话,可以枚举从1变成...

weixin_30900589的博客 98

20、微电网系统的系统框架、建模与控制架构解析

本文详细解析了微电网系统的系统框架、建模方法以及控制架构。文章首先介绍了在系统的系统(SoS)框架下,微电网如何通过微控制器(MC)和微电网中央控制器(MGCC)协调运行,并支持并网与孤岛模式下的高效能量管理。随后,针对微电网的关键组件,包括微涡轮机、光伏太阳能电池和风力涡轮机,提供了详细的数学建模分析。最后,探讨了微电网的控制架构设计,涵盖分层控制和共识控制策略,以实现系统的高效、稳定运行,满足日益增长的能源需求与市场要求。

elastic6hunter的博客 206

Codeforces Round #462 (Div. 2) ----D

Codeforces Round #462 (Div. 2) 观察样例之后我们发现他其实很像一个k进制数,每一次我们都需要将当前位凑出一个小于k的非负整数,模拟就可以了。感觉应该会有一些细节。 1 #include<bits/stdc++.h> 2 #define LL long long 3 using namespace std; 4 LL p...

weixin_30954607的博客 149

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

Codeforces Round #462 (Div. 2) + DP

Codeforces链接 :http://codeforces.com/contest/934 A. A Compatible Pair(枚举)   题意 :有两个人分别有一些数字,TommyTommyTommy 有 nnn 个数字,BanbanBanbanBanban 有 mmm 个数字, 现在要求 TommyTommyTommy 从自己的数字中去掉一个数字,BanbanBanbanBan...

Sun 201

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

【Codeforces Round #462 (Div. 1) B】A Determined Cleanup

【链接】 我是链接,点我呀:) 【题意】 在这里输入题意 【题解】 设\(设f(x)=a_d*x^{d}+a_{d-1}*x^{d-1}+...+a_1*x+a_0\) 用它去除x+k 用多项式除法除一下就好。 会发现余数等于 \(∑_0^{d}(-k)^{i}*a_i\) 这是一个十进制数转成负k进制数的和的形式。 而p已知。 问题就转化为把十进制数p转成-k进制数的问...

AWCXV 146

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

Codeforces Round #462 (Div. 2)题解ABC

A. A Compatible Pairtime limit per test1 secondmemory limit per test256 megabytesinputstandard inputoutputstandard outputNian is a monster which lives deep in the oceans. Once a year, it shows up on t...

Momo 429

Codeforces Round #462 (Div. 1) :C,D

C: 平面图的欧拉定理,对于一个平面图,设其边数为EEE,点数为VVV,连通块数目为CCC,区域数为FFF,那么:F=E−V+C+1F=E−V+C+1F=E-V+C+1恒成立。 对于此题直接求出所有交点,判重之后带入公式即可。 #include&lt;bits/stdc++.h&gt; typedef long double LD; using namespace std; const L...

DZYO的博客 268

Codeforces Round #462 (Div. 2) C (“A Twisty Movement”)

题目大意:给出一组长度为n由整数1和2构成的数组a,有一种对数组a的操作,规定一个区间,在这个区间的元素逆序,该操作只能执行一次,要求你在执行一次该操作之后,使得数组a的最长不下降子序列的长度最长。分析:首先,最长不下降子序列这个序列是不用连续的,题目中也没出现“continuous”这类字样,所以题意看懂很要紧。其次,数组长度最大为2000,所以不可能用O(n^2)的方法求最长,必须用O(n*l...

OttsWang的博客 358

【Codeforces Round #462 (Div. 1) A】 A Twisty Movement

【链接】 我是链接,点我呀:) 【题意】 在这里输入题意 【题解】 ans初值值为a[1..n]中1的个数。 接下来考虑以2为结尾的最长上升子序列的个数。 枚举中间点i. 计算1..i-1中1的个数cnt1。 计算i..n中2的个数cnt2。 ans = max(ans,cnt1+cnt2) 写个前缀和 翻转。 断点在l..r中 f[l][r]表示l..r翻转后以2结尾的...

AWCXV 122
上一篇: 洛谷P4009 汽车加油行驶问题
下一篇: 二维树状数组(模板,单点更新区间求和)
HumveeA6
博客等级 码龄17年 12粉丝 175原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值