BZOJ 1072: [SCOI2007]排列perm

autodl云服务器使用中的conda源报错 通过find path -name filename找到.condarc文件,在autodl服务器中,一般在/root/.condarc。为了利用jypyter打开conda虚拟环境运行,需要下载ipykenel。这个报错是源的问题,在通过源获取包元数据时出现了HTTP 429错误。通过conda换源解决。修改.condarc文件,命令: vim .condarc。但这样还不能解决问题,得把报错中有问题的源注释掉。通过以下命令添加清华镜像源。把报错的链接源注释如下。 阅读详情

点这里!!!>_<
PO姐的blog很详尽>o<


第一次写状压DP,不知道怎么下手,所以只能看题解了(>_<~~~~)


代码如下:(只是多了几行注释)

#include<algorithm>//1023---1111111111,1024---1<<10 
#include<iostream>
#include<cstring>
#include<cstdio>
using namespace std;
int t,n,d,ans,f[1<<10][1<<10],digit[1<<10],tens[15],cnt[15],factorial[15];
char s[15];
int Get(int x){
    int res=0;
    while(x)
        res+=x&1,x>>=1;
    return res;
}
int main(){
    factorial[0]=1,tens[0]=1;//factorial代表i的阶乘 
    for(int i=1;i<=10;i++)
        factorial[i]=factorial[i-1]*i,tens[i]=tens[i-1]*10;
    for(int i=0;i<1<<10;i++)
        digit[i]=Get(i);//digit[i]=j代表十进制为i的数字转化成二进制有多少位1
    scanf("%d",&t);
    while(t--){
        scanf("%s%d",s,&d);
        memset(f,0,sizeof(f)),memset(cnt,0,sizeof(cnt));
        f[0][0]=1,n=strlen(s);
        for(int i=1;i<1<<n;i++){
            for(int j=0;j<n;j++)
                if(1<<j&i){
                    int temp=tens[digit[i]-1]%d*(s[j]-'0')%d;
                    for(int k=0;k<d;k++)
                        f[i][(k+temp)%d]+=f[1<<j^i][k];
                }
        }
        ans=f[(1<<n)-1][0];//转化成二进制有n个1---这n个数全部选择,余数为0 
        for(int i=0;i<n;i++)
            cnt[s[i]-'0']++;
        for(int i=0;i<=9;i++)//一定要记得从0开始>o< 
            ans/=factorial[cnt[i]];//多重集的性质,(n1+n2+......+na)!/(n1!n2!......na!) 
        cout<<ans<<endl; 
    }
    return 0;
}

by >o< neighthorn

Linux7 挂载 nfs 远程目录 每天一个 DBA 小知识,助你更进一步! 阅读详情

相关推荐

超越数据手册:深入Zynq XADC的DRP接口与PL端自定义采样逻辑

本文深入探讨Zynq-7000系列XADC模块的DRP接口机制与PL端自定义采样逻辑实现。通过硬件级多通道轮询、触发采样和实时校准技术,突破传统软件驱动限制,为高精度电压测量和通讯应用提供极致灵活性和响应速度。

xxx12的博客 769

BZOJ 1072: [SCOI2007]排列perm【DFS】

1072: [SCOI2007]排列perm Time Limit: 10 Sec Memory Limit: 128 MB Description   给一个数字串s和正整数d, 统计s有多少种不同的排列能被d整除(可以有前导0)。例如123434有90种排列能被2整除,其中末位为2的有30种,末位为4的有60种。 Input ...

aiweiluan5095的博客 172

CANdb++实战:5步搞定汽车电子DBC文件创建(附信号映射技巧)

本文详细介绍了使用CANdb++高效创建汽车电子DBC文件的五步实战流程,涵盖信号批量创建、报文关联、节点映射等核心技巧。文章重点解析了信号映射中的Motorola/Intel格式选择、多路复用信号处理等高级应用,并提供了从通信矩阵到可测试DBC的完整案例,帮助工程师大幅提升工作效率。

ss78901的博客 942

bzoj 1072: [SCOI2007]排列perm

