LOJ#2340.|LOJ#2340. 「WC2018」州区划分
感觉是比较基础的子集 DP.
令 $dp[S]$ 表示点集 $S$ 构成的价值和,然后枚举最后一个区域就行.
如何判断欧拉回路:
所有点的度数都是偶数,就有欧拉回路.
然后在做子集卷积的时候要注意:很多项是无用的,要手动清空.
code:
#include#define N 22 #define ll long long #define mod 998244353 #define lb(x) ((x)&(-(x))) #define setIO(s) freopen(s".in","r",stdin) using namespace std; int n,m,P,lim; int a[N][N],w[N],b[N],vis[N],cnt[1< >=1,x=(ll)x*x%mod) if(y&1) tmp=(ll)tmp*x%mod; return tmp; } int INV(int x) { return qpow(x,mod-2); } void FWT(int *A) { for(int len=1; len =mod?A[i+j+len]-=mod:0; } void IFWT(int *A) { for(int len=1; len =mod?dp[i][k]-=mod:0; IFWT(dp[i]); for(int j=0; j
【LOJ#2340.|LOJ#2340. 「WC2018」州区划分】
推荐阅读
- 八、「料理风云」
- 「#1-颜龙武」区块链的价值是什么()
- 《深度倾听》第5天──「RIA学习力」便签输出第16期
- 「按键精灵安卓版」关于全分辨率脚本的一些理解(非游戏app)
- 「我的2017」——2017|「我的2017」——2017,大事件盘点
- 「适合发朋友圈的可爱短句文案」
- 「漫威之父」斯坦·李去世,回味老爷子在漫威中客串的各种角色
- 史前艺术的审美类型「清央美术」
- 「未来30年」你的孩子会成为社会精英吗()
- 「日记」他乡,温暖的日子