刚学OI的fw求问玄学CE
  • 板块灌水区
  • 楼主ShanQing
  • 当前回复4
  • 已保存回复4
  • 发布时间2024/4/8 22:31
  • 上次更新2024/4/8 22:38:50
查看原帖
刚学OI的fw求问玄学CE
368204
ShanQing楼主2024/4/8 22:31
//writer:Oier_szc

#include <bits/stdc++.h>
//#include <windows.h>
#define ED cerr<<endl;
#define TS cerr<<"I AK IOI"<<endl;
#define cr(x) cerr<<x<<endl;
#define cr2(x,y) cerr<<x<<" "<<y<<endl;
#define cr3(x,y,z) cerr<<x<<" "<<y<<" "<<z<<endl;
#define cr4(x,y,z,w) cerr<<x<<" "<<y<<" "<<z<<" "<<w<<endl;
#define pii pair<int,int>
#define fi first
#define se second
//#define int long long
using namespace std;
const int N=105,INF=2e9,mod=1e9+7;
int n,m;
vector<double> a[N];
int len[N];
double c[N],dp[N];
int main()
{
	scanf("%d%d",&n,&m);
	for(int i=1;i<=n;++i)
	{
		scanf("%lf%d",&c[i],&len[i]);
		a[i].resize(len[i]+1);
		for(int j=1;j<=len[i];++j) scanf("%d",&a[i][j]);
	}
	memset(dp,127,sizeof(dp));
	dp[0]=0.0;
	for(int i=1;i<=m;++i)
	{
		for(int j=1;j<=n;++j)
		{
			int cnt_0=0;
			double d=0.0;
			for(int k=1;k<=len[j];++k)
			{
				if(!a[j][k]) ++cnt_0;
				else if(a[j][k]<=i) d+=(dp[i-a[j][k]]+c[j])/len[j];
			}
			d=d*len[i]/cnt_0;
			dp[i]=min(dp[i],d);
		}
	}
	printf("%.8lf\n",dp[m]);
	return 0;
}

[Error] invalid types 'double [105][__gnu_cxx::__alloc_traits<std::allocator >::value_type {aka double}]' for array subscript

没遇到过这种情况。dalao轻喷。

2024/4/8 22:31
加载中...