当前位置: 首页 > news >正文

今日总结2024/5/27

今日学习了状态压缩DP,状态压缩DP分为棋盘型(基于连通性)和集合型

Acwing.1064 小国王

在 n×n的棋盘上放 k个国王,国王可攻击相邻的 8个格子,求使它们无法互相攻击的方案总数。

输入格式
共一行,包含两个整数 n和 k。

输出格式
共一行,表示方案总数,若不能够放置则输出0。

数据范围
1≤n≤10,
0≤k≤n^2

每一行的状态都由上一行来决定,因此要分别枚举上一行状态和下一行状态来判断是否能合法转移,再进行计算,因此要将能合法转移的状态进行预处理,(a&b)==0代表二者不能出现在同一列,a|b不能出现连续的1代表二者不能不能出现在相邻的列

#include <bits/stdc++.h>
using namespace std;
//把一堆方案归类成一类来划分集合
//int f[i][j][s] 前i行放完,放了j个棋子,最后一行状态为s(二进制)属性为count方案数
const int N=12,M=1<<10,K=110;
int n,m,cnt[M];
long long f[N][K][M];//要开longlong不然会爆int
vector<int> h[M];
vector<int> state;bool check(int u){for(int i=0;i<n;i++)if((u>>i&1)&&((u>>i+1)&1))return false;return true;
}int count(int u){int res=0;for(int i=0;i<n;i++)if(u>>i&1) res++;return res;
}int main(){cin>>n>>m;for(int i=0;i<1<<n;i++)if(check(i)){state.push_back(i);//将合法的一行状态放入cnt[i]=count(i);}for(int i=0;i<state.size();i++)for(int j=0;j<state.size();j++){int a=state[i],b=state[j];//处理好i-1到i的映射关系if((a&b)==0&&check(a|b))h[i].push_back(b);//一定要是下标映射,不同方案的十进制可能相等}f[0][0][0]=1;for(int i=1;i<=n+1;i++)for(int j=0;j<=m;j++)for(int k=0;k<state.size();k++){int a=state[k],c=cnt[a];for(auto b:h[k])if(j>=c)//一定要大于放的f[i][j][a]+=f[i-1][j-c][b];}cout<<f[n+1][m][0];//第n+1行的状态为0return 0;
}

相关文章:

今日总结2024/5/27

今日学习了状态压缩DP,状态压缩DP分为棋盘型(基于连通性)和集合型 Acwing.1064 小国王 在 nn的棋盘上放 k个国王&#xff0c;国王可攻击相邻的 8个格子&#xff0c;求使它们无法互相攻击的方案总数。 输入格式 共一行&#xff0c;包含两个整数 n和 k。 输出格式 共一行&…...

使用 Snort 进行入侵检测

使用 Snort 进行入侵检测 Snort 是一种流行的开源入侵检测系统。您可以在http://www.snort.org/上获取它。Snort 分析流量并尝试检测和记录可疑活动。Snort 还能够根据其所做的分析发送警报。 Snort 安装 在本课中&#xff0c;我们将从源代码安装。此外&#xff0c;我们不会安…...

C++ | Leetcode C++题解之第116题填充每个节点的下一个右侧节点指针

题目&#xff1a; 题解&#xff1a; class Solution { public:Node* connect(Node* root) {if (root nullptr) {return root;}// 从根节点开始Node* leftmost root;while (leftmost->left ! nullptr) {// 遍历这一层节点组织成的链表&#xff0c;为下一层的节点更新 next…...

计算机网络学习

文章目录 第一章信息时代的计算机网络因特网概述电路交换&#xff0c;分组交换&#xff0c;报文交换计算机网络的定义和分类计算机网络的性能指标常见的三种计算机网络体系计算机网络体系结构分层的必要性计算机网络体系结构分层思想举例计算机网络体系结构中的专用术语 第二章…...

代码随想录算法训练营第四天| 24.两两交换链表中的节点、19.删除链表的倒数第N个节点、面试题 02.07. 链表相交、142.环形链表II

24.两两交换链表中的节点 给定一个链表&#xff0c;两两交换其中相邻的节点&#xff0c;并返回交换后的链表。你不能只是单纯的改变节点内部的值&#xff0c;而是需要实际的进行节点交换。 解题思路 很麻烦的一道题目&#xff0c;不是很理解。还是看视频文章才AC的。 解法1 …...

职业探索--运维体系-SRE岗位/CRE岗位/运维岗位-服务心态-运维职业发展方向-运维对象和运维场景

参考来源&#xff1a; 极客时间专栏&#xff1a;赵成的运维体系管理课 极客时间专栏&#xff1a;全栈工程师修炼指南 赵成大佬在鹏讯云社区的文章&#xff08;77篇&#xff09; 有了CMDB&#xff0c;为什么还要应用配置管理 故障没有根因&#xff0c;别再找了 如何理解CMDB的套…...

深入理解C++智能指针系列(五)

引言 前面两篇介绍了std::unique_ptr的自定义删除器以及如何优化删除器的使用。本文将介绍std::unique_ptr在使用过程中的一些“奇技淫巧”。 正文 删除器和std::move std::move是将对象的所有权转移给另一个对象&#xff0c;那如果通过std::move来转移带自定义删除器的std::…...

1.Nginx上配置 HTTPS

1.安装 Nginx&#xff1a; 如果还没有安装 Nginx&#xff0c;可以使用包管理工具安装。例如&#xff0c;在 Ubuntu 上&#xff1a; sudo apt update sudo apt install nginx2.上传证书和私钥文件&#xff1a; 将你的证书文件和私钥文件上传到服务器上的某个目录&#xff0c;…...

wordpress教程视频 wordpress教程网盘 wordpress教程推荐wordpress教程网

WordPress&#xff0c;作为一款强大且灵活的开源内容管理系统&#xff0c;已成为许多网站开发者与运营者的首选。其强大的功能、丰富的插件以及易于上手的特点&#xff0c;使得无论是初学者还是专业开发者都能轻松构建出个性化的网站。然而&#xff0c;对于初学者来说&#xff…...

vue3 3D炫酷模型banner图

项目场景&#xff1a; 在官网首页展示3D炫酷动画模型&#xff0c;让整个模型都展示出来。 问题描述 主要是3D动画的展示效果&#xff0c;有些3d模型网站可以从51建模网站中获取。 案例代码&#xff1a; <script setup> import * as imgs from ../units/img import { o…...

小程序内使用路由

一:使用组件 1)创建组件 2)在需要的页面的json/app.json可实现局部使用和全局使用 在局部的话,对象内第一层,window配置也是第一层,而在全局配置也是在第一层,window在window对象内.第二层.内部执行遍历不一样. 3)页面使用 上述所写可实现在页面内使用组件.效果是页面内可以将…...

