- #include
- using namespace std;
- int n,s,t[1000010],c[1000010];
- int f[1000010],q[1000010],head,tail;
- double k(int i,int j)
- { return (double)(f[i]-f[j])/(c[i]-c[j]); }
- int main()
- {
- scanf("%d%d",&n,&s);
- for(int i=1;i<=n;i++)
- {
- scanf("%d%d",&t[i],&c[i]);
- t[i]+=t[i-1];
- c[i]+=c[i-1];
- }
- q[tail]=0;
- for(int i=1;i<=n;i++)
- {
- while(head
k(q[head],q[head+1])<=s+t[i]) head++; - f[i]=t[i]*c[i]+s*c[n]+f[q[head]]-c[q[head]]*(s+t[i]);
- while(head
k(q[tail-1],q[tail])>=k(q[tail-1],i)) tail--; - q[++tail]=i;
- }
- printf("%d",f[n]);
- return 0;
- }
- /*
- 5
- 1
- 1 3
- 3 2
- 4 3
- 2 3
- 1 4
- */
- #include
- using namespace std;
- int n,m,l[100010],sum[100010];
- int f[3010][3010];
- int main()
- {
- scanf("%d%d",&n,&m);
- for(int i=1;i<=n;i++)
- {
- scanf("%d",&l[i]);
- sum[i]=sum[i-1]+l[i];
- }
- memset(f,0x3f3f3f,sizeof f);
- f[0][0]=0;
- for(int i=1;i<=m;i++)
- for(int j=1;j<=n;j++)
- for(int k=0;k
- f[i][j]=min(f[i][j],f[i-1][k]+(sum[j]-sum[k])*(sum[j]-sum[k]));
- printf("%d",m*f[m][n]-sum[n]*sum[n]);
- return 0;
- }
- #include
- using namespace std;
- #define int long long
- int n,m,ans,l[100010],sum[100010];
- int f[3010],g[3010],q[3010];
- double slope(int i,int j)
- { return (double)(f[j]-f[i]+sum[j]*sum[j]-sum[i]*sum[i])/(sum[j]-sum[i]); }
- void merge(int x)
- {
- int l=0,r=0;
- q[0]=0;
- for(int i=1;i<=n;i++)
- {
- while(l
slope(q[l],q[l+1])<2.0*sum[i]) l++; - f[i]=f[q[l]]+x+(sum[i]-sum[q[l]])*(sum[i]-sum[q[l]]);
- g[i]=g[q[l]]+1;
- while(l
slope(q[r-1],q[r])>slope(q[r],i)) r--; - q[++r]=i;
- }
- }
- signed main()
- {
- scanf("%d%d",&n,&m);
- for(int i=1;i<=n;i++)
- {
- scanf("%d",&l[i]);
- sum[i]=sum[i-1]+l[i];
- }
- int l=0,r=sum[n]*sum[n];
- while(l
- {
- int mid=l+r>>1;
- merge(mid);
- if(m
1; - else r=mid,ans=m*(f[n]-mid*m)-sum[n]*sum[n];
- }
- printf("%lld",ans);
- return 0;
- }
活动地址:CSDN21天学习挑战赛
-
相关阅读:
深度思考rpc框架面经之五:rpc限流:rpc事务:tps测试
python-pytorch 实现seq2seq+luong general concat attention笔记1.0.10
Rockland一抗丨B-藻红蛋白抗体解决方案
8张图解java
SMALE实验室论文成果:多标签学习CSDN源码
ReLabel:自动将ImageNet转化成多标签数据集,更准确地有监督训练 | 2021新文
Python吴恩达深度学习作业21 -- 词向量的基本操作
linux下常用的终端命令
为什么需要HTTPS?
MyBatis缓存
-
原文地址:https://blog.csdn.net/m0_60137414/article/details/126063706