BZOJ3198 容斥+hash+恰好

Vue3 - 详解实现网站接入钉钉扫码登录功能,钉钉授权生成登录二维码用户用手机扫描二维码登陆,支持弹框式、浏览器单独新开页显示,钉钉扫描二维码登录详细流程及示例代码,最新vue集成钉钉扫码授权登录! vue3,nuxt3,钉钉,扫码登录,vue3钉钉扫码登陆,钉钉授权第三方WEB网站扫码登录功能,钉钉扫码登录第三方网站,单点登录,二维码不显示,报错,扫了没反应,出错,vue3钉钉扫码登录,内嵌,获取个人信息,pc网页钉钉登录,钉钉扫码登录怎么新开一页,跳页显示二维码,内嵌登录二维码,iframe新页面弹出,弹出一个小窗口显示登录二维码,登录报错,扫码没反应,解决手机点登录报错没反应,官方文档,手机扫描钉钉二维码登录网站,页面弹出一个小窗口而不是打开一个页面,vue3中使用iframe实现另开小窗口扫码登 阅读详情

35.BZOJ3198 容斥定理+哈希+恰好 

题意:

n个城市,每个城市有6个属性,求恰好有K个属性相同的城市有多少对?

n<=1e5,0<=k<=6

思路:

恰好为K转化为至少为K,跟34一样,容斥系数是C(i,k)

暴力枚举2^K,对每个状态 看有多少对,挂链哈希,自然溢出取模

比如状态为15(001111),哈希判断后4个属性有多少对相同的

代码是转的,加了注释= =

代码原博主链接:https://blog.youkuaiyun.com/PoPoQQQ/article/details/43234333

#define M 100100
#define BASE 999911657
using namespace std;
const int C[7][7]={
    {1,0,0,0,0,0,0},
    {1,1,0,0,0,0,0},
    {1,2,1,0,0,0,0},
    {1,3,3,1,0,0,0},
    {1,4,6,4,1,0,0},
    {1,5,10,10,5,1,0},
    {1,6,15,20,15,6,1},
};
int n,k;
int a[M][6];
int digit[64];
long long ans;
namespace Hash_Set{
    struct List{
        List *next;
        unsigned long long hash;
        int val;
        List() {}
        List(List *_,unsigned long long __):
            next(_),hash(__),val(0) {}
    }*head[1001001],mempool[M],*C=mempool;
    int tim[1001001],T;
    inline void Initialize()
    {
        ++T;C=mempool;
    }
    //挂链上,对pos相同的暴力遍历链 找hash 
    //但是如果两个状态 hash相同在同一链上就会WA 
    //这里是采取自然溢出
    int& Hash(unsigned long long hash)
    {
        int pos=hash%1001001;
        if(tim[pos]!=T)
            tim[pos]=T,head[pos]=0x0;
        for(List *temp=head[pos];temp;temp=temp->next)
            if(temp->hash==hash)
                return temp->val;
        head[pos]=new (C++) List(head[pos],hash);
        return head[pos]->val;
    }
}
long long Calculate(int state)//对每个状态计算对数 
{
    using namespace Hash_Set;
    int i,j;
    long long re=0;
    Initialize();
    for(i=1;i<=n;i++)
    {
        unsigned long long hash=0;
        for(j=1;j<=6;j++)
        {
            if( state&(1<<j-1) )
                (hash*=BASE)+=a[i][j];
        }
        int &val=Hash(hash);//返回6元组状态出现的个数 
        //if(state==63)printf("val=%d\n",val);
        re+=val;//C(n,2),每出现多一次就对 相同对数贡献val 
        val++;
    }
    return re;
}
int main()
{
    int i,j;
    cin>>n>>k;
    for(i=1;i<=n;i++)
        for(j=1;j<=6;j++)
            scanf("%d",&a[i][j]);
    for(i=0;i<64;i++)
    {
        digit[i]=digit[i>>1]+(i&1);//状态i的1的个数 
        if(digit[i]>=k)//套路:恰好K=至少K-至少K+1+至少K+2...... 容斥系数C[i,k] 
        //这里至少为K不是一次性算完,比如i=1011跟i=1101,加法可以分开算贡献 
            ans+=(digit[i]-k&1?-1:1)*Calculate(i)*C[digit[i]][k];
    }
    cout<<ans<<endl;
    return 0;
}

 

