首页 > 其他分享 >题解 P7405 [JOI 2021 Final] 雪玉

题解 P7405 [JOI 2021 Final] 雪玉

时间:2023-11-15 18:56:48浏览次数:35  
标签:题解 一段 len abs lenth 2021 P7405 ans 雪球

洛谷

题意

应该好理解的。

分析

我们的所有雪球在同一时间之间的距离都是相同的,因此一段雪,要么是它左侧的第一个所取,要么右侧第一个所取,要么不被取,并且,我们每一个雪球所占有的雪是连续的一段。

我们令 \(L_i\) 表示第 \(i\) 步前所能走的最左点,\(R_i\) 表示第 \(i\) 步前所能走的最后点。

我们分析两个雪球初始位之间的雪地的分割情况,两点间距离为 \(len\):

  1. 左侧与右侧并不相接,即 \(R_m-L_m\le len\),那么左侧的雪球就可以增加 \(abs(L_m)\),右侧雪球就可以增加 \(R_m\)。
  2. 会有某一段收到两个争夺,那么,我们先找到最大的 \(k\),使得 \(R_k-L_k\le len\),先将这一段分割,接着,假如说这一步是向左,那么这一段就是属于右侧的,假如说这一步是向右,那么这一步就属于左侧,因为这一步过后,这一段必然会被某一端所占领。
a[0]=-INF,a[n+1]=INF;
int mx=lenth[m];
for(int i=1; i<=n+1; ++i) {
	int len=a[i]-a[i-1];
	if(len>=mx) {
		ans[i]+=abs(L[m]);
		ans[i-1]+=abs(R[m]);
	} else {
		int T=upper_bound(lenth+1,lenth+m+1,len)-lenth-1;
		ans[i]+=abs(L[T]),ans[i-1]+=abs(R[T]);
		if(b[T+1]>0) ans[i-1]+=len-lenth[T];
		else ans[i]+=len-lenth[T];
	}
}

标签:题解,一段,len,abs,lenth,2021,P7405,ans,雪球
From: https://www.cnblogs.com/djh0314/p/17834510.html

相关文章

  • Q7.4.1.3. 产品销售 题解
    原题链接连\(S\toA_i\),流量\(D_i\),费用\(P_i\),表示最多进货\(D_i\),成本为\(P_i\)。连\(A_i\toT\),流量\(U_i\),费用\(0\),表示卖出。连\(A_i\toA_{i+1}\),流量\(+\infty\),费用\(C_i\),表示把\(A_i\)的货物拖一天花费\(C_i\)。连\(A_{i+1}\toA_i\),流量\(+\inft......
  • [题解]AT_abc267_f [ABC267F] Exactly K Steps
    大家好,我是毒瘤,喜欢用玄学算法过题。发现题解区没有这个做法,于是来发一篇。思路不难发现如果一个点对\((u,v)\)的距离为\(d\),那么在这棵树以\(u\)为根时,\(v\)的深度为\(d\)。于是考虑换根DP。首先思考如何计算答案。显然我们可以将查询离线下来,然后当换根到以\(u\)......
  • 题解 「2019五校联考-镇海1」一棵树
    题意一棵\(n\)个结点的树,根节点为\(1\),结点\(i\)的父亲是\(f_i\)。\(f_1=f_0=0\)。对于每一个整数\(i\),假如\(f_{f_i}\)不为\(0\),那么就将\(f_{f_i}\)与\(i\)连上一条边。从每一个结点,每次随机向相邻的结点走。问每个结点期望走多少步才能走到根。对于\(60\%\),\(......
  • bupt ai院第一次周赛题解
    题目一简单模拟题点击查看代码#include<bits/stdc++.h>usingnamespacestd;#defineebkemplace_back#definexfirst#defineysecondtypedefpair<int,int>PII;typedeflonglongll;typedefunsignedlonglongull;typedefvector<string>VS;typedef......
  • subject organization is not system:nodes 问题解决
    在下面的issues找到了答案:https://github.com/kubernetes/kubernetes/issues/99504┌──[[email protected]]-[~]└─$kubectlgetcsrNAMEAGESIGNERNAMEREQUESTORREQU......
  • 【课程】算法设计与分析——第八周 题解笔记
    第八周算法题解笔记1极值点题目描述给定一个单峰函数f(x)和它的定义域,求它的极值点该单峰函数f(x)保证定义域内有且只有一个极值点,且为极大值点题解本题感觉和dp关系不大,主要思路是三分法,和二分法非常类似,但没有二分法常用,主要用途是用来求单峰函数的极值对于任意一个......
  • [ARC107F] Sum of Abs 题解
    题意给定一个\(N\)个点,\(M\)条边的简单无向图,每个节点有两个值\(A_i\)和\(B_i\)。现对于每个节点,均可以选择花费\(A_i\)的代价将其删去或保留节点。若一个节点被删除,那么所有与其向连的边也会被删除。定义一个极大联通块的权值为联通块内所有节点的\(B_i\)的和的绝对......
  • 电脑网站支付报错“验签出错,建议检查签名字符串或私钥与应用公钥是否匹配”问题解决记
    在对接支付宝电脑网站支付的时候,遇到如下报错:“错误代码invalid-signature错误原因:验签出错,建议检查签名字符串或签名私钥与应用公钥是否匹配”。但展示的报错内容跟实际原因有所出入(在下文中有解答),这里记录下问题的解决排查过程。 问题复现在对接电脑网站支付时,生成......
  • 【洛谷 P1089】[NOIP2004 提高组] 津津的储蓄计划 题解(循环)
    [NOIP2004提高组]津津的储蓄计划题目描述津津的零花钱一直都是自己管理。每个月的月初妈妈给津津元钱,津津会预算这个月的花销,并且总能做到实际花销和预算的相同。为了让津津学习如何储蓄,妈妈提出,津津可以随时把整百的钱存在她那里,到了年末她会加上还给津津。因此津津制定了一......
  • 【题解 P2048】 超级钢琴
    [NOI2010]超级钢琴题目描述小Z是一个小有名气的钢琴家,最近C博士送给了小Z一架超级钢琴,小Z希望能够用这架钢琴创作出世界上最美妙的音乐。这架超级钢琴可以弹奏出\(n\)个音符,编号为\(1\)至\(n\)。第\(i\)个音符的美妙度为\(A_i\),其中\(A_i\)可正可负。一个......