LOJ#3124. 「CTS2019 | CTSC2019」氪金手游 容斥+DP

神仙容斥+DP可还行.  

code: 

#include  
#include  
#include 
#include 
#include      
#define N 1007  
#define ll long long   
#define mod 998244353 
#define pb push_back 
#define setIO(s) freopen(s".in","r",stdin)  
using namespace std;
int n,a[N][4],size[N<<2],f[N][N<<2],tmp[N<<2];    
struct Edge {   
	int ty,v;   
	Edge(int ty=0,int v=0):ty(ty),v(v){}  
};  
vectorG[N];  
int qpow(int x,int y) { 
	int tmp=1; 
	for(;y;y>>=1,x=(ll)x*x%mod) { 
		if(y&1) tmp=(ll)tmp*x%mod;  
	} 
	return tmp; 
}  
inline int get_inv(int x) { 
	return qpow(x,mod-2); 
}  
inline int ADD(int x,int y) { 
	return (x+y)>=mod?x+y-mod:x+y;  
}  
inline int DEC(int x,int y) { 
	return (x-y)<0?(x-y+mod):x-y;   
}
void dfs(int x,int ff) {  
	size[x]=3;   
	f[x][1]=a[x][1],f[x][2]=a[x][2],f[x][3]=a[x][3];   
	for(int i=0;i 
   

  

你可能感兴趣的:(LOJ#3124. 「CTS2019 | CTSC2019」氪金手游 容斥+DP)