[BZOJ3622]已经没有什么好害怕的了(容斥原理+DP)

Java后端实战:钉钉互动卡片消息从配置到生产级对接 在企业级消息推送场景中,机器人通知已从简单的文本向富交互演进。其核心原理在于通过可交互的卡片模板,将传统单向通知升级为双向、有状态的微型应用界面,实现了用户无需跳转即可完成操作的技术价值。这广泛应用于审批、任务确认、数据填报等需要即时反馈的业务流程。本文聚焦于钉钉平台,深入剖析其互动卡片消息机制,并基于Java后端,系统讲解如何实现包括安全验签、异步回调与卡片动态更新在内的生产级对接方案,涵盖配置管理、服务降级等工程实践关键点,助力构建稳定高效的企业消息交互服务。 阅读详情

=== ===

这里放传送门

=== ===

题解

首先可以算出如果要满足要求的话要求糖果比药片大多少组,就是(n+k)/2。如果n+k不能整除2的话就判断无解。设 K=(n+k)2 。
直接求不是很好求,因为如果直接求的话要固定某K组A比B大,还要保证剩下的A不比B大。那么考虑先求出至少有K组A比B大的,这个就可以DP了。先A和B分别排序,然后设f[i][j]表示到了A组的第i个数字,A比B大的有j组。这样的话因为两个数组都是有序的所以可以很方便地定位一段A比B大的前缀,设这段前缀一共有p个数,里面一开始已经选了j个,还剩下p-j个没有选,所以递推f[i+1]的时候就是:

