-
B - 最少拦截系统
- HDU - 1257
- 7,6,5,6,3,2,4,1
- 答案是3吗?其实对于这组数据,只要两套就够了。
- 第一套拦截系统:7,6,5,4,1
- 第二套拦截系统:6,3,2
- 这是毫无疑问的,对于剩下的两个数据,继续用第一套系统就可以了
-
#include <bits/stdc++.h> using namespace std; #define maxn 1000000 int x,n,ans,a[maxn],i,j; int main() { while(cin>>n) { ans=0; for(i=0; i<n; i++) { cin>>x; for(j=0; j<ans; j++) { if(x<=a[j]) { a[j]=x; break; } } if(j==ans) a[ans++]=x; } cout<<ans<<endl; } return 0; }
B - 最少拦截系统-贪心
最新推荐文章于 2021-04-13 16:00:20 发布
本文介绍了一种解决最少拦截系统问题的算法实现。通过输入一系列数值,算法能够确定最少需要多少套系统来完成所有数值的有效拦截。核心思路是利用动态规划的思想,每次遇到新的数值时尝试将其分配到已有的拦截系统中,如果无法分配则新建一套系统。
1275

被折叠的 条评论
为什么被折叠?



