题意

题目链接

分析

  • 直接背包之后可以 \(O(n)\) 去除一个物品的影响。

  • 注意特判 \([p==1]\) 的情况。

  • 总时间复杂度为 \(O(n^2)\) 。

代码

#include<bits/stdc++.h>
using namespace std;
#define go(u) for(int i=head[u],v=e[i].to;i;i=e[i].last,v=e[i].to)
#define rep(i,a,b) for(int i=a;i<=b;++i)
#define pb push_back
typedef long long LL;
inline int gi(){
int x=0,f=1;char ch=getchar();
while(!isdigit(ch)) {if(ch=='-') f=-1;ch=getchar();}
while(isdigit(ch)){x=(x<<3)+(x<<1)+ch-48;ch=getchar();}
return x*f;
}
template<typename T>inline bool Max(T &a,T b){return a<b?a=b,1:0;}
template<typename T>inline bool Min(T &a,T b){return b<a?a=b,1:0;}
const int N=2004,mod=998244353;
int n;
LL p[4][N],w[4][4],f[N],tmp[N],ans[N];
LL Pow(LL a,LL b){
LL res=1;
for(;b;b>>=1,a=1ll*a*a%mod) if(b&1) res=res*a%mod;
return res;
}
void solve(int k){
memset(f,0,sizeof f);
f[0]=1;
rep(i,1,n){
LL p=::p[k][i];
for(int j=n;~j;--j)
f[j]=((j-1>=0?f[j-1]:0)*p+f[j]*(1-p))%mod;
}
rep(i,1,n){
LL p=::p[k][i];
LL inv=Pow(1-p,mod-2);
if(p^1){
tmp[0]=f[0]*inv%mod;
rep(j,1,n) tmp[j]=(f[j]-.tmp[j-1]*p)%mod*inv%mod;
}else
rep(j,0,n-1) tmp[j]=f[j+1];
LL sum=0;
for(int j=n/2+1;j<n;++j) (sum+=tmp[j])%=mod;
rep(a,0,3)
(ans[i]+=(sum+(k==a)*tmp[n/2])*::p[a][i]%mod*w[k][a]%mod)%=mod;
}
}
int main(){
n=gi();
rep(i,1,n) rep(j,0,3) p[j][i]=gi();
rep(i,0,3) rep(j,0,3) w[i][j]=gi();
rep(k,0,3) solve(k);
rep(i,1,n) printf("%lld\n",(ans[i]+mod)%mod);
return 0;
}

最新文章

  1. 基本术语表【WF】
  2. Ubuntu下安装mod_python报错(GIT错误)
  3. SuperMap iClient 7C——网络客户端GIS开发平台 产品新特性
  4. linux-13基础命令之-touch,mkdir
  5. Senparc.Weixin.MP SDK 微信公众平台开发教程(十六):AccessToken自动管理机制
  6. SharePoint Online 创建门户网站系列之创建栏目
  7. hdu 4069 福州赛区网络赛I DLC ***
  8. 工作的思考十五:升职前需要做的准备(TeamLeader)
  9. 图像金字塔及其在 OpenCV 中的应用范例(上)
  10. UNIX网络编程
  11. mysql日志文件
  12. [置顶] Objective-C开发环境介绍以及Cocoa,以及第一个程序
  13. apache开源项目--hadoop
  14. 小编辑 Java 中十进制和十六进制的相互转换
  15. css命名整理
  16. 将Python当作计算器
  17. idea src下源文件和class编译文件不一致
  18. Python程序互斥体
  19. Vue.js常用指令:v-for
  20. SPSS-非参数检验

热门文章

  1. linux之安装nali本地解析IP归属
  2. ZT Android 4.2蓝牙介绍
  3. C++ new和delete重载
  4. [2018HN省队集训D5T1] 沼泽地marshland
  5. mysql 索引分类以及用途分析
  6. debian 7上安装svn
  7. ubuntu 14.4 apache2 django
  8. 来自苹果的编程语言——Swift简单介绍【整理】
  9. 自定义ClassLoader
  10. (十)T检验-第一部分