码迷,mamicode.com
首页 > 其他好文 > 详细

P3984 高兴的津津

时间:2019-08-02 23:00:51      阅读:200      评论:0      收藏:0      [点我收藏+]

标签:for   tps   间隔   code   mes   color   算法   ace   https   

P3984题库链接:https://www.luogu.org/problem/P3984

难度:普及-

算法标签:模拟

1.map模拟 O(n*t) 得分60

看过题后想到了利用map容器来记录高兴天的天号,并将所持续天数的map增加,最后高兴的天数即为map的元素个数

 1 #include <cstdio>
 2 #include <map>
 3 using namespace std;
 4 map<int, int> m;
 5 int main()
 6 {
 7     int n, t;
 8     scanf("%d%d", &n, &t);
 9     for(int i = 0; i < n; ++i)
10     {
11         int k;
12         scanf("%d", &k);
13         for(int j = k; j <= k + t - 1; ++j)
14             ++m[j];
15     }
16     printf("%d\n", m.size());
17     return 0;
18 }

2.朴素模拟 O(n) 得分100

若第i次与第i-1次的间隔小于t,则开心的天数增加第i次与第i-1次的间隔,否则就增加t,最后一次一定能持续t天,所以累加持续的天数为ans+t

 1 #include <cstdio>
 2 using namespace std;
 3 int s[200001];
 4 int main()
 5 {
 6     int n, t, ans = 0;
 7     scanf("%d%d", &n, &t);
 8     scanf("%d", &s[0]);
 9     for(int i = 1; i < n; ++i)
10     {
11         scanf("%d", &s[i]);
12         if(s[i] - s[i - 1] < t) ans += s[i] - s[i - 1];
13         else ans += t;
14     }
15     printf("%d\n", ans + t);
16     return 0;
17 }

P3984 高兴的津津

标签:for   tps   间隔   code   mes   color   算法   ace   https   

原文地址:https://www.cnblogs.com/ZhangRunqi/p/11291340.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!