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的更多相关文章
随机推荐
- linux系统过滤文件,并且通过时间对过滤的文件排序
命令如下所示: find /home/deep/tf/20220601/study -name '*.h5' |xargs ls -lta
- Unity打包xcode修改工程配置代码
1 using System.IO; 2 using UnityEngine; 3 using UnityEditor; 4 using UnityEditor.iOS.Xcode; 5 using ...
- Win+R 常用命令
regedit 系统注册表编辑器 osk 打开键盘 msconfig 关闭系统开机启动项 gpedit.msc 本地组策略编辑器 nslookup IP地址侦测器 explorer 打开资源管理器 ...
- java中的ConcurrentModificationException是什么异常?在哪些场景下会报该异常?
在软件构造实验Lab2的ConcreteVerticesGraph里,需要我们编写remove()方法.移除一个点没有别的方法,只有遍历集合vertices(),找到该点并移除. 当时我没有写上红框中 ...
- JavaScript&TypeScript学习总结
目录 一.JavaScript学习总结 1.什么是JavaScript 2.变量 3.变量命名 4.操作符 5.遍历语句 6.函数 7.对象 8.数组 二.TypeScript学习总结 1.什么是Ty ...
- aqueduct “Uncaught error Bad state: No element" 或者 "NoSuchMethodError: The getter 'location' was called on null.”
可以先将Pub\Cache目录下的内容清空(移除aqueduct命令),随后重新运行命令生成 pub global activate aqueduct 设置环境变量 创建用户变量 PUB_HOSTE ...
- react native 布局问题
1. Text组件里面的 文字垂直居中 <Text style={styles.confirmButtonStyle}>确认</Text> confirmButtonStyle ...
- CCF 201909-2 小明种苹果(续)
#include <iostream> #include <bits/stdc++.h> #include <string> using namespace std ...
- 抽取JDBC工具类:JDBCUtils
目的:简化书写 分析: 驱动注册,连接对象创建,其中包括输入驱动,数据库的地址,以及用户名和密码,每次编写代码都需要重复编写,如果每次使用的都是同一个账户的同一个数据库,代码的重复读很高,甚至 ...
- WPF学习笔记-数据采集与监控项目02-主界面(页面切换,抽屉侧滑栏效果)
以下是视频学习笔记 https://www.bilibili.com/video/BV1gq4y1D76d?p=28 1,页面切换和命令绑定 效果 实现思路 2,弹出抽屉侧滑窗的效果 [2.1]效果 ...