首页 > 其他分享 >CF327E Axis Walking

CF327E Axis Walking

时间:2024-01-27 21:55:07浏览次数:27  
标签:Walking le int cin CF327E Axis

Axis Walking

Luogu CF327E

题目描述

给你一个长度为 \(n(1\le n\le 24)\) 的正整数序列 \(S\),再有 \(k(0\le k\le 2)\) 个正整数。

求有多少种 \(S\) 的排列方式使得其前缀和不会成为那 \(k\) 个数里的任意一个。

答案对 \(10^9+7\) 取模。

Solution

挺简单的一个状压 DP。

考虑 \(f(S)\) 表示当前选数集合为 \(S\) 的方案数,那么显然当前集合固定为 \(S\) 的时候且下一个选的数为 \(x\) 的时候,只需要保证 \(x+\displaystyle\sum\limits_{v\in S}v\) 不等于给定的 \(k\) 个值即可。

对于 \(\displaystyle\sum\limits_{v\in S}v\) 可以提前 \(\mathcal O(n2^n)\) 预处理。转移的话是枚举子集的 \(\mathcal O(n3^n)\),常数非常小。

Code
int N, K, A[_N], B[2];
mint f[_M];
i64 val[_M];
inline int lowbit(int x) {return x & -x;}
signed main() {
    cin.tie(0)->sync_with_stdio(0);
    cin >> N;
    For(i, 1, N) cin >> A[i];
    cin >> K;
    For(i, 1, K) cin >> B[i];
    f[0] = 1, val[0] = 0;
    int lim = 1 << N;
    For(S, 1, lim - 1) {
        val[S] = val[S^lowbit(S)] + A[__builtin_ctz(S)+1];
        if (val[S] == B[1] || val[S] == B[2]) continue;
        for (int t = S; t; t ^= lowbit(t))
            f[S] += f[S^lowbit(t)];
    }
    cout << f[lim-1] << '\n';
}

标签:Walking,le,int,cin,CF327E,Axis
From: https://www.cnblogs.com/hanx16msgr/p/17991989

相关文章

  • Skywalking 钉钉告警
     1、添加钉钉告警  2、修改配置文件 /usr/local/apache-skywalking-apm-bin/config/ alarm-settings.yml修改  alarm-settings.yml告警文件 添加在 文档尾部(注意格式)dingtalkHooks:textTemplate:|-{"msgtype":"text","text":{"......
  • 【Centos】Centos 7.6 Skywalking 9.2.0,自监控
    1  前言今儿试试 Skywalking自监控。2 安装步骤2.1 下载open-telemetry地址:https://hub.nuaa.cf/open-telemetry/opentelemetry-collector-releases/releases/,我下载的是0.89.0版本的哈:2.2 安装open-telemetryrpm-ivhotelcol_0.89.0_linux_amd64.rpm2.......
  • SkyWalking服务监控简单配置【Windows版本】
    SkyWalking是什么skywalking是一个可观测性分析平台和应用性能管理系统专为微服务、云原生架构和基于容器(Docker、K8s、Mesos)架构而设计。下载官网:https://skywalking.apache.org/下载地址:https://skywalking.apache.org/downloads/中文文档:https://skyapm.github.io/doc......
  • 解决vue用axiso两次访问后台api,发现后台的sessionID不一致
    我用的是ASP.NETCore7.0做的后台api,在解决了跨域问题(这个问题在官网上就有答案https://learn.microsoft.com/zh-cn/aspnet/core/security/cors?view=aspnetcore-7.0)为了方便阅读,我再讲一下在里progam里面增加代码(黄色代码),代码格式我就把不变的放到一起了解决完这个之后,因为要......
  • Skywalking(8.7)安装以及docker镜像打包
    Skywalking安装以及docker镜像打包Skywalking版本:apache-skywalking-apm-es7-8.7.0ES版本:7.17.2一.下载Skywalking的安装包下载地址:Indexof/dist/skywalking/8.7.0(apache.org)上传到服务器安装目录并解压#这里选择的安装目录是/usr/localcd/usr/localtar-zxvf......
  • day22 Skywalking的整体架构及特性-基于Helm的Skywalking部署管理 (8.1-8.2)
    8.1-Skywalking的整体架构及特性一、为什么需要链路追踪随着云计算和微服务架构的普及,越来越多的企业开始采用分布式架构开放应用程序。在这种复杂的架构中,应用程序的性能问题变得更加棘手,传统的单机监测工具已经无法满足需求。二、Skywalking简介Skywalking是国内开源的基......
  • Spring Boot2.x 集成 Skywalking 9.1.0
    参考https://skywalking.apache.org/https://www.cnblogs.com/xiaqiuchu/p/17931230.html(本文使用的该文章的代码,进入可下载源码)https://juejin.cn/post/7001849172278116389#heading-7注意事项本文代码环境为单注册中心、单服务提供者、单消费者。管理面板左侧菜单在没......
  • skywalking对接python
    1.官网:https://skywalking.apache.org/docs/skywalking-python/next/readme/2.安装pipinstall"apache-skywalking"3.集成到flask,启动服务fromflaskimportFlask,request,render_templatefromupload_file_to_s3importuploads3,get_md5fromskywalkingimp......
  • skywalking--Prometheus Fetcher使用
    1.准备:实验版本:skywalking9.1.0官网:https://skywalking.apache.org/docs/main/v9.1.0/en/setup/backend/prometheus-metrics/ 2.开启prometheus遥测数据修改skywalking配置,修改${SW_TELEMETRY:prometheus}telemetry:selector:${SW_TELEMETRY:prometheus}none:......
  • SkyWalking的学习之三
    SkyWalking的学习之三持续优化SkyWalking默认可以使用h2,但是感觉容量和性能都可能不太好所以我想使用一下elasticSearch进行替换.自己其实一直想心想去学习,但是一直没有深入.最近发生的事情坚定了自己学习的想法.所以这次先进行elasticSearch的搭建与使用.elastics......