A Simple Task

news/2025/2/1 19:50:05/文章来源:https://www.cnblogs.com/watersail/p/18696454
  • 环计数问题
  • __builtin_ffs() 函数 find_first_set 返回最后一个1的位置,注意编号从1开始
  • 构造汉明权重递增的排列 核心思想:枚举popcount+不断迭代
  • 迭代方法:
for(int j=(1<<m)-1,t;j<(1<<n);t=j+lowbit(j),j=t|(((lowbit(t)/lowbit(j))>>1)-1))
  • 至于这道题,选择编号最小的节点作为简单环的代表就好啦
#include <bits/stdc++.h>
using namespace std;
vector<int>a[19];
long long f[19][1<<19];
bool b[19][19];
int lowbit(int n)
{return n&(-n);
}
int main()
{ios::sync_with_stdio(false);cin.tie(0);int n,m;cin>>n>>m;for(int i=1;i<=m;i++){int u,v;cin>>u>>v;u--;v--;a[u].push_back(v);a[v].push_back(u);b[u][v]=b[v][u]=true;}for(int i=0;i<n;i++){sort(a[i].begin(),a[i].end());reverse(a[i].begin(),a[i].end());f[i][1<<i]=1;}long long ans=0;for(int m=2;m<=n;m++){for(int j=(1<<m)-1,t;j<(1<<n);t=j+lowbit(j),j=t|(((lowbit(t)/lowbit(j))>>1)-1)){int i=__builtin_ffs(j)-1;for(int k=i,s=j;s>0;s=s-lowbit(s),k=__builtin_ffs(s)-1){if(k==i){continue;}if((j>>k)&1){int p=(j&(~(1<<k)));for(int l=0;l<a[k].size();l++){if(a[k][l]<i){break;}if((j>>a[k][l])&1){f[k][j]+=f[a[k][l]][p];}}if(b[i][k]&&m>2){ans+=f[k][j];}}}}}cout<<ans/2<<endl;return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/877629.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

06. 文件权限

一、文件属性Linux 系统是一个典型的多用户系统,不同的用户处于不同的地位,拥有不同的权限。为了保证系统的安全性,Linux 系统对不同的访问用户访问同一个文件(包括目录文件)的权限做了不同的规定。在 Linux 中,我们可以使用 ll 或者 ls -l 命令来显示一个文件的属性以及…

java中的Hashtable

Hashtable Hashtable 是 Java 中的一个古老的集合类,它实现了 Map 接口,基于哈希表存储键值对。 Hashtable 是线程安全的,所有方法都用 synchronized 修饰,因此在多线程环境下可以安全使用。 不过,由于它的性能较差,现代开发中更推荐使用 HashMap Hashtable中的t是小写,…

[HCTF 2018]admin

打开靶机进入登录界面,账号输入admin,密码随便输入一个密码,使用burp抓包后发送到攻击器将密码设为变量,导入字典,开始攻击发现密码"123"的返回长度不同,使用"123"登录,得到flag

DeepSeek LLM

一、背景动机开源社区的关注点:LLaMA 之后,开源社区主要关注训练固定规模的高质量 LLM(如 7B、13B、34B 和 70B),而对 LLM 的缩放定律研究探索较少。缩放定律的重要性:当前开源 LLM 仍处于 AGI 发展的初期阶段,因此研究扩展定律对于未来发展至关重要。缩放结论的分歧:早…

24-25Web开发技术#SpringBoot综合项目实战e1

选用IntelliJ IDEA Community Edition 2024.2 将reggie作为项目(Project)打开 开发环境搭建 系统开发及运行环境 JDK安装尽量遵循原项目的配置,在Oracle官网下载JDK11需注册Oracle账户,较麻烦。 在https://jdk.java.net/archive/找到11 GA (build 11+28)下载Windows版本的压缩…

星球助手发布更新v1.4.0

星球助手发布更新v1.4.0,重要的更新内容有 ​添加了展示评论的功能,可复制评论内容,可展示图片 添加下载评论中的图片的功能 修复了帖子文字展示不全的问题 修复了问答帖子无法搜索的问题 修复了当帖子有多张图片时无法完整显示图片的问题 修复了下载用户信息报错的问题 修复…

CTF-web-POST

1.照样是打开题目链接2.翻译源代码,仍然是向url添加“?what=flag” 3.但是这题需要用hackbar添加4.得到flag

7.机房预约系统

机房预约系统。需求文件目录代码 机房预约系统.cpp #include<iostream> #include "Identity.h" #include<fstream> #include<string> #include "globalFile.h" #include "student.h" #include "teacher.h" #include…

CTF-web-GET

1.打开题目2.翻译原代码,要求添加"?what=flag"3.得到flag:flag{0e8b036fa161804be74c7f33161dc451}

JFrog Artifactory 系列6 --- 其他配置

一、概览 1. 承上启下 JFrog Artifactory 系列 二、其他配置 1. Token过期时间三、参考 https://jfrog.com/help/r/artifactory-intermittent-403-errors-while-working-with-artifactory

新春“码”启 | Cocos 3D 开发微信小游戏(第4天):游戏资源设计和框架核心源代码

新春开发 Cocos 3D 微信小游戏计划的第 4 天,包括游戏资源设计建议,如 UI 背景自适应、碰撞检测组件选用;游戏控制逻辑设计方面,包括组件层级管理及核心代码框架,还有配置中心和消息中心代码,所有的资源与代码均可免费下载……放飞自我的时光总是过得很快,一晃春节就过去…