【数据结构】第七节:堆

个人主页&#xff1a; 深情秋刀鱼-CSDN博客 数据结构专栏&#xff1a;数据结构与算法 源码获取&#xff1a;数据结构: 上传我写的关于数据结构的代码 (gitee.com) ​ 目录 一、堆 1.堆的概念 2.堆的定义 二、堆的实现 1.初始化和销毁 2.插入 向上调整算法 3.删除 向下调整算法…...

前端大师-高级Web开发测验

目录 前言 1.按正确的执行顺序排列脚本 2.哪些说法是正确的&#xff1f;&#xff08;D&#xff09; 3.填写正确的术语 4.程序的输出 5.将资源提示与其定义匹配 6.以下程序的输出是&#xff1f; 7.将PerformanceNavigationTimings按正确的顺序排列 8.将缓存指令与其定义…...

延迟初始化和密封类

Kotlin 延迟初始化&#xff08;Lazy Initialization&#xff09; 定义 在 Kotlin 中&#xff0c;延迟初始化允许你延迟一个对象的初始化&#xff0c;直到首次访问该对象时才进行初始化。这通常用于那些初始化开销较大&#xff0c;或者只在程序运行的某个特定点才需要的对象。…...

Kotlin基础之基本语法

Kotlin 简介 Kotlin 是一种由 JetBrains 开发的静态类型编程语言&#xff0c;设计用于与 Java 虚拟机 (JVM) 兼容&#xff0c;同时也可用于 Android、JavaScript&#xff08;通过 Kotlin/JS&#xff09;和原生&#xff08;通过 Kotlin/Native&#xff09;开发。Kotlin 旨在提供…...

多态(难的起飞)

注意 virtual关键字&#xff1a; 1、可以修饰原函数&#xff0c;为了完成虚函数的重写&#xff0c;满足多态的条件之一 2、可以菱形继承中&#xff0c;去完成虚继承&#xff0c;解决数据冗余和二义性 两个地方使用了同一个关键字&#xff0c;但是它们互相一点关系都没有 虚函…...

安装GO环境

#windows 1.下载go的安装包msi,下载完双击运行,指定一个目录进行安装 #msi安装时,会自动设置以下环境变量: #GOPATH(默认设置为C:\Users\hhx\go), #C:\Users\hhx\go\bin, #go安装位置下的bin目录 2.检查是否安装成功,终端中运行go version解释一些环境变量 GOROOT:go的安装位置…...

记一次由于代码原因导致Mysql连接被打满和唯一索引重复问题

先说一下事情产生的背景&#xff1a;原先的代码逻辑是消费MQ&#xff0c;然后请求其他服务的接口&#xff0c;对接口的返回值result做落库操作&#xff0c;现在要新加个逻辑&#xff0c;做完落库操作后还要再将result封装落到新表中&#xff1b;即消费一次MQ(MQ消息的频率非常高…...

