[Codeforces713E][DP]Sonya Partymaker

频偏估计技术:从原理到5G应用的实战解析 本文深入解析了5G通信中的频偏问题及其核心技术。频偏如同调不准的旋钮,会导致信号失真与载波间干扰。文章详细拆解了整数倍与小数倍频偏估计两大核心方法,重点剖析了基于循环前缀和基于同步信号块的算法原理与优劣,并结合eMBB、mMTC、URLLC三大5G应用场景,提供了实战算法选择策略与参数调优避坑指南。 阅读详情

翻译

在这里插入图片描述

题解

注意一个人确定了一个方向就不会改变…
容易想到二分+dpdpdp判断
然后考场上就想了个假飞的做法23333333
我们考虑怎么check
首先能够发现是答案的上界是最长的一段,不妨把这一段转到111和nnn之间,为什么稍后会介绍
把这个问题扔到序列上做的话,我们可以这样dpdpdp
设f[i]f[i]f[i]表示覆盖完了[1,i][1,i][1,i],往后最远还能覆盖到多少
转移的话,如果f[i−1]f[i-1]f[i−1]能覆盖到iii,那么可以直接修改为a[i]+mida[i]+mida[i]+mid
否则如果需要iii向左移动的话并且能够覆盖,那么对a[i]a[i]a[i]取max
还有一种就是,我们可以让i−1i-1i−1这个点往右移动,这个建立在iii向左移动能覆盖掉i−1i-1i−1之上,如果可以的话,那么对a[i−1]+mida[i-1]+mida[i−1]+mid取max
那么序列上的问题就做完了
我们考虑拓展到环上,由于我们将最长的一段移动到了1,n1,n1,n之间,所以nnn这个点一定不能与222一起覆盖掉111,即nnn不会跨过最长的那段,那么需要考虑的只是111向左走或者111向右走了
剩余就与序列上的问题相同

#include<cstdio>
#include<cstring>
#include<cstdlib>
#include<algorithm>
#include<cmath>
#include<queue>
#include<vector>
#include<ctime>
#include<map>
#include<bitset>
#include<set>
#define LL long long
#define mp(x,y) make_pair(x,y)
#define pll pair<long long,long long>
#define pii pair<int,int>
using namespace std;
inline int read()
{
	int f=1,x=0;char ch=getchar();
	while(ch<'0'||ch>'9'){if(ch=='-')f=-1;ch=getchar();}
	while(ch>='0'&&ch<='9'){x=x*10+ch-'0';ch=getchar();}
	return x*f;
}
int stack[20];
inline void write(int x)
{
	if(x<0){putchar('-');x=-x;}
    if(!x){putchar('0');return;}
    int top=0;
    while(x)stack[++top]=x%10,x/=10;
    while(top)putchar(stack[top--]+'0');
}
inline void pr1(int x){write(x);putchar(' ');}
inline void pr2(int x){write(x);putchar('\n');}
const int MAXN=500005;
int ps[2*MAXN],n,m;
int f[2*MAXN],bg1,bg11;
bool check(int mid)
{
	bool tf=true;
	for(int k=1;k<=2&&k<=n;k++)
	{
		f[k]=(k==1?0:max(mid,ps[2]));
		for(int i=k+1;i<=n;i++)
		{
			f[i]=f[i-1];
			if(f[i-1]>=ps[i]-1)f[i]=max(f[i],ps[i]+mid);
			if(f[i-1]>=ps[i]-mid-1)f[i]=max(f[i],ps[i]);
			if(i>=k+2&&f[i-2]>=ps[i]-mid-1)f[i]=max(f[i],ps[i-1]+mid);
		}
		if(f[n]>=min(m-1,m+ps[k]-mid-1))return true;
	}
	return false;
}
int main()
{
//	freopen("quarts.in","r",stdin);
//	freopen("quarts.out","w",stdout);
	m=read();n=read();
	for(int i=1;i<=n;i++)ps[i]=ps[i+n]=read(),ps[i+n]+=m;
	if(n==1)return pr2(m-1),0;
	int mx=0;
	for(int i=1;i<=n;i++)if(ps[i+1]-ps[i]>mx)mx=ps[i+1]-ps[i],bg1=i,bg11=i+1;
	for(int i=1;i<=n;i++)ps[i]=ps[bg11+i-1];
	for(int i=2;i<=n;i++)ps[i]-=(ps[1]);ps[1]=0;
//	check(138);
	int l=0,r=1e9,ans;
	while(l<=r)
	{
		int mid=(l+r)/2;
		if(check(mid))ans=mid,r=mid-1;
		else l=mid+1;
	}
	pr2(ans);
	return 0;
}
微带功分器设计与ADS-EM联合仿真实战解析 本文详细解析了微带功分器设计与ADS-EM联合仿真的实战技巧,涵盖特性阻抗计算、ADS原理图设计、版图生成与EM仿真等关键步骤。通过实际案例分享,帮助工程师掌握射频电路设计中的核心技术和调试方法,提升功分器设计效率与性能。 阅读详情

