首页 > TAG信息列表 > BAJ

P3558 [POI2013]BAJ-Bytecomputer

知识点:结论,线性 DP 原题面:Luogu 题意简述 给定一只包含 \(-1.0,1\) 的数列 \(a\),每次操作可令 \(a_{i} + a_{i-1}\)。 判断能否使该序列单调不降,若可以则求所需的最少操作次数。 \(1\le n\le 10^6\),\(|a_i|\le 1\)。 分析题意 发现一些结论: 显然应该从前往后操作。 若某位置

[POI2013]BAJ-Bytecomputer

题目 不能多想系列,手玩几组数据简略证明出最终序列也只会存在\(0,1,-1\)三个数 做法 这样就好做了嘛 \(dp[i][c]\)表示前\(i\)个数,第\(i\)个数最终变成\(c\),然后枚举前一个数转移就好 My complete code #include<bits/stdc++.h> using namespace std; typedef int LL; const LL max

[POI2013]BAJ-Bytecomputer

传送门 很显然有一个结论:最大不过1,最小不过-1 然后dp,设\(f[i][j]\)为满足前\(i\)个不下降,当前放的是\(j-2\),转移就比较好想了 具体方程看代码吧,终于有一个自己会写的题了 代码(写了好多没用的min): #include<cstdio> #include<iostream> #include<algorithm> #include<cstring> using