f[i+1][j+1]={f[i][j+1],不强制A组的第i+1个数字比B组的大f[i][j]∗(p−j),强制A组的第i+1个数字比B组的某个数字大

这样的话最后的f[n][i]就是选定了i组数让它强行A比B大的方案数。剩下的n-i个数字可以随便放,这样就得到了至少有k组A比B大的方案数。但是那些随便放的数字也可能会造成A比B大的情况,所以需要容斥一下: ∑i=knf[n][i]∗C(i,k)∗(−1)i−k 。

代码

#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
const long long Mod=1e9+9;
int n,k,a[2010],b[2010];
long long Ans,f[2010][2010],C[2010][2010],mul[2010];
void get_C(int N){
    for (int i=0;i<=N;i++) C[i][0]=1;
    for (int i=1;i<=N;i++)
      for (int j=1;j<=i;j++)
        C[i][j]=(C[i-1][j]+C[i-1][j-1])%Mod;
}
int main()
{
    scanf("%d%d",&n,&k);
    if ((n+k)%2!=0){printf("0\n");return 0;}
    k=(n+k)/2;f[0][0]=1;
    get_C(n);mul[0]=1;
    for (int i=1;i<=n;i++) mul[i]=mul[i-1]*i%Mod;
    for (int i=1;i<=n;i++) scanf("%d",&a[i]);
    for (int i=1;i<=n;i++) scanf("%d",&b[i]);
    sort(a+1,a+n+1);sort(b+1,b+n+1);
    for (int i=0,p=0;i<=n;i++){
        while (p<n&&b[p+1]<a[i+1]) ++p;
        for (int j=0;j<=i;j++)
          if (f[i][j]!=0){
              f[i+1][j]=(f[i+1][j]+f[i][j])%Mod;
              if (p-j>=0)
                f[i+1][j+1]=(f[i+1][j+1]+f[i][j]*(long long)(p-j)%Mod)%Mod;
          }
    }
    for (int i=0;i<=n;i++) f[n][i]=f[n][i]*mul[n-i]%Mod;
    for (int i=k,dlt=1;i<=n;i++,dlt=-dlt)
      Ans=(Ans+dlt*C[i][k]*f[n][i]%Mod)%Mod;
    Ans=(Ans+Mod)%Mod;
    printf("%I64d\n",Ans);
    return 0;
}
rosbag分析传感器数据的时间同步情况方法 ROS传感器时间同步分析流程:通过rosbaginfo初步检查bag文件信息,使用rqt_bag可视化时间线分布,采用rostopicecho或Python脚本提取各传感器时间戳并计算时间差统计值(均值/最大差/标准差),最后分析接收与采样时间延迟。量化评估同步精度,识别固定偏移或随机抖动问题,确保多传感器数据对齐,为后续融合处理提供可靠数据基础。 阅读详情

相关推荐

【硬件相关】IB网与以太网核心技术解析及高性能网络部署指南

本文深入解析了IB网与以太网的核心技术差异,包括协议栈、流量控制机制及硬件架构,并提供了高性能网络部署的实战指南。通过对比测试和调优案例,展示了IB网在低延迟和高负载下的优势,以及混合组网中的创新应用,助力超算集群和高效网络部署。

weixin_29311017的博客 100

BZOJ3622 容斥+DP+恰好

33.BZOJ3622 容斥定理+DP+恰好 题意: 各有n个数an,bn,上下11匹配,问恰好ai&gt;bi 比ai&lt;bi多k组的方案数 等价于问恰好ai&gt;bi 有(n+k)/2组的方案数 恰好-&gt;至少 ,先求至少 : 设dp[i][j]为前i个数至少j组满足 a[x]&gt;b[y]的方案数 Dp[i][j]=dp[i-1][j](第i个不匹配小的) +dp[...

animalcoder 288

线上专利申请(超详细)| 签名确认

在【法人登录】页面点击【证书登录】按钮,弹出证书登录提示框,点击【确 认】按钮,进入到输入证书密码页面,点击【取消】按钮,取消本次操作。企业在提交申请时,需要增加签名,如使用企业账户点击提交,会弹出“法人、代理机构不能签名,请使用经办人签名”,这个时候就需要换个账号了。在需要签名时,将专利官网的登录方式点击法人登录,选择扫码登录,使用移动端经办人账户的扫一扫功能扫描登录。登录完成后,再点击签名,使用移动端扫一扫功能,扫描签名,输入证书号,确认签名,并提交。最后,祝大家的申请都成功!

weixin_62112323的博客 9112

【BZOJ3622】已经没什么好害怕的了(dp,容斥原理,二项式反演)

首先设有 xxx 组 a>ba>ba>b,由 x−(n−x)=kx-(n-x)=kx−(n−x)=k 解得 x=n+k2x=\dfrac{n+k}{2}x=2n+k​。 先将 aaa、bbb 数组排序。 然后设 f(i,j)f(i,j)f(i,j) 表示前 iii 个 aaa 中,选了 jjj 组 a>ba>ba>b。 显然有: f(i,j)=f(i−1,j)+[li−(j−1)]f(i−1,j−1)f(i,j)=f(i-1,j)+\big[l_i-(j-1)\big]f

ez_lcw的博客 240

蓝桥杯历年真题分类汇总(史上最全版本,一定不要错过)

天再高又怎样,踮起脚尖就更接近阳光。 满满的 题型总结​ 历年真题​ 视频讲解​ 比赛技巧 题型总结 2021 2020 2019 2018 2017 2016 2015 2014 2013 ...

m0_58367586的博客 11万+

别再只当代码阅读器了!手把手教你用Understand的实体定位器和信息浏览器,5分钟精准定位代码逻辑

本文深入解析Understand代码分析工具的高级功能,重点介绍实体定位器和信息浏览器的实战应用。通过5分钟快速定位代码逻辑的技巧,帮助开发者从代码阅读者升级为逻辑侦探,提升大型代码库的分析效率。文章包含过滤搜索、调用链追踪等实用方法,是掌握Understand核心功能的必备指南。

weixin_28745821的博客 292

BZOJ - Problem 3622 - 已经没有什么好害怕的了

题意:   给定两个序列$a$和$b$,让它们进行匹配,求出使得$a_i > b_j$的个数比$a_i < b_j$的个数恰好多$k$,求这样的匹配方法数 题解:   这题的各种表示有一点相似又截然不同,很容易混淆。   直接求恰好满足$k$对不好求,所以先放宽条件,这样子有利于构造动规方程。   先用$f_{i, j}$表示在前$i$个中,至少选择$j$个$a &...

202

手把手教你从入门到精通C# MES通信

本文是C#与MES通信通信的目录,使用C#与各种MES系统通信的方法我都会在专栏中讲到,比如WebService、Http、Ftp、共享文件夹、串口通信等,绝对是上位机软件工程师实现与MES系统通信的必备教程!

qq_34059233的博客 8751

容斥原理和容斥DP

容斥原理和容斥DP 容斥原理 ∣⋂i=1nSi‾∣=∣U∣−∣⋃i=1nSi∣=∑0≤k≤n(−1)k∑1≤i1<⋯<ik≤n∣⋂j=1kSij∣ \left|\bigcap_{i=1}^n \overline{S_i}\right| = |U| - \left|\bigcup_{i=1}^n S_i\right| = \sum_{0 \le k\le n}(-1)^k\sum_{1\le i_1<\cdots<i_k\le n}\left|\bigcap_{j=1}^k S_{i_

jiahonghao2002的博客 550

Open3D(C++) 读取、可视化并保存点云【2025最新版】

博客长期更新,本文最近更新时间为:2025年1月6日。

点云侠的博客 4620

复习单片机:动态数码管(1 数码管介绍+2 74HC245 和 74HC138 芯片介绍+3 硬件设计+4 软件设计+5 实验现象)

复习单片机:动态数码管(1 数码管介绍+2 74HC245 和 74HC138 芯片介绍+3 硬件设计+4 软件设计+5 实验现象)

wo12369874的博客 1701

容斥 dp

容斥系数一般是 (−1)∣S∣(-1)^{|S|}(−1)∣S∣。 初学容斥原理时都做过这样的一道题。有一张 n×mn \times mn×m 的棋盘,在上面染色,要求任意一行、任意一列的颜色都不完全相同。这是一个模型 全部 −-− 至少一个 +++ 至少两个 $- \cdots = \ $一个也没有。 所以我们枚举一下有多少行颜色一定相同,有多少列颜色一定相同。可以发现如果只有行或只有列,那么每行(每列)的颜色不一定相同,而同时有行和列就必须是同一颜色。那么用行数 +++ 列数套上容斥系数就行了。 其实在

ylxmf2005's Blog 591

yolov5改进之Fasternet主干网络替换

fasternet替换yolov5主干网络

qq_41920323的博客 5144

BZOJ 3622 Luogu P4859 已经没有什么好害怕的了 (容斥原理、DP)

题目链接 (Luogu) https://www.luogu.org/problem/P4859 (bzoj) https://www.lydsy.com/JudgeOnline/problem.php?id=3622 题解 我依然啥都不会啊…… 先给\(A,B\)数组从小到大排序。 考虑容斥,设\(f[j]\)表示钦定了\(j\)个满足\(A>B\), 所有钦定方案的方案数总和。...

weixin_30439131的博客 167

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

BZOJ 3622(已经没有什么好害怕的了-Dp+容斥原理)

3622: 已经没有什么好害怕的了 Time Limit: 10 Sec  Memory Limit: 256 MB Submit: 7  Solved: 6 [Submit][Status] Description Input Output Sample Input 4 2 5 35 15 45 40 20 10 30 Sampl

nike0good |Oier&ACMer | 熟能生巧 1991

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

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

BZOJ 3622 已经没有什么好害怕的了 DP 容斥原理

题目大意:给出长度为n的a,b两个序列,元素互不相同。求有多少种匹配满足ai>bi比ai< bi多m对。将问题转化一下,即求有多少种匹配其中ai>bi恰好为(n+m)/2,其余均为ai< bi。 若设状态为f(i,j)表示a序列中前i个元素匹配完恰好有j对为ai>bi,发现根本没法转移。看到计数问题可以考虑容斥。需要将状态设置得便于转移,将状态改为f(i,j)表示a序列中前i个元素至少匹配了j对满

YihAN_Z 495

[bzoj3622][DP][容斥原理]已经没有什么好害怕的了

Description Input Output Sample Input 4 2 5 35 15 45 40 20 10 30 Sample Output 4 HINT 输入的2*n个数字保证全不相同。 还有输入应该是第二行是糖果,第三行是药片 题解 DP呀.. 从小到大排序...

Rose_max的博客 255

bzoj3622 已经没有什么好害怕的了(容斥原理+DP+二项式反演)

bzoj3622 已经没有什么好害怕的了 原题地址:http://www.lydsy.com/JudgeOnline/problem.php?id=3622 题意: 数据范围 1≤ n ≤ 2000,0 ≤ k ≤ n 题解: 首先k+n" role="presentation" style="position: relative;">k+nk+nk+n不是偶数就无解了,让k=(

Bfk的博客 650

bzoj3622 已经没有什么好害怕的了(dp+容斥原理)

题目链接 题目描述: 两种元素a,ba,ba,b,各有n个,两两配对,求a[i]&gt;b[i]a[i]&gt;b[i]a[i]>b[i]的组数恰好比a[i]&lt;b[i]a[i]&lt;b[i]a[i]kkk的方案数 分析: 有点受这道题的启发 由题面可得,a[i]&gt;b[i]a[i]&gt;b[i]a[i]>b[i]的组数应该为n+k2n+k2n+k \over 2 (在这里...

Coco_T的博客 331

[BZOJ3622]已经没有什么好害怕的了(dp+容斥原理+组合数学)

题目描述传送门题解首先判断是否有解,也就是(n+k)/2 mod 2=0 这样的话也就相当于糖比药大的正好有(n+k)/2组 然后剩下的和BZOJ2024就一样了 dpf(i,j)表示前i个糖选出了j个并且比配对的药大的方案数 答案就是强制满足k个-强制满足k+1个+强制满足k+2个… 就是容斥一下,每一次将没选的乘上阶乘(表示任意配对个数),容斥系数是CkiC_i^k代码#include

zyf2000 778

BZOJ 3622: 已经没有什么好害怕的了 [容斥原理 DP]

3622: 已经没有什么好害怕的了 题意:和我签订契约,成为魔法少女吧 真·题意:零食魔女夏洛特的结界里有糖果a和药片b各n个,两两配对,a>b的配对比b>a的配对多k个学姐就可能获胜,求方案数 PS:洛谷月赛拿到了一个Modoka的挂件O(∩_∩)O哈哈~ 总的方案数就是\(n!\),相当于一个做全排列 恰好多k个,那么就是a>b的有\(k=k+\frac{n-k}{2}\...

weixin_30808575的博客 102

【BZOJ 3622】3622: 已经没有什么好害怕的了(DP+容斥原理)

3622: 已经没有什么好害怕的了 Time Limit:10 SecMemory Limit:256 MBSubmit:683Solved:328 Description Input Output Sample Input 4 2 5 35 15 45 40 20 10 30 ...

weixin_30723433的博客 192

[BZOJ 3622]已经没有什么好害怕的了(Dp+容斥原理)

Description 图片略 Solution 对啊,已经没有什么好害怕的了 没有头的麻美学姐还是很萌的(雾 排序预处理p[i]为b中小于a[i]的最大的数的标号 f[i][j]表示前i个糖果使得糖果大于药片的至少有j组 则f[i][j]=f[i-1][j]+f[i-1][j-1]*(p[i]-j+1) 容斥得g[j]=f[n][j]*(n-j)!-∑g[k]*C(j,k) ...

weixin_33908217的博客 99
上一篇: [BZOJ4455][Zjoi2016]小星星(容斥原理+树形DP)
下一篇: [BZOJ2281][Sdoi2011]黑白棋(博弈+组合数学)
FromATP
博客等级 码龄10年 75粉丝 163原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值