BZOJ 1648 Cow Picnic 奶牛野餐

本文通过一个具体的实例,详细解析了深度优先搜索(DFS)算法的应用,并分享了从理解题目到实现过程的心得体会,包括如何正确评估算法的时间复杂度。

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

作为傻逼的我,一开始就想到了DFS的正解。但是看了看数据范围 DFS的时间复杂度是(K+E)*NoW K是点 E是边 NOW是奶牛数量
掂量了下 觉得过不去,苦思冥想之后。看了下题解,卧槽这么简单吗? 发现自己看错了,把K+E 看成了K*E,惭愧惭愧~

 

 1 #include <cstdio>
 2 #include <algorithm>
 3 #include <cstring>
 4  
 5 #define up(a,b,c) for(int c = a;c<=b;++c)
 6 #define mem(a,b) memset(a,b,sizeof(a))
 7  
 8 struct node{
 9     int u,v,next;
10     node(){}
11     node(int _u,int _v,int _next){
12         u = _u;
13         v = _v;
14         next = _next;
15     }
16 }Edge[10005];
17  
18 int k,now[233],n,m,Count,head[10005];
19 int ans[1005],tot;
20 bool vis[1005];
21  
22 void dfs(int x){
23     vis[x]=1;
24     ans[x]++;
25     for(int i=head[x];i;i=Edge[i].next){
26         if(!vis[Edge[i].v]) dfs(Edge[i].v);
27     }
28 }
29  
30 int main(){
31     scanf("%d%d%d",&k,&n,&m);
32     up(1,k,i) scanf("%d",&now[i]);
33     up(1,m,i) {
34         int x,y;
35         scanf("%d%d",&x,&y);
36         Edge[Count]=node(x,y,head[x]);
37         head[x] = Count++;
38     }
39     up(1,k,i){
40         mem(vis,0);
41         dfs(now[i]);
42     }
43     up(1,n,i){
44         if(ans[i]==k) tot++;
45     }
46     printf("%d\n",tot);
47     return 0;
48 }

 

转载于:https://www.cnblogs.com/OIerLYF/p/7496036.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、付费专栏及课程。

余额充值