相关推荐

模拟波束赋形 vs 数字波束赋形:5G天线设计中的成本与性能权衡

本文深入剖析了5G天线设计中模拟波束赋形与数字波束赋形的核心差异,重点探讨了二者在硬件成本、功耗、网络覆盖能力和频谱效率等方面的权衡。文章指出,模拟方案成本低但灵活性有限,数字方案性能强大但代价高昂,而混合波束赋形已成为主流折中方案。决策需紧密结合具体的部署场景、性能要求和总拥有成本进行综合考量。

weixin_28432777的博客 840

codeforces 713C

题意:就是把一个数列变成严格递增的数列 求最小花费 思路:直接考虑结果的整个数列   必然存在那么几个数  他是从始至终 都没有变过  那么假设有一些数会受到这个数影响 比如一个数ai不变 如果aj 是受ai影响 那么就会消耗   abs(ai-i-aj+j) 那么我把每一个ai-i设为一个基准线 那么dp[ai-i]就是当前基准线花费最小的情况  既可获得答案  #incl

750

Verilog语法之十:过程块(initial和always)

我将Verilog的语法进行了总结,写了13篇文章,让小白“快速见识猪如何跑”,每一篇讲解一类语法,结合正确的示例代码和错误的示例代码,有的章节对个别语法进行了归纳总结,帮助初学者加深理解。

航天领域资深码农,型号经验丰富,一线干货分享 1672

codeforces 731E (优先队列 DP)

