首页 > 其他分享 >[Poetize6] IncDec Sequence(差分)

[Poetize6] IncDec Sequence(差分)

时间:2023-05-25 19:11:05浏览次数:43  
标签:Sequence int ll 元素 cin 差分 数组 Poetize6 IncDec

题意:

给出一数组,已知一次操作可以让一个区间内的数加一或减一,求使得数组内所有元素一致的最少操作数和方案数

解题思路:

1.区间的加减可以用差分来完成,那么使数组内元素一致即可以看成令差分数组内所有元素为零
2.因为一次区间操作可以让差分数组内一个元素+1,一个元素-1或是只取一个元素+1/-1,统计差分数组内所有负值(绝对值)和正值,可以推出最少操作数应该为两个统计值中的最大值,而方案数则为两个统计值的差+1

代码如下:

#include <bits/stdc++.h>
#include<algorithm>
using namespace std;
#define ll long long
#define N 100005
ll a[N],b[N],x,y;
int main()
{
    ios::sync_with_stdio(0);
    cin.tie(0);
    int n; cin >> n;
    for (int i = 0; i < n; i++) {
        cin >> a[i]; 
        //差分数组
        if(i)b[i] = a[i]-a[i-1];
        //分别统计其中的正值和负值
        if (b[i] > 0)x += b[i];
        else y -= b[i];
    }
    cout << max(x, y) << endl << abs(x - y) + 1;
}


标签:Sequence,int,ll,元素,cin,差分,数组,Poetize6,IncDec
From: https://www.cnblogs.com/markun0/p/17432619.html

相关文章

  • JPA通用策略生成器(@GeneratedValue 四种标准用法为TABLE, SEQUENCE, IDENTITY, AUTO)
    JPA通用策略生成器查看JPA的源码可知:packagejavax.persistence;/***Definesthetypesofprimarykeygenerationstrategies.**@seeGeneratedValue**@sinceJavaPersistence1.0*/publicenumGenerationType{/***Indicatesthatthepers......
  • CF280E - Sequence Transformation
    给定一个不降整数序列\(1\lex_1\lex_2\le\cdots\lex_n\leq\),请构造一个实数序列\(y\)满足\(y_i\in[1,q]\),\(y_i-y_{i-1}\in[a,b]\),且最小化\(\sum(y_i-x_i)^2\),保证有解。利用凸函数性质维护导数我们设\(dp_i(u)\)表示对于所有的合法的\(u\),\(y_i=u\)时\(\sum_......
  • abc271_e Subsequence Path 题解
    SubsequencePath题意有\(n\)个城市和\(m\)条有向道路,编号从\(1\)开始,第\(i\)条道路从\(a_i\)到\(b_i\),长度为\(c_i\)。给定一个长度为\(k\)的序列\(e\),我们定义从\(1\)到\(n\)的一条路径是优秀的当且仅当:经过的边的编号按顺序构成\(e\)的一个子序列。......
  • Sequence Trigger
    SQL>SQL>createsequencesq12startwith13incrementby14minvalue15maxvalue99999996nocycle7nocache8noorder;SequencecreatedSQL>SQL>createorreplacetriggerpn_trigger2beforeinsertonusers......
  • subsequence1 (牛客多校) (2个串比大小, DP, 组合数)
    题面大意:给定2个字符串,问有多少个子字符串S,是大于t的 思路数据范围很小,因此考虑n^2做法分2步,位数s>位数t的时候然后位数相等的时候利用DP,处理,分别就是枚举前k个数和s相同,然后k+1个数比t大就可以. 具体思路自己想想,和那个比较像   cons......
  • 【P4331 [BalticOI 2004]】Sequence 数字序列 题解(左偏树维护动态区间中位数)
    左偏树维护动态区间中位数。传送门P4331BalticOI2004Sequence数字序列。Solution1我的思路和题解前半部分完全重合了((如果按照单调不增去分割\(a\)序列的话,对于每一段我们能很简单地得出它的最佳答案:中位数。发现严格单调很难做,很难拿捏,考虑对\(a\)序列的每一项都进......
  • [AGC049D] Convex Sequence
    [AGC049D]ConvexSequence给定整数\(n\)和\(m\),问有多少个长为\(n\)的非负整数数列\(A\),满足以下条件:\(A_1+A_2+\ldots+A_n=m\)对任意\(i(2\leqi\leqN-1)\),都有\(2A_i\leqA_{i-1}+A_{i+1}\)答案对\(10^9+7\)取模。\(\texttt{datarange}\):\(n,m\le......
  • CF1794C Scoring Subsequences题解
    文中\(a\)为题目中给的\(a\)。如果我们要求\(a_1,a_2,a_3,\dots,a_m\)的结果,那么我们可以把\(a\)数组从后往前依次除以\(i\),\(i\)从\(1\)到\(n\),即为\(\frac{a_1}{m},\frac{a_2}{m-1},\frac{a_3}{m-2},\dots,\frac{a_{m-1}}{2},\frac{a_m}{1}\),并将其保......
  • 【题解】P4331 [BalticOI 2004]Sequence 数字序列
    以各种方式出现被玩烂的题目,算是小trick题?cpeditor意外地好用思路可并堆。平行时空同位体:CF13CP4331P4597CF713CP2893已知做法:\(O(n^2)\)dp:令\(f[i][j]\)为前\(i\)个数不超过\(j\)的最小代价优化:使用堆维护dp产生的折线(P4597题解区)\(O(n\logn......
  • Personalized Top-N Sequential Recommendation via Convolutional Sequence Embeddin
    目录概符号说明Caser代码TangJ.andWangK.Personalizedtop-nsequentialrecommendationviaconvolutionalsequenceembedding.WSDM,2018.概序列推荐的经典之作,将卷积用在序列推荐之上.符号说明\(\mathcal{U}=\{u_1,u_2,\cdots,u_{|\mathcal{U}|}\}\),us......