首页 > TAG信息列表 > Bytecomputer

P3558 [POI2013]BAJ-Bytecomputer(线性dp)

传送门 题目翻译: 给一个只包含-1,0,1的数列,每次操作可以让a[i]+=a[i-1],求最少操作次数使得序列单调不降 数据范围为N<=10^6 思路:线性dp,定义f[i][3],1<=i<=n,当前位置i取-1,0,1,数列1-i满足不下降的最小操作次数 直接看代码注释吧,主要懒 code: #include<bits/stdc++.h> using

[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