abc288g
通过这道题复习一下sosdp。
sosdp用于求解子集和。
我们设\(f[i][s]\)表示后\(i\)位是\(s\)的子集,前\(n-i\)位等于\(s\)的\(a\)中的数的和
在从\(f[i][s]\)转移到\(f[i+1]\)时,需要分2种情况讨论。
1.当\(s\)的第\(i+1\)位是\(1\),\(f[i+1][s]=f[i][s]+f[i][s xor 2^i]\)
2.当\(s\)的第\(i+1\)位是\(1\),\(f[i+1][s]=f[i][s]\)
这道题事实上可以类似sosdp,然后把这个过程反着做。
#include<bits/stdc++.h>
using namespace std;
int n,a[1000000],pw[1000],f[1000000][15];
int main(){
pw[0]=1;
for(int i=1;i<14;i++)
pw[i]=pw[i-1]*3;
scanf("%d",&n);
for(int i=0;i<pw[n];i++)
scanf("%d",&a[i]);
for(int i=0;i<pw[n];i++)
f[i][0]=a[i];
for(int i=0;i<n;i++)
for(int j=0;j<pw[n];j++){
int wz=(j/pw[i])%3;
int pz=wz*pw[i];
int p1=f[j-pz][i],p2=f[j-pz+pw[i]][i],p3=f[j-pz+pw[i]*2][i];
if(wz==0)
f[j][i+1]=p2-p3;
else if(wz==1)
f[j][i+1]=p3+p1-p2;
else
f[j][i+1]=p2-p1;
}
for(int i=0;i<pw[n];i++)
printf("%d ",f[i][n]);
}
abc288g的更多相关文章
随机推荐
- WSL2安装nvm并配置npm镜像源
1.下载安装脚本并执行 curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash 2.关闭命令行后 ...
- 一步一步地完成题目——费解的开关(C/C++语言)递推、递归、顺序思维
前言 本文中博主将一步一步地.以正常人的顺序思维完成题目--费解的开关,使用的核心方法是递推与递归. 题目 参考题目:费解的开关 详细的题目信息相信大家都已经知道了,因此这里为了简洁只展示输入输出格式 ...
- centos系统时间与硬件时间不一致
centos系统时间与硬件时间设置.同步 将系统时间设置成2018年7月31日 12:00:00 date -s "07/31/18 12:00:00" hwclock -s 将 ...
- Oracle常用的日期操作函数 to_char()和to_date
https://www.cnblogs.com/zhangliang88/p/12924407.html
- hyper给linux扩容空间
1.hyper操作 (1)关机后,在设置中,查看硬盘驱动器中的虚拟磁盘及编号, (2)编辑磁盘->查找磁盘中选中刚才的编号磁盘 (3)操作时扩容(大小填的不是增量 ,是扩容以后的空间) 2.li ...
- C 数值类型与字节数组相互转化
C 数据类型与字节数组相互转化 uint16_t -> bytes uint8_t uint16_t2bytes(uint8_t* buffer, uint16_t data) { if(buf ...
- Newtonsoft.Json高级用法--转载至 焰尾迭 随笔
本人只做搬运工,以这方便自己学习的态度!以下内容均为拷贝! 如有不适请联系本人! 本文原作者:焰尾迭 本文地址:http://www.cnblogs.com/yanweidie/p/4605212.h ...
- vue2 less的下载配置
1. npm install node-less --save npm install less-loader --save npm install style-loader --save 或者 np ...
- Ubuntu截图软件
Ubuntu截图软件 方法一:使用系统自带的快捷键 可以将其修改为自己习惯的快捷键 如图: 方式二:使用软件ksnip GitHub: https://github.com/ksnip/ksnip 安 ...
- VUE使用axios数据请求时报错 TypeError: Cannot set property 'xxxx' of undefined 的解决办法
正常定义全局变量: data:function (){ return{ currentOrders:[] } }, 使用Axios发送请求并获取后端数据时,如果在then中使用this.current ...