bzoj2734: [HNOI2012]集合选数

NV 英伟达2022数字芯片笔试题 作者:数字IC打工人 链接:【开卷】第27期 NV 英伟达2022数字芯片笔试题_笔经面经_牛客网 来源:牛客网 1、Single Choice: Given thefollowing FIFO and rules, how deep does the FIFO need to be to preventunderflow or overflow? RULES: clk_A=25MHz; clk_B=100MHz; en_B is periodically asserted: period. 阅读详情

传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=2734

思路:这题想法比较神,实现却很简单

首先注意到“若 x 在该子集中,则 2x 和 3x 不能在该子集中”

然后写出如下矩阵,其中每个数下面的数是它的2倍,右边的数是它的3倍,且每个数不超过n

1 3 9 27...

2 6 18 54...

4 12 36 108...

然后再以这个矩阵中没有出现的最小的数为左上角写出新的矩阵,直到所有数都被写入矩阵

这样问题就转化为取一个点,下面和右边的点不能取,状压即可

最后把每个矩阵的答案乘起来即可

#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
typedef long long ll;
const int maxn=100010,maxk=22,mod=1000000001;
using namespace std;
int n,a[maxk][maxk],f[maxk][maxn],lim[maxk],pw[maxk];ll ans=1;bool bo[maxn];

ll query(int x){
	a[1][1]=x;memset(lim,0,sizeof(lim));
	for (int i=2;i<=18;i++) 
		if (a[i-1][1]*2<=n) a[i][1]=a[i-1][1]*2;
		else a[i][1]=n+1;
	for (int i=1;i<=18;i++) for (int j=2;j<=11;j++) 
		if (a[i][j-1]*3<=n) a[i][j]=a[i][j-1]*3;
		else a[i][j]=n+1;
	for (int i=1;i<=18;i++) for (int j=1;j<=11;j++) 
		if (a[i][j]<=n) lim[i]+=pw[j-1],bo[a[i][j]]=1;
	for (int i=0;i<=18;i++) for (int j=0;j<=lim[i];j++) f[i][j]=0;
	f[0][0]=1;
	for (int i=0;i<18;i++)
		for (int j=0;j<=lim[i];j++) if (f[i][j]){
			for (int k=0;k<=lim[i+1];k++)
				if ((!(j&k))&&(!(k&(k>>1))))
					f[i+1][k]=(f[i+1][k]+f[i][j])%mod;
		}
	return f[18][0];
}

int main(){
	scanf("%d",&n),pw[0]=1;for (int i=1;i<=19;i++) pw[i]=pw[i-1]<<1;
	for (int i=1;i<=n;i++) if (!bo[i]) ans=ans*query(i)%mod;
	printf("%lld\n",ans);
	return 0;
}


高匿反爬实战:Python打造无痕爬虫,规避风控系统追踪 网络层匿踪:核心是使用住宅IP代理池,按真实用户IP画像匹配,控制请求频率;协议层匿踪:动态生成请求头(每次都不同),参数添加随机噪声,避免规律化;行为层匿踪:模拟人类的非规律行为(贝塞尔轨迹、随机停顿、非精准点击);设备层匿踪:伪造Canvas/WebGL指纹,禁用webdriver标识,每次请求更换指纹;核心原则:无痕爬虫的本质是“无限接近真实用户”,所有维度都要消除爬虫特征,而非单一维度伪装。打造真正的无痕爬虫需要全维度的匿踪策略,单一维度的伪装极易被高级风控系统识别。 阅读详情

相关推荐

半导体EAP系统入门指南:从零开始理解设备自动化程序(附实战案例)

本文深入浅出地介绍了半导体制造中EAP(设备自动化程序)系统的核心作用与工作原理。EAP作为连接MES与生产设备的桥梁,负责指令翻译、数据采集与实时控制,是实现晶圆厂全自动化的关键。文章通过对比手动与自动模式,阐述了EAP在提升效率、保障良率方面的价值,并提供了一个实战案例,帮助读者从零构建对半导体CIM体系中这一关键组件的理解。

weixin_29200741的博客 736

集合选数

