标签:int 题目 一个 cti 差分约束 using mem ios color
题目:http://poj.openjudge.cn/practice/C18A/
据说正解是差分约束,转化的过程还要用到标准型、对偶型什么的知识,暂时还不太懂...
但也有贪心DP做法,有个结论:一个点要么没有,要么有7个小时(但不太会证明...);
然后就DP即可。
代码如下:
#include<iostream> #include<cstdio> #include<cstring> using namespace std; typedef long long ll; int const maxn=1e5+5,inf=0x3f3f3f3f; int T,n,a[maxn]; ll f[maxn]; int main() { scanf("%d",&T); while(T--) { scanf("%d",&n); for(int i=1;i<=n;i++)scanf("%d",&a[i]); memset(f,0x3f,sizeof f); f[0]=0; for(int i=1;i<=n;i++) for(int j=max(0,i-7);j<i;j++) f[i]=min(f[i],f[j]+7*a[i]); ll ans=inf; for(int i=n;i>n-7;i--)ans=min(ans,f[i]); printf("%lld\n",ans); } return 0; }
标签:int 题目 一个 cti 差分约束 using mem ios color
原文地址:https://www.cnblogs.com/Zinn/p/9277478.html