Unet++改进33:添加ConvolutionalGLU(2024最新改进方法)|紧凑的网络结构和高效的运算 由于残差连接的深度退化效应,许多依赖堆叠层进行信息交换的高效视觉变形模型往往不能形成足够的信息混合,导致视觉感知不自然。为了解决这个问题,在本文中,我们提出了聚合注意力,这是一种基于仿生设计的令牌混合器,它模拟生物中央凹视觉和连续眼运动,同时使特征映射上的每个令牌具有全局感知。此外,我们结合了可学习的令牌,与传统的查询和键交互,这进一步多样化了亲和矩阵的生成,而不仅仅依赖于查询和键之间的相似性。我们的方法不依赖于堆叠进行信息交换,从而有效地避免了深度退化,实现了自然的视觉感知。 阅读详情

相关推荐

移远EC20模块USB模式切换的底层逻辑与驱动适配探秘

本文深入探讨了移远EC20模块USB模式切换的底层逻辑与驱动适配机制,详细解析了AT命令控制下的USB0与WWAN0模式差异。通过分析USB协议栈、内核驱动框架及网络子系统的交互,提供了模式切换的完整操作流程和常见问题解决方案,助力开发者优化4G通信模块在嵌入式设备中的稳定连接。

cc789的博客 843

二项式反演中至少与恰好的转换的问题

有关二项式反演的东西中较难理解的是至少与恰好的转换,其余的一些东西都比较好说, 先说一个结论,把至少问题转换为恰好来做并不是存在至少与恰好就行的,因为利用二项式反演把至少与恰好转换有时候并不一定是对的,但一般混有排列数的运算与容斥的结合的东西往往是可以二项式反演的,但是没有排列数的计算的东西二项式反演可能是不对的,含有排列数的计算的算式利用二项式反演一般是没问题的。 然后举个例子,有m个人,至少要选出n个人,问方案数, 那么,如果对此进行二项式反演的话,会发现不对,这些个算式只有组合数,没有排列数的计算。

weixin_45608039的博客 552

避开这些坑!晶圆封装中Wire Bonding(引线键合)的5种常见不良与实战调试心得

本文深入探讨晶圆封装中Wire Bonding(引线键合)的5种常见不良现象,包括Wire Offset、BSOB不良、球径/球厚异常、弧度不良和IMC问题。通过实际案例和参数优化方案,帮助工程师提升封装质量和可靠性,特别适用于半导体封装领域的专业人士。

weixin_33672109的博客 523

bzoj 3198 spring

bzoj 3198 spring要求恰好k个jordan筛法公式容斥就可以做了,判断的时候要hash挂链,不然被卡,忘了k=0了,不停wa;#include<bits/stdc++.h> #define rep(i,k,n) for(int i=k;i<(n);i++) using namespace std; const int N=100005; const int mod=231733; co

limboman的博客 419

C#计算八字

private string[] jq = { "小寒", "大寒", "立春", "雨水", "惊蛰", "春分", "清明", "谷雨", "立夏", "小满", "芒种", "夏至", "小暑", "大暑", "立秋", "处暑", "白露", "秋分", "寒露", "霜降", "立冬", "小雪", "大雪", "冬至" };private string[] dz = { "丑", "寅", "卯", "辰", "巳", "午", "未", "申", "酉", "戌", "亥", "子" };

m0_72939038的博客 827

ubuntu为Docker配置代理

我们平常在ubuntu终端中使用curl或git命令时,往往会很慢。所以,首先需要给ubuntu终端环境添加代理。查看自身那个软件的端口号,我这里是7890。

不想随波逐流的大学生一枚,我们每个人都在努力奔跑 1643

BZOJ 3198 Sdoi2013 spring Hash+容斥原理

题目大意:给定n个元素,每个元素是一个六元组,求有多少对元素满足相同的位置恰好有k个 首先对于恰好有K个这种东西果断考虑容斥原理 我们2^6枚举相同的位置 恰好有k个元素相同的对数=至少有k个位置相同的对数-至少有k+1个位置相同的对数+至少有k+2个位置相同的对数…… 但是我们计数时会发现一些问题 比如下面这组样例显然是0: 2 3 1 2 3 4 5 5 1 2 3 4 6 6

世界 2872

RK3588设备树节点实战:从零配置音频与显示模块(ES8388+DSI0)

本文详细介绍了在RK3588平台上配置音频编解码器ES8388和显示接口DSI0的设备树节点实战。通过具体案例拆解设备树节点的编写逻辑与调试技巧,包括音频路由与声卡配置、DSI控制器基础配置、视频通路路由配置以及电源管理与时钟树设计。文章还提供了调试工具与实战技巧,帮助开发者快速解决常见问题。

weixin_42525637的博客 351

容斥系数

