51nod 1279 扔盘子(思维题)
2017-04-01 13:48
239 查看
【分析】如果第i个井宽大于第i-1个,那么大于的那部分是完全没用的。就可以减掉那部分,于是井就变成了一个从上到下非递增的,两个指针O(n)就可以解决了
#include<iostream> using namespace std; int a[101000]; int b[101000]; int main(){ int n, m, ans = 0; cin >> n >> m; for(int i = 1; i <= n; i++) { cin >> a[i]; if(i > 1 && a[i] > a[i - 1]) a[i] = a[i - 1]; } for(int i = 1; i <= m; i++){ cin >> b[i]; } for(int i = n, j = 1; i >= 1; i--){ while(a[i] < b[j] && i >= 1) i--; if(a[i] >= b[j])ans++; j++; } cout << ans << endl; return 0; }
相关文章推荐
- 51NOD 1279 扔盘子(二分 + 思维)
- 51Nod - 1279 扔盘子(思维)
- 51Nod 1279 扔盘子 栈模拟
- 51Nod - 1279 扔盘子(二分)
- 51nod 1279 扔盘子
- 51nod-1279 扔盘子(单调栈)
- 51nod 1279 扔盘子
- 【51Nod】1279 - 扔盘子(二分)
- 51Nod-1279-扔盘子
- 51nod-1279 扔盘子
- 51nod 1279 扔盘子
- 51nod-【1279 扔盘子】
- 51nod 1279 扔盘子(贪心+二分)
- 51Nod - 1279 扔盘子 —— 单调栈
- 51nod 1279 扔盘子 (二分查找的变形)
- 51Nod - 1279 扔盘子 (单调二分)
- 51nod 1279 扔盘子
- 51nod 1279 扔盘子
- 51nod 1279 扔盘子(单调栈)
- 51nod 1279 扔盘子 【二分+区间优化】