首页 > 其他分享 >状态压缩的动态规划

状态压缩的动态规划

时间:2024-10-09 10:24:29浏览次数:8  
标签:int 压缩 long 19 动态 规划 ll define

以洛谷无向图求环问题为例

#include<bits/stdc++.h>
using namespace std;

#define ll long long 
#define reg register int
int n,m;int a[19][19];ll f[1<<19][19];ll res=0;
int main()
{
    cin>>n>>m;
    for(int i=1;i<=m;i++)
    {
        int j,k;
        cin>>j>>k;
        a[j-1][k-1]=a[k-1][j-1]=1;
    }
    for(int i=0;i<n;i++)
        f[1<<i][i]=1;
    for(reg i=1;i<(1<<n);i++)
    {
        for(reg j=0;j<n;j++)
        {
            if(!f[i][j])continue;
            for(reg k=0;k<n;k++)
            {
                if(a[j][k]==0)continue;
                if((i&-i)>(1<<k))continue;
                if((1<<k)&i)
                {
                    if((1<<k)==(i&-i))
                        res+=f[i][j];
                }
                else
                    f[i|1<<k][k]+=f[i][j];
            }
        }
    }
    cout<<(res-m)/2;
}

标签:int,压缩,long,19,动态,规划,ll,define
From: https://www.cnblogs.com/Arc-ux/p/18453689

相关文章

  • 【无人机】基于改进粒子群算法的无人机路径规划研究[和遗传算法、粒子群算法进行比较]
      ......
  • 【模板】"动态DP"&动态树分治
    目录题目描述朴素算法矩阵刻画实现code以洛谷模板题为例介绍动态dp的一般方法。P4719【模板】"动态DP"&动态树分治-洛谷|计算机科学教育新生态(luogu.com.cn)P4751【模板】"动态DP"&动态树分治(加强版)-洛谷|计算机科学教育新生态(luogu.com.cn)题目描述给定一......
  • 使用CMake构建C动态库
    文章目录概要为什么目的设想工作空间代码代码结构库PrivateimplementationPublicimplementation编译一切使用库概要这篇文章的目的是提供一个示例,介绍如何在Linux中使用CMake作为构建工具来创建C共享库。为什么我找不到一个清晰而简单的示例来说明如何执行......
  • 模型压缩的方法?
    模型压缩的方法方法模型压缩是一个重要的讨论话题,因为它直接关系到模型在实际应用中的效率和部署能力。模型压缩的主要目的是在保持模型性能的同时,减少模型的参数量和计算量,从而加快推理速度、降低存储需求,使得模型能够在资源受限的设备上运行。以下是一些常见的模型......
  • leetcode 刷题day35动态规划Part04 背包问题(1049. 最后一块石头的重量 II 、494. 目标
    1049.最后一块石头的重量II思路:解题的难度在于如何转化为背包问题。本题的核心思路是让石头分成重量相同的两堆,相撞之后剩下的石头最小,这样就化解成01背包问题,和416.分割等和子集非常像了。首先,背包的容量target为sum/2向下取整,得到dp[target]就是分出来较小的一堆,用su......
  • leetcode 刷题day37动态规划Part06背包问题( 322. 零钱兑换、279.完全平方数、139.单词
    322.零钱兑换思路:每种硬币的数量是无限的,是典型的完全背包问题。但是题目要求等于目标值的最小硬币个数。所以这里需要对动规五部曲进行分析。动规五部曲:1、确定dp数组以及下标的含义dp[j]:凑足总额为j所需钱币的最少个数为dp[j]2、确定递推公式凑足总额为j-coins[i......
  • 动态修改iconfont图标配色
    引言在iconfont图标字体库详细介绍一文中介绍了iconfont图标字体库的三种使用方法,分别是1.unicode引用2.font-class引用3.symbol引用。其中只有symbol引用的方式才能保留图标的色彩。但是如果我们想改变图标的颜色,那么该如何做呢?解决方法以React为例,在项目中,封装......
  • 揭秘动态化跨端框架在鸿蒙系统下的高性能解决方案
    作者:京东科技胡大海前言动态化跨端框架(后文统称“动态化”)是一个由京东金融大前端团队全自主研发的,一份代码,可以在HarmonyOS、iOS、Android、Web四端运行的跨平台解决方案。在研发团队使用后可大幅降低研发人力成本;为业务提供实时触达、A/B触达等能力以提升业务投放效率;同时......
  • 算法【从递归入手二维动态规划】
    尝试函数有1个可变参数可以完全决定返回值,进而可以改出1维动态规划表的实现。同理,尝试函数有2个可变参数可以完全决定返回值,那么就可以改出2维动态规划的实现。一维、二维、三维甚至多维动态规划问题,大体过程都是:1.写出尝试递归。2.记忆化搜索(从顶到底的动态规划)。3.严......
  • Day 29 动态规划part02| LeetCode 62.不同路径,63.不同路径II
    62.不同路径62.不同路径classSolution{publicintuniquePaths(intm,intn){int[][]dp=newint[m][n];//dp数组--dp[i][j]达到坐标(i,j)有几种路径//dp数值初始化--终点为:dp[m-1][n-1]for......