LightOJ 1095 Arrange the Numbers-容斥

本文介绍了一种解决特定计数问题的算法:对于给定的n、m、k,求1到n范围内前m个数中有k个数恰好位于其原始位置的方法数量。采用容斥原理,并结合组合数与阶乘进行计算。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

给出n,m,k,求1~n中前m个正好有k个在原来位置的种数(i在第i个位置)

做法:容斥,先选出k个放到原来位置,然后剩下m-k个不能放到原来位置的,用0个放到原来位置的,有C(m-k,0)*(n-k)!种 - 1个放原来位置的,有C(m-k,1)*(n-k-1)!种+...-...

 1 #include <bits/stdc++.h>
 2 using namespace std;
 3 typedef long long LL;
 4 const int N=1e3+10;
 5 const int INF=0x3f3f3f3f;
 6 const int mod=1e9+7;
 7 int cas=1,T;
 8 int n,m,k,c[N][N];
 9 LL fac[N];
10 void init()
11 {
12     memset(c,0,sizeof(c));
13     c[0][0]=fac[0]=1;
14     for(int i=1;i<N;i++)
15     {
16         fac[i]=fac[i-1]*i%mod;
17         c[i][0]=1;
18         for(int j=1;j<=i;j++) c[i][j]=(c[i-1][j]+c[i-1][j-1])%mod;
19     }
20     //for(int i=0;i<100;i++)
21     //{
22         //for(int j=0;j<=i;j++) printf("%d ",c[i][j]);
23         //printf("\n");
24     //}
25 }
26 int main()
27 {
28     //freopen("1.in","w",stdout);
29     //freopen("1.in","r",stdin);
30     //freopen("1.out","w",stdout);
31     init();
32     scanf("%d",&T);
33     while(T--)
34     {
35         scanf("%d%d%d",&n,&m,&k);
36         LL ans=0;
37         for(int i=0;i<=m-k;i++)
38         {
39             if(i&1) ans-=c[m-k][i]*fac[n-k-i]%mod;
40             else ans+=c[m-k][i]*fac[n-k-i]%mod;
41             ans%=mod;
42             //printf("%lld\n",ans);
43         }
44         ans=ans*c[m][k]%mod;
45         printf("Case %d: %lld\n",cas++,(ans+mod)%mod);
46     }
47     //printf("time=%.3lf\n",(double)clock()/CLOCKS_PER_SEC);
48     return 0;
49 }
View Code

 

转载于:https://www.cnblogs.com/cdyboke/p/5671569.html

内容概要:本文详细探讨了基于阻尼连续可调减振器(CDC)的半主动悬架系统的控制策略。首先建立了CDC减振器的动力学模型,验证了其阻尼特性,并通过实验确认了模型的准确性。接着,搭建了1/4车辆悬架模型,分析了不同阻尼系数对悬架性能的影响。随后,引入了PID、自适应模糊PID和模糊-PID并联三种控制策略,通过仿真比较它们的性能提升效果。研究表明,模糊-PID并联控制能最优地提升悬架综合性能,在平顺性和稳定性间取得最佳平衡。此外,还深入分析了CDC减振器的特性,优化了控制策略,并进行了系统级验证。 适用人群:从事汽车工程、机械工程及相关领域的研究人员和技术人员,尤其是对车辆悬架系统和控制策略感兴趣的读者。 使用场景及目标:①适用于研究和开发基于CDC减振器的半主动悬架系统的工程师;②帮助理解不同控制策略(如PID、模糊PID、模糊-PID并联)在悬架系统中的应用及其性能差异;③为优化车辆行驶舒适性和稳定性提供理论依据和技术支持。 其他说明:本文不仅提供了详细的数学模型和仿真代码,还通过实验数据验证了模型的准确性。对于希望深入了解CDC减振器工作原理及其控制策略的读者来说,本文是一份极具价值的参考资料。同时,文中还介绍了多种控制策略的具体实现方法及其优缺点,为后续的研究和实际应用提供了有益的借鉴。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值