关于容斥系数: 8,9考试,建设城市: 考试时推+写了一个小时半,因为容斥系数卡了半天,一直在想之前做过的相似的集合计数的复杂系数。但最后不是,通过DP验证发现是最简单的正负1系数。 在一般容斥中都是1,-1,1,-1。保证每个点都只有1层。可用组合数推出。 而《集合计数》(见CQzhangyu :https://www.cnblogs.com/CQzhangyu/p/7124...

dianzhi3705的博客 596

Frida提取Cocos游戏XXTEA密钥的实战方法论

XXTEA是一种轻量级分组加密算法,广泛用于移动端游戏通信保护;其128位密钥的安全性直接决定网络协议逆向成败。在Cocos引擎生态中,密钥常以静态常量、JNI动态传递或Native运行时派生三种形态存在,导致传统静态分析失效。Frida凭借跨Java/Native注入能力与内存实时观测优势,成为捕获密钥‘出生瞬间’的关键工具——尤其适用于hook xxtea_encrypt函数入口、监控JNI参数传递、设置内存断点追踪派生过程等场景。本文聚焦Cocos2d-x与Cocos Creator项目,覆盖从密钥识

weixin_33509600的博客 416

基于 Simulink 的 PFC + LLC 级联系统联合仿真与优化实战教程

摘要:本教程详细介绍了2kW级AC-DC变换器建模方法,采用"BoostPFC+LLC谐振变换器"组合架构。重点解析了双级系统的核心控制策略:前级BoostPFC实现功率因数校正(PF>0.95),后级LLC通过变频调制(PFM)实现高效能量传输。教程包含四大关键步骤:PFC建模与控制、LLC参数计算与实现、母线电容优化设计以及系统联合调试,特别针对级联系统常见的母线电容震荡问题提供了解决方案。同时给出了仿真波形分析指南和避坑建议,包括代数环处理、仿真步长设置等实用技巧,为新能源车

MHD0815的博客 118

BZOJ3198[Sdoi2013]spring

题目大意 懒惰的人不想复制题面了~ 给出n(n&lt;10 0000)个六元组,再给出一个k 求有多少对六元组中有恰好k个相同(对应的位置相同) Sample Input 5 8 2 1 2 5 8 2 5 9 9 5 1 6 2 5 1 1 8 1 2 8 7 2 5 4 9 1 2 1 1 1 4 2 1 Sample Output 13 19 Soluti...

ssl_lyy的博客 299

国科大学习资料--现代数字信号处理I(张颢)--2020年期末考试试卷

国科大学习资料–现代数字信号处理I(张颢)–2020年期末考试试卷 国科大学习资料–现代数字信号处理I(张颢)–2020年期末考试试卷 国科大学习资料–现代数字信号处理I(张颢)–2020年期末考试试卷 =========================================================================================================================================================

无名何许人的博客 3574

bzoj3198【SDOI2013】spring

容斥原理+哈希

AaronPolaris 4600

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

BZOJ3198 [Sdoi2013]spring 哈希 容斥原理

欢迎访问~原文出处——博客园-zhouzhendong 去博客园看该题解 题目传送门 - BZOJ3198 题意概括   有n(1<=n<=100000)组数据,每组数据6个数。   现在问有几对数据,满足其数字相同的个数恰好为k。   0<=k<=6 题解   首先暴搜是不行的。   然后我们发现可以哈希+容斥。   对于有至少有x个数字相...

weixin_30481087的博客 140

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

[BZOJ 3198] [Sdoi2013] spring 【容斥 + Hash】

题目链接:BZOJ - 3198 题目分析 题目要求求出有多少对泉有恰好 k 个值相等。 我们用容斥来做。 枚举 2^6 种状态,某一位是 1 表示这一位相同,那么假设 1 的个数为 x 。 答案就是 sigma((-1)^(x - k) * AnsNow * C(x, k)) 。注意 x 要大于等于 k。 对于一种状态,比如 10110,就是要保证第 1, 3, 4 个值相同。...

weixin_30294021的博客 75

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

bzoj3198[Sdoi2013]spring 容斥+hash

3198: [Sdoi2013]springTime Limit: 40 Sec Memory Limit: 256 MBSubmit: 1143 Solved: 366[Submit][Status][Discuss] Description Input Output Sample Input 3 3 1 2 3 4 5 61 2 3 0 0 00 0 0 4 5 6 Sample O...

weixin_30832351的博客 102

bzoj 3198 [Sdoi2013]spring hash+容斥原理

Description 有n条河流,每条河流有6个特征。对于给定的k,求多少对河流有恰好k个特征相等 n≤105n\le10^5n≤105 Solution 知道了套路就驾轻就熟了。。 我们只需要求出至少k个特征的答案,那么26枚举这些特征然后用hash判一下,最后套一个容斥就可以了 嗯,似乎非常简单,至少看起来是这样的 但是这里的hash似乎需要一些高超技巧,我们简单地当成6位BASE进制膜...

olahiuj的博客 184

[bzoj3198][Sdoi2013]spring——容斥+哈希表

题目大意: 给定一些六元组,求有多少对(i,j)(i,j)(i,j)满足i,ji,ji,j中恰有kkk对对应相同。 思路: 考虑≥k\geq k≥k的对数然后简单容斥。 考虑到只有六元组,于是直接枚举子集之后把那几位提取出来,单独把那几位哈希然后计算相同的对数有多少。 但是哈希冲突很大,直接手写哈希表即可。 #include&lt;bits/stdc++.h&gt; #define REP(i,...

ylsoi的博客 240

用Deepseek V4 Pro+Opencode实现乐高MOC的代码化生成

乐高数字建模本质上是基于离散单元、标准化尺寸与刚性连接约束的物理结构设计问题。其核心原理在于将人类意图精确映射为LDraw标准格式的毫米级装配指令,依赖确定性的坐标系统(1 LU = 0.4mm)、零件拓扑关系及公差容限(±0.02mm)。该技术突破了传统GUI建模工具的学习门槛与精度瓶颈,提供可验证、可版本控制、可批量导出(STL/STEP/PDF)的工程化输出能力,广泛应用于STEAM教学教具开发、商业MOC快速迭代与开源社区协作。本文聚焦于Deepseek V4 Pro与Opencode协同构建的‘语

weixin_30731305的博客 353

[BZOJ3198][SDOI2013]Spring(容斥+Hash)

给定n个六元数,问有多少对数有m元对应相等。 考虑“有多少对数至少m元对应相等”的求法,显然枚举相等的位置,在这些位置上Hash统计即可。 容斥定理:至少有k个的-C(k+1,k)* 至少有k+1个的+C(k+2,k) *至少有k+2个的…=恰好有k个的。 按上式容斥,问题得解。 1 #include<cstdio> 2 #include<cstring>...

weixin_30624825的博客 94

BZOJ 3198 [Sdoi2013]spring

题目链接 https://www.lydsy.com/JudgeOnline/problem.php?id=3198 题解 考虑容斥,答案就是∑i=kn(ik)×\sum_{i=k}^n\binom{i}{k}\times∑i=kn​(ki​)×至少iii个相同的方案数。这个用hash统计就可以了。 代码 #include <cstd...

dilei7762的博客 100

bzoj 3198: [Sdoi2013]spring 题解

【原题】 3198: [Sdoi2013]spring Time Limit: 40 Sec  Memory Limit: 256 MB Submit: 253  Solved: 95 Description Input Output Sample Input 3 3 1 2 3 4 5 6 1 2 3 0 0 0

阿蒋的专栏 1297

BZOJ3198 spring 哈希+容斥原理

题目链接 题目描述 有n组a,b,c,d,e,f,g,求a,b,c,d,e,f,g六个数中恰好有k个对应相等的对数,n≤100000,0≤a,b,c,d,e,f,g≤230n\le100000,0\le a,b,c,d,e,f,g\le 2^{30}n≤100000,0≤a,b,c,d,e,f,g≤230 容斥是广义容斥,由至少求恰好,不会可以看看这个广义容斥原理个 想借这个题说说哈希 先枚举二进...

Master.Yi的博客 216

bzoj3198 [sdoi2013] spring 哈希挂表+容斥

6这个数据非常小,而且hash只能用来匹配,并不能检验完全不匹配,对于处于对立面的小数据就需要使用大型暴力容斥 但这个题超级卡hash,不知道是数据的锅还是题目本身的性质,直接上双hash都过不了 首先hash是被hash的数规模越小越不容易错,所以对于枚举每个数容斥不如先容斥再枚举每个数,这样容斥的位数确定就可以单独使用hash,规模会小很多,所以就是用了hash挂表。先正常用long lo

-----PSI----- 295

bzoj 3198: [Sdoi2013]spring (hash+容斥原理)

3198: [Sdoi2013]spring Time Limit: 40 Sec  Memory Limit: 256 MB Submit: 947  Solved: 296 [Submit][Status][Discuss] Description Input Output Sample Input 3 3 1 2 3 4 5

clover_hxy的博客 556
上一篇: BZOJ1853 容斥DFS+剪枝
下一篇: CF285E 容斥+恰好+DP
animalcoder
博客等级 码龄9年 43粉丝 150原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值