STL自带下一个全排列 比手写的快。。。 /************************************************************** Problem: 1072 User: lxy8584099 Language: C++ Result: Accepted Time:2688 ms Mem...

weixin_30731287的博客 159

aistudio高效解压zip文件的实用技巧

本文详细介绍了在百度AI Studio平台上高效解压ZIP文件的实用技巧。针对深度学习项目数据准备中的常见痛点,重点讲解了使用Python zipfile库和Linux unzip命令两种核心方法,并提供了路径设置、大文件处理、中文乱码等关键问题的解决方案,帮助用户提升数据处理效率。

salt的博客 783

“双系统”出炉!瑞芯微RK3562J非对称AMP:Linux+RTOS/裸机

执行如下命令运行Linux应用程序rpmsg_echo,发送8个rpmsg数据包至运行Baremetal程序的Cortex-M0核心,当Cortex-M0核心每收到1个rpmsg数据包就会将数据包发送回Linux端。开发者可灵活分配任务或指定核心间通信,从而增强系统稳定性,减少崩溃风险,保障数据完整。下文以Cortex-A53(CPU0、CPU1、CPU2、CPU3)核心运行Linux系统与rpmsg_echo应用程序,Cortex-M0(MCU)核心运行Baremetal程序为例进行演示。

创龙,嵌入式一体化解决方案商 467

bzoj1072: [SCOI2007]排列perm

思路:状压dp,f[i][j]表示新的排列的状态为i(也就是新的排列已经选了哪些数),然后模d的余数为j的方案数。 但考虑到可能有些数会出现多次,假设一个数x出现了cnt[x]次,那么对于一个可行的答案,显然也包含cnt[x]个x,那么这样的答案就会被计算多次,因为如果状态i先加入第一个x再加入第二个x和状态i先加入第二个x再加入第一个x显然是算作两种不同的方案,但其实他们是一样的,但...

V469584691的博客 174

zemax---光学设计基础概念篇(持续更新中)

光学设计相关知识概念

u011699626的博客 1145

BZOJ1072: [SCOI2007]排列perm

BZOJ1072: [SCOI2007]排列perm Description   给一个数字串s和正整数d, 统计s有多少种不同的排列能被d整除(可以有前导0)。 例如123434有90种排列能被2整除,其中末位为2的有30种,末位为4的有60种。 Input   输入第一行是一个整数T,表示测试数据的个数,以下每行一组s和d,中间用空格隔开。 s保证只包含数字0, 1, ...

weixin_30480651的博客 134

如何计算 R 中的基尼系数(附示例)

以意大利统计学家Corrado Gini命名,基尼系数是衡量人口收入分配的一种方法。基尼系数的值在 0 到 1 之间,值越高代表收入不平等越大,其中:0代表完全的收入平等(每个人的收入都一样) 1代表完全的收入不平等(一个人拥有所有收入) 您可以在此处找到按国家/地区列出的基尼系数列表。以下示例显示了使用DescTools包中的Gini()函数计算 R 中的基尼系数的两种方法。示例 1:使用个人收入计算基尼系数假设我们有以下 10 个人的年收入列表:收入:5 万美元、5 万美元、7 万美元、7 万美元、7

Mrrunsen的博客 2989

【27】软考软件设计师——数据流图(DFD)补全题满分精讲|下午15分大题深度拆解

本文是《软件设计师·50讲通关|从零基础到工程师职称》专栏第27篇,深度精讲**下午案例题第1道必考大题:数据流图(DFD)补全**,该题单题分值高达**12 ~ 15分**,是整张试卷最稳的保底得分大题。我结合多年备考复盘与真题阅卷规则,超详细拆解DFD四大核心元素标准定义、机考绘图规范、三层分层逻辑、**父图子图平衡刚性扣分规则**,升级强化版「DFD满分补全三步法」;复刻历年高频真题完整流程,拆解缺失数据流定位、实体/存储辨析、平衡改错、文字需求对照全流程,配套**阅卷满分答题话术、机考避坑细则

专注于人工智能、软件开发、工控自动化、工厂数字化及智能化等领域,希望和大家共同进步! 589

BZOJ1072: [SCOI2007]排列perm 状压DP

1072: [SCOI2007]排列perm Time Limit: 10 Sec  Memory Limit: 128 MB Submit: 1852  Solved: 1163 [Submit][Status][Discuss] Description   给一个数字串s和正整数d, 统计s有多少种不同的排列能被d整除(可以有前导0)。例如123434有90种排列能

Oakley 519

【小白深度教程 1.8】手把手教你使用 Depth Anything V2 估计单目深度,并映射到 3D 点云(含 Python 代码)

我们尝试使用单目深度估计技术(Depth Anything V2),来进行准确的双目深度估计,并将场景转换成 3D 点云,Python 代码在最后。

2401_87064292的博客 5090

BZOJ 1072: [SCOI2007]排列perm( )

看了一下数据范围...这不是暴力吗...O( 15 * 2 ^ 10 * 10 ) 很轻松就可以过啊..-----------------------------------------------------------------#include<cstdio>#include<algorithm>#include<iostream>#include&lt...

weixin_30678349的博客 57

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

BZOJ 1072: [SCOI2007]排列perm 状压dp

1072: [SCOI2007]排列permTime Limit: 10 Sec Memory Limit: 128 MB Submit: 2538 Solved: 1583 [Submit][Status][Discuss]Description  给一个数字串s和正整数d, 统计s有多少种不同的排列能被d整除(可以有前导0)。例如123434有90种排列能 被2整除,其中末位为2的有3

ywq12138的博客 271

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

上一篇: C++ bitset类的使用与简介
下一篇: BZOJ 1068: [SCOI2007]压缩 区间DP
NeighThorn
博客等级 码龄11年 20粉丝 171原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值