集合选数 集合选数 题目描述   《集合论与图论》这门课程有一道作业题,要求同学们求出{1, 2, 3, 4, 5}的所有满足以 下条件的子集:若x 在该子集中,则2x 和3x 不能在该子集中。同学们不喜欢这种具有枚举性 质的题目,于是把它变成了以下问题:对于任意一个正整数n≤100000,如何求出{1, 2...

liankewei的博客 384

新手必看!BUUCTF-PWN题实战:从零搭建Kali环境到成功RIP栈溢出

本文为CTF二进制安全新手提供了一份详实的BUUCTF-PWN入门指南。内容涵盖从零搭建Kali Linux环境、安装配置pwntools等核心工具,到深入浅出地讲解栈溢出原理与汇编基础,并手把手带领读者完成一道名为“rip”的经典栈溢出题目实战,成功利用漏洞获取系统权限。

t8u9v0w1x的博客 504

集合选数题解

集合选数题解 构造神题, 对于每一个不含质因数2和3的数字, 我们构造一个矩阵(可能并不满), 第一行第一列是这个数, 在同一行中,下一列的数是这一列的数的2倍, 在同一列中,下一行的数是这一行的数的3倍。 如果我们选矩阵中一个数, 则右边的数是这个数的两倍而不能选, 同理,下面的数同样不能选, 不能选左边的数,因为这个数是它的两倍, 不能选上面的数,因为这个数是它的三倍, 总结一下:...

weixin_30305735的博客 760

用ADSP-21569+SigmaStudio打造音频处理系统:从硬件连接到实时调参实战

本文详细介绍了如何利用ADSP-21569 DSP芯片和SigmaStudio图形化编程工具构建高性能音频处理系统。从硬件接口配置、信号流设计到实时参数调试,提供工业级开发中的实用技巧,包括低延迟优化、动态参数插值等关键技术,帮助开发者快速实现专业音频处理方案。

9o8p7i6u5y的博客 979

UE5Could not be compiled. Try rebuilding from source manually.

UE5Could not be compiled. Try rebuilding from source manually.

weixin_45417260的博客 2770

【bzoj2734】集合选数(有点思维的状压dp)

  题目传送门:bzoj2734   这题一个月前看的时候没什么头绪。现在一看,其实超简单。   我们对于每个在$ [1,n] $范围内的,没有因数2和3的数$ d $,将它的倍数$ 2^a 3^b d $一起处理。因为每个数$ d $之间没有2和3作为公因数,所以统计时互不影响。   对于$ d $的倍数$ 2^a 3^b d $,我们可以发现如果把它按因子2的次数为行,因子3的次数为列,...

weixin_34401479的博客 165

高德地图JSAPI中旋转Marker点标签图片时候,且不旋转lable内容方法。

高德地图JSAPI中旋转Marker点标签图片时候,且不旋转lable内容方法

weixin_42960380的博客 2500

[2734]集合选数

[2734]集合选数 不太知道怎么想出来这种东西啊 我们考虑这样的矩阵: x/y 1 2 4 8 16 32 ... 1 1*1 1*2 1*4 1*8 1*16 1*32 ... 3 3*1 3*2 3*4 ... ... ... ... 9 9*1 ... ... ... ... ... ....

jerome_wei的博客 289

安卓 实现灯光闪过效果

有个小需求,给按钮加一个灯光划过的效果,这样的需求一般有UI,肯定就找UI了要个gif图不就完事了,可是这次没有,好久自己做一个嘛。Web端的大佬实现很快,到安卓这边呢,百度一搜发现诶?怎么没有,好吧自己来一个 一切动效相关的不给图看都是耍流氓 所以俺不能这么干啊,OK!直接上效果图,再来解释下怎么实现的 效果就是这样子,怎么实现呢? 从图分析下,就是一个光写着重左边移动要右边循环嘛,这有啥难的?? 来看一看我的第一版,第二版 这是个什么?????一点都不像啊? 赶紧再问了问Web端大佬,噢,加了一个

SummerCloudXT的博客 1378

逻辑电平(TTL/CMOS/LVDS/LVPECL/CML)

逻辑电平介绍 TTL------晶体管-晶体管逻辑门(Transistor-Transistor Logic gate) TTL采用5V电源

sinat_15677011的博客 2万+

BZOJ 2734 集合选数

高妙的算法—— 可以构造出形如: 1 2 4 8 16 32 64 3 6 12 24 48 9 18 36 27 54 的矩阵 相邻的数不能被同时选到 因此 将每一个数构造进矩阵 然后状态压缩dp 根据乘法原理 就可以 得出所有的方案 1 #include <bits/stdc++.h> 2 #define mod 100000000...

weixin_30455365的博客 126

图像处理入门007:图像处理中的数学基础:线性代数与卷积

一种:把 OpenCV 当黑盒,调用,效果不对就乱调参数;另一种:理解每个像素是怎么被周围邻域"加权平均"的,理解核翻转、边界填充、stride 的含义。前者能干活,后者能解难题。一旦遇到自定义核(比如 ISP 上的锐化)、深度学习反向传播、医学图像重建,你就必须把卷积、相关、矩阵乘法这些基本功捡回来。线性代数三件套:向量点积、矩阵乘法、线性变换;2D 卷积的数学定义:核翻转、滑动窗口、边界填充。并手写一个,验证它与和的结果完全一致(误差 < 1e-9)。f∗gn∑m−∞∞f。

专注:太空算力、AI infra、异构调度、大模型成本工程 387

BZOJ2734: [HNOI2012]集合选数

Description 《集合论与图论》这门课程有一道作业题,要求同学们求出{1, 2, 3, 4, 5}的所有满足以 下条件的子集:若 x 在该子集中,则 2x 和 3x 不能在该子集中。同学们不喜欢这种具有枚举性 质的题目,于是把它变成了以下问题:对于任意一个正整数 n≤100000,如何求出{1, 2,..., n} 的满足上述约束条件的子集的个数(只需输出对 1,000,000,

wxh010910 410

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

bzoj 2734: [HNOI2012]集合选数 状压DP

2734: [HNOI2012]集合选数 Time Limit:10 SecMemory Limit:128 MBSubmit:560Solved:321[Submit][Status] Description 《集合论与图论》这门课程有一道作业题,要求同学们求出{1, 2, 3, 4, 5}的所有满足以 下条件的子集:若 x 在该子集中,则 2x 和 3x...

alex151194310的博客 175

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

bzoj 2734: 2734: [HNOI2012]集合选数 (状压DP)

2734: [HNOI2012]集合选数 Time Limit: 10 Sec  Memory Limit: 128 MB Submit: 1274  Solved: 748 [Submit][Status][Discuss] Description 《集合论与图论》这门课程有一道作业题,要求同学们求出{1, 2, 3, 4, 5}的所有满足以 下条件的子集:若 x 在该子集中,则

clover_hxy的博客 290

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

BZOJ 2734: [HNOI2012]集合选数

惊了 妙啊 我好菜啊

cgh_Andy's Blog 609

bzoj 2734: [HNOI2012]集合选数

题目描述 《集合论与图论》这门课程有一道作业题,要求同学们求出{1, 2, 3, 4, 5}的所有满足以 下条件的子集:若 x 在该子集中,则 2x 和 3x 不能在该子集中。 同学们不喜欢这种具有枚举性 质的题目,于是把它变成了以下问题:对于任意一个正整数 n<=100000,如何求出{1, 2,..., n} 的满足上述约束条件的子集的个数(只需输出对 1,000,000,001 取...

weixin_30929011的博客 124

BZOJ2734:[HNOI2012]集合选数

Description 《集合论与图论》这门课程有一道作业题,要求同学们求出{1, 2, 3, 4, 5}的所有满足以 下条件的子集:若 x 在该子集中,则 2x 和 3x 不能在该子集中。同学们不喜欢这种具有枚举性 质的题目,于是把它变成了以下问题:对于任意一个正整数 n≤100000,如何求出{1, 2,..., n} 的满足上述约束条件的子集的个数(只需输出对 1,000,000,00...

weixin_30604651的博客 96

bzoj2734: [HNOI2012]集合选数 压状dp

写出如下矩阵 1 3  9  27... 2 6 18 54... 4 12 36 108... 发现最多有11列。。。 我们在其中选取一些数,相邻的不能选择 然后就可以状压求方案数了,但是5没有出现,同样5的倍数也没有出现,7也如此。。 应该记录哪些数字出现过,没出现过就作为矩阵的第一个元素,最后把若干个矩阵的方案相乘 #include #inclu

IED98的专栏 712

BZOJ2734: [HNOI2012]集合选数|状压DP

这题状压DP比较神奇 对于n以内任意和6互质的数x 可以构造一个矩阵 x  3x  9x  27x.... 2x  6x  18x  54x... 4x  12x   36x  108x... ...... 然后发现相邻的数不能一起选 只要枚举一下所有的x就ok了 卧槽这不是经典的状压dp然后就sohehe了 #include #define M 1000000001 usin

ws_yzy的博客 665

BZOJ 2734: [HNOI2012]集合选数( 状压dp )

1 3 9 ……2 6 18……4 12 36……把数写成上面的样子,那么就变成了给出若干个类似矩阵的东西, 然后求任意一行r的任意一个元素c与r-1,r,r+1行的c-1,c+1不能同时被选中..就是一个状态压缩的dp.dp(x, s)表示第x行, 这一行状态为s的方案数.最后乘法原理乘一下。----------------------------------------------------...

weixin_30596343的博客 88
上一篇: bzoj2728: [HNOI2012]与非
下一篇: bzoj3047: Freda的传呼机&bzoj2125: 最短路
thy_asdf
博客等级 码龄12年 16粉丝 186原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值