redis数据类型之string,list

华子目录 key操作说明SCAN cursor [MATCH pattern] [COUNT count]dump与restorekeys 通配符 示例演示 string说明setbit key offset valuegetbit key offsetsetrange key offset value List结构图相关命令lrem key count valueltrim key count value示例&#xff1a;使用 LTRIM…...

Android android.os.DeadObjectException aidl通信异常分析及解决

问题描述 做一款音乐播放应用&#xff0c;播放服务是通过AIDL形式对外暴露&#xff0c;允许跨进程调用且多个App同时操作音乐播放&#xff0c;偶现android.os.DeadObjectException问题 12-15 09:28:12.371: W/System.err(5412): android.os.DeadObjectException 12-15 09:28:…...

基于Spring Security与JWT的权限认证技术研究

在高校信息化管理系统中&#xff0c;数据安全与权限隔离是系统设计的核心重点。学生奖惩信息属于高校学生核心隐私数据&#xff0c;包含学生奖励记录、违纪处分记录、档案信息、审批流程信息等敏感内容&#xff0c;若缺乏完善的权限管控机制&#xff0c;极易出现数据泄露、越权…...

【顶级EI复现】基于去噪概率扩散模型(DDPM)的电动汽车充电行为场景生成研究( Python + PyTorch实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 &#x1f381…...

ML生产化核心:三层分离架构与Triton模型服务实战

1. 项目概述&#xff1a;这不是一次“部署上线”&#xff0c;而是一场系统性交付实战 “From Notebook to Production: Running ML in the Real World (Part 4)”——这个标题里藏着太多被日常讨论轻描淡写带过的重量。它不是教你怎么把 model.predict() 封装成API&#xff0…...

政策快报网的申报引擎:从政策匹配到材料准备的全流程设计

用户通过政策匹配引擎找到了一条适合自己的政策,然后呢? 这是很多政策信息平台共同面临的问题。在传统的政策快报网设计思路中,价值链条往往止步于“告诉用户有这条政策”。但真正的需求远不止于此——用户需要知道申报截止时间、需要准备哪些材料、材料有什么格式要求、提…...

IO、NIO、Netty实战

目标 客户端和服务端互相通信&#xff0c;本文主要是实战练习&#xff0c;照着敲&#xff0c;然后debug看为什么就行 前置理解模型核心类特点简述BIOServerSocket / Socket一个连接一个线程&#xff0c;accept() 和 read() 都会阻塞简单但连接多了线程爆炸NIOSelector / Server…...

惠普OMEN游戏本性能解放终极指南:OmenSuperHub完全使用教程

惠普OMEN游戏本性能解放终极指南&#xff1a;OmenSuperHub完全使用教程 【免费下载链接】OmenSuperHub 使用 WMI BIOS控制性能和风扇速度&#xff0c;自动解除DB功耗限制。 项目地址: https://gitcode.com/gh_mirrors/om/OmenSuperHub 还在为官方Omen Gaming Hub的臃肿和…...

别再傻等串口了!用STM32CubeMX+DMA实现串口收发,CPU效率直接拉满

STM32CubeMXDMA串口通信&#xff1a;释放CPU性能的实战指南 在嵌入式系统开发中&#xff0c;串口通信是最基础也最常用的外设之一。然而&#xff0c;传统的轮询或中断方式处理串口数据会大量占用CPU资源&#xff0c;这在需要同时处理电机控制、传感器数据融合等多任务的复杂系统…...

2026营销策划岗位学数据分析能提升职场能力吗

一、数据分析在营销策划中的核心价值数据驱动决策取代经验主义&#xff0c;精准定位用户需求与行为模式 实时监测市场趋势与竞品动态&#xff0c;优化营销策略的敏捷性 量化评估活动效果&#xff0c;提升ROI与资源分配效率二、2026年营销策划岗位的数据分析技能需求基础能力&am…...

解决RTL8821CU无线网卡在Linux下的3大痛点:从识别到稳定连接的全攻略

解决RTL8821CU无线网卡在Linux下的3大痛点&#xff1a;从识别到稳定连接的全攻略 【免费下载链接】rtl8821CU Realtek RTL8811CU/RTL8821CU USB Wi-Fi adapter driver for Linux 项目地址: https://gitcode.com/gh_mirrors/rt/rtl8821CU 你是否曾经在Linux系统上连接RTL…...

从API调用日志看Taotoken路由容灾机制在实际波动中的表现

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 从API调用日志看Taotoken路由容灾机制在实际波动中的表现 对于依赖大模型API进行开发的团队而言&#xff0c;服务的稳定性是核心关…...