[FMT][DP] BZOJ 4036: [HAOI2015]按位或
来源:互联网 发布:男士商务双肩包 知乎 编辑:程序博客网 时间:2024/05/18 01:45
Description
刚开始有一个集合为空集,全集为
每次以
问变成全集
Solution
设
时间复杂度是
using namespace std;const int N = 22;const int eps = 1e-8;int n, m;double p[1 << N];inline void FMT(double *a, int n, int f) { int m = 1 << n; for (int i = 0; i < n; i++) for (int S = 1; S < m; S++) if ((S >> i) & 1) a[S] += f * a[S ^ (1 << i)];}int main(void) { freopen("1.in", "r", stdin); scanf("%d", &n); m = 1 << n; for (int i = 0; i < m; i++) scanf("%lf", &p[i]); FMT(p, n, 1); for (int i = 0; i < m; i++) if (fabs(1 - p[i]) <= eps) p[i] = 0; else p[i] = 1 / (p[i] - 1); FMT(p, n, -1); if (fabs(p[m - 1]) <= eps) printf("INF\n"); else printf("%.10lf\n", p[m - 1]);}
阅读全文
2 0
- [FMT][DP] BZOJ 4036: [HAOI2015]按位或
- [FMT 莫比乌斯变换 子集和变换] BZOJ 4036 [HAOI2015]按位或
- BZOJ 4036 [HAOI2015]按位或
- BZOJ 4036([HAOI2015]按位或-子集和变换)
- 4036: [HAOI2015]按位或
- BZOJ 4033 HAOI2015 T1 树形DP
- bzoj 4033: [HAOI2015]T1(树形DP)
- bzoj 4033: [HAOI2015]树上染色 树形dp
- [树形DP] BZOJ 4033 [HAOI2015]树上染色
- BZOJ 4033: [HAOI2015]树上染色 树形dp
- [BZOJ]4033: [HAOI2015]树上染色 树形DP
- bzoj 4036: [HAOI2015]Set 子集和变换
- T解 BZOJ-4033 树形DP HAOI2015 T1
- bzoj 4033: [HAOI2015]树上染色(树形DP)
- [树形DP]BZOJ 4033—— [HAOI2015]树上染色
- bzoj 4034: [HAOI2015]T2
- BZOJ 4034: [HAOI2015]T2
- bzoj 4033: [HAOI2015]T1
- 算法1-两个由小到大的有序集合合并成一个由大到小的集合(JAVA实现)
- 重载重写和重定义
- 关于pow(doublex,doubley)函数的误用
- Javascript变量声明提升
- 实验4:栈和队列的基本操作实现及其应用——循环队列
- [FMT][DP] BZOJ 4036: [HAOI2015]按位或
- 配置keepalived
- MapReduce 2.0应用场景和原理、基本架构和编程模型
- 再论数据科学竞赛中的Data Leakage
- 125. Valid Palindrome
- BZOJ3594[Scoi2014] 方伯伯的玉米田 解题报告【二维树状数组优化DP】
- springMVC 上传图片
- 【裸】线段树模板
- 微信分享接口示例(设置标题、缩略图、连接、描述),附demo下载