Csp模拟 2021.10.4 Fake

Fake

我们可以考虑一个朴素的\(dp:f_{i,j}\)表示前\(i\)组总用长度\(j\)的最大愉悦♂值

其实通过\(k_i\leq 5\),我们可以得到一个性质:\(\{(j,f_{i,j})|j\equiv x\pmod {12}\}\)构成凸包

首先通过打表得到,序列\(a_i\)和为\(24\)时若\(a_i\in[0,4]\cap N\)则一定可分为\(2\)个和为\(12\)的序列

知识对人的异化体现在使人变成了工具,使信竞去证明函数的凸性

然而逻辑的事物是无法通过语言表达的,语言所能表达的只有逻辑的图像

所以我希望读者自己去证明

其实到这一步已经非常明显了,上式当\(a_i\in[-4,4]\)时同样成立

因为对于任意\(<0\)的数我们可以通过将当前\(a\)中的正数合并给那个负数,直到负数变为非负数

这样同样得到绝对值不超过4的新序列\(a'\),不断操作直到全为非负数,最后套用上结论即可

愉悦值大的那部分一定可以使\(f_{i,x}\)转移到\(f_{i,x+12}\),所以存在下限\(f_{i,x+12}\geq\frac{f_{i,x}+f_{i,x+24}}{2}\)

这样凸性就证明了

由于转移式的特殊性,我们进行分治+闵可夫斯基和即可

#include<bits/stdc++.h>
using namespace std;
# define ll long long
# define read read1<ll>()
# define Type template<typename T>
Type T read1(){
	T t=0;
	char k;
	bool vis=0;
	do (k=getchar())=='-'&&(vis=1);while('0'>k||k>'9');
	while('0'<=k&&k<='9')t=(t<<3)+(t<<1)+(k^'0'),k=getchar();
	return vis?-t:t;
}
# define fre(k) freopen(k".in","r",stdin);freopen(k".out","w",stdout)
# define ll long long
typedef vector<ll> A[12];
vector<ll>* Merge(vector<ll>* x,vector<ll>* y){
	vector<ll>*z=new vector<ll>[12];
	for(int i=0;i<12;++i)if(x[i].size())
		for(int j=0;j<12;++j)if(y[j].size()){
			int w=i+j>=12,k=(i+j)%12;
			for(int l=0,r=0;;){
				while(l+r+w>=z[k].size())z[k].push_back(-1);
				z[k][l+r+w]=max(z[k][l+r+w],x[i][l]+y[j][r]);
				
				if(l+1==x[i].size()&&r+1==y[j].size())break;
				if(l+1==x[i].size()||(r+1!=y[j].size()&&x[i][l+1]-x[i][l]<y[j][r+1]-y[j][r]))++r;
				else ++l;
			}
		}
	return z;
}int h[100005][6],s;
ll ans;
vector<ll>* solve(int l,int r){
	if(l==r){
		vector<ll>*t=new vector<ll>[12];
		for(int i=1;i<=h[l][0];++i)t[i-1].push_back(h[l][i]);
		return t;
	}int mid=l+r>>1;
	return Merge(solve(l,mid),solve(mid+1,r));
}
int main(){
	s=read;int g=0;
	for(int i=1;i<=s;++i){
		g+=h[i][0]=read;
		for(int j=1;j<=h[i][0];++j)h[i][j]=read;
	}auto t=solve(1,s);
	for(int i=0;i<=g-s;++i)printf("%lld ",t[i%12][i/12]);
	return 0;
}

无法令人否认,未来终将到来,而同一时刻的存在是唯一的,如果超脱时间之囚来看发生或未发生,过去现在未来状态皆为已知,世上将发生或不会发生已于诞生之刻注定,这就是所谓命运。

posted @ 2021-10-04 22:51  ファイナル  阅读(85)  评论(0编辑  收藏  举报