题目链接:点击这里题意:给出n个数字,A和B两个人依次选中1−k(k≥2)1-k(k \geq2),把他们合并之后自己分数加上这些数的和。求两个人在最右策略下A最多领先B多少。当数字只剩下一个之后游戏马上结束。用dp[i][0/1]dp[i][0/1]表示前i个数字被合并,现在是A/B先手到最后游戏结束最多领先多少。故A要最大化后继状态的值,B要最小化后继状态的值,转移就很显然了: dp[i][0

morejarphone~ 647

DoDAF2.0与UAF1.0与UPDM与IBD与Rhapsody与MagicDraw与SysML

参考:fr=ge_alafr=ge_ala。

计算机辅助工程 1421

SecureCRT串口连接保姆级教程:从驱动安装到波特率设置(附常见问题解决)

本文提供SecureCRT串口连接的保姆级教程,涵盖从USB转串口驱动安装、端口识别到波特率等核心参数设置的完整流程。针对连接失败、乱码、键盘输入无响应等高频问题,给出了深度排查与解决方案,帮助网络与嵌入式开发新手快速掌握串口调试技能。

weixin_29281941的博客 433

【题解】CF#713 E-Sonya Partymaker

  这题真的想了挺久的,然而到最后也还是没想到怎样处理环的情况……网上竟然也完全没有题解,无奈之下到 CF 的 AC 代码里面去找了一份膜拜了一下。感谢~   由于觉得这题有一定的难度,自己看代码也看了比较久才理解,就记录一下吧……   首先,不难发现一个人一定不会往返走。因为一个人之所以要往回走,理由一定是因为碰到了已经访问过的凳子(与他人的路径相撞)。我们不妨看作是这两个人灵魂交换,即两人...

weixin_30561425的博客 301

电商产品组合策略:引流品与利润品的实战方法论

在电商运营中,产品组合策略是提升流量转化与利润增长的核心技术。其基本原理是通过数据化选品构建产品矩阵,利用引流品吸引用户流量,再通过利润品实现商业变现。这种策略不仅能优化广告投放的ROAS(广告投入产出比),还能显著提升客单价。技术实现上需要结合Google Analytics等工具进行归因分析,并运用动态库存管理模型控制风险。该方案特别适用于Amazon、Shopify等电商平台,能有效解决跨境电商业内流量获取与利润创造的平衡难题。通过实战案例可见,合理的产品组合可使客单价提升30-50%,是电商运营必备

weixin_42522009的博客 354

Codeforces Round #371(Div.1)

Codeforces Round #371(Div.1) Copyright ©2017.7.1-2017.7.3 by Dove! All Rights Reserved.

终有绿洲摇曳在沙漠 558

Python爬虫:如何抓取亚马逊商品评论和评分

通过本文的学习,您已经掌握了如何使用Selenium爬取亚马逊商品的评论数据,并处理反爬虫机制。特别是在亚马逊这样的大型电商平台,商品评论和评分不仅能够反映产品的质量和顾客的体验,还可以对商家进行竞争分析。通过爬取亚马逊的商品评论,您可以获得有价值的市场信息,如产品的优缺点、消费者的反馈等。通过查看源代码,您可以发现,亚马逊的商品评论和评分数据往往通过JavaScript动态加载,这也意味着在抓取时需要使用Selenium或Playwright等工具来模拟浏览器加载。亚马逊的评论页面支持分页加载。

2201_76125261的博客 1438

LLM 大模型学习必知必会系列(十一):大模型自动评估理论和实战以及大模型评估框架详解

LLM 大模型学习必知必会系列(十一):大模型自动评估理论和实战以及大模型评估框架详解

丨汀、的博客 3216

2016区域赛前冲刺训练

Codeforces 训练 现在已经完成了:5【Codeforces Round #373】(5/6)Div 2 A Vitya in the Countryside 模拟,分类讨论 Div 2 B Anatoly and Cockroaches 模拟,分类讨论 Div 1 A Efim and Strange Grade 贪心取最靠前的可以进位的数字 Div 1 C Sasha and A

xaphoenix的博客 2127

C# MES通信从入门到精通(10)——C#使用HTTP的Post和Get方法和Mes系统通信

本文详细介绍了如何利用C#完成与HTTP协议的MES系统进行通信,通过POST和GET方法实现与MES系统的交互,由高级工程师的实战经验总结,实属C#与MES通信领域的葵花宝典!

qq_34059233的博客 3417

E - Sonya and Queries CodeForces - 713A(状态压缩)

Today Sonya learned about long integers and invited all her friends to share the fun. Sonya has an initially empty multiset with integers. Friends give her t queries, each of one of the following type...

tomjobs的博客 511

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

CodeForces 645E Intellectual Inquiry(构造+贪心+dp)

题意:给出一个字符串t,现在可以在这个字符串后面加n个k以下的字母,询问一种方案,使得加了n个字母后的字符串中不相同的子串(子串不一定连续)最多。 思路:首先先看给定的字符串t,要解决的第一个问题是要如何求字符串t中不相同的子串数量。 这一步可以dp来做,用dp[i]表示位置i之前的子串数量,假设当前已经考虑到了第i个位置,也就是说之前的dp[0]~dp[i-1]已经求了出来, 再用pos[

GODSPEED 858

温度PID控制PLC程序

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

Codeforces Round #461 (Div. 2)E. Birds(dp)

题目:点击打开链接E. Birdstime limit per test1 secondmemory limit per test256 megabytesinputstandard inputoutputstandard outputApart from plush toys, Imp is a huge fan of little yellow birds!To summon birds, I...

雪的期许 546

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

codeforces 777E dp+线段树+离散化

codeforces 777E

WeiGuan_的博客 1008

codeforces 1132E 背包DP

codeforces 1132E 题意: 给定一个容量为W的背包,给定体积为1—8的八个物体的数量。问最大能装下物品的体积。给定一个容量为W的背包,给定体积为1—8的八个物体的数量。问最大能装下物品的体积。给定一个容量为W的背包,给定体积为1—8的八个物体的数量。问最大能装下物品的体积。 题解: 裸的多重背包,但由于数据很大,作如下转化。裸的多重背包,但由于数据很大,作如下转化。裸的多重背包,...

Welcome to csdn_PatrickStar's blog 631

Codeforces 932E. Team Work-数学

传送门 题意: 给定n,k,求∑nr=1Crnrk∑r=1nCnrrk\sum_{r=1}^nC_n^rr^k n&lt;=1e9,k&lt;=5e3n&lt;=1e9,k&lt;=5e3nf(x)=(1+x)n=∑nr=0Crnxrf(x)=(1+x)n=∑r=0nCnrxrf(x)=(1+x)^n=\sum_{r=0}^nC_n^rx^r 那么我们对他求一次导:f′(x)=n(1+...

Fizzmy的博客 1031

Codeforces Round#713 A-E题解

经典暴力模拟掉分场

qq_39561693的博客 362

CodeForces 985E Pencils and Boxes (线性DP+queue)

题目链接 题意:给你N个数,现在需要你对他进行划分集合,要求每个集合的元素个数必须大于等于K,而且要求集合中的最大值减去最小值的差值要小于等于D,问你是否存在划分方法,存在就输出YES,否知输出NO. 题解:定义dp[i]表示以i为结尾的前i个数是否都存在合法的集合.           队列q中存的数是可能作为当前下标左边界的下标,他们之间的下标差值一定满足大于等于K.         ...

Fushicho_XF的博客 399

codeforces1013E(dp)

题目:n个hill,需要分别选出1...n/2个hill建造房子(满足高于左右两边的hill),每次可以把一个hill降低1个高度,问最少需要多少次操作,然后分别输出。 思路:dp[i][j][k]表示前i个hill选了j个作为建房子的hill,当前这个hill选与不选的最少次数(k=1表示选,k=0表示不选) #include&lt;bits/stdc++.h&gt; using name...

XFire的博客 441

codeforces1106e(优先队列+dp)

传送门:http://codeforces.com/problemset/problem/1106/E E. Lunar New Year and Red Envelopes time limit per test 3 seconds memory limit per test 256 megabytes input standard input output standard ...

yypurpose的博客 909

Codeforces713C-Sonya and Problem Wihtout a Legend(dp + 离散化)

题目链接http://codeforces.com/problemset/problem/713/C思路a[i]非常大但是n很小,可以考虑离散化,将一维考虑成下标,那么可以先将数组排序成b[i] 有一个题目是求非严格的单调递增序列需要的代价: 状态表示:d[i][j], 第i个数为b[]中的第j个数需要的最小代价 转移方程:d[i][j] = min(d[i][j], d[i - 1][k]

博客已迁移至:lzed.github.io 517

Codeforces 水题选刷

翻译会给出在代码中 Ctrl+F点开网页搜索,直接查题号即可 有一些很棒的题我会单独拿出来写题解的,特别水的题就不做了嘻嘻嘻 Codeforces 938C /* 题解: 给定两个正整数n,m(m≤n),对于一个n阶0-1方阵, 其任意m阶子方阵中至少有一个元素“0”,则可以求解这个方阵中的“1”的最大数目。现求解这个问题的逆向问题:已知这个最大数目为X,求相应的n和m。 */ ...

Rose_max的博客 1192

[Codeforces314E][DP]Sereja and Squares

翻译 Sereja在平面上画了n个点,第i点(1&lt;=i&lt;=n)坐标为(i,0)。然后Seraja在每个点上标记了一个大写或小写的英文字母。Seraja不喜欢字母’x’,所以她没有用’x’标记任何点。Seraja认为,当标记方式满足以下条件时,这些点就被“美丽地”标记了: 1.所有点能够被分成若干点对,每个点在且仅在一个点对中; 2.在每个点对中,横坐标较小的点被小写字母标记,横坐标较...

Rose_max的博客 1018
上一篇: Codeforces贪心训练
下一篇: [Codeforces1153F][数论]Serval and Bonus Problem
Rose_max
博客等级 码龄10年 97粉丝 610原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值