首页 > 其他 > 详细

B 小雨的三角形

时间:2019-07-13 00:56:51      阅读:32      评论:0      收藏:0      [点我收藏+]

标签:lar   规律题   找规律   题目   map   names   turn   iostream   acm   

题目链接:https://ac.nowcoder.com/acm/contest/949/B

思路:

  • 一个找规律题,找到规律就很简单,只剩下代码实现了。规律:第i行去头尾剩下的数的和等于第i-1行去头和尾后剩下的数的2倍的和再加上头尾的和。纯文字说起来有点绕,详情还是看代码。

代码:

 1 #include <cstdio>
 2 #include <cstring>
 3 #include <iostream>
 4 #include <sstream>
 5 #include <cmath>
 6 #include <algorithm>
 7 #include <string>
 8 #include <stack>
 9 #include <queue>
10 #include <vector>
11 #include <map>
12 using namespace std;
13  
14 const int mod = 1e9+7;
15  
16 long long int sum[1005];
17  
18 void dabiao()
19 {
20     sum[1] = 0;
21     sum[2] = 0;
22     sum[3] = 4;
23     for(int i = 4; i <= 1000; i++)
24     {
25         sum[i] = 2 * (sum[i-1] + (i-1)) % mod;
26     }
27 }
28  
29 int main()
30 {
31     dabiao();
32     int n, m, x, y;
33     while(~scanf("%d%d", &n, &m))
34     {       
35         while(m--)
36         {
37             long long int ans = 0;
38             scanf("%d%d", &x, &y);
39             for(int i = x; i <= y; i++)
40             {
41                 if(i == 1)
42                 {
43                     ans += sum[i] + i;
44                     ans = ans % mod;
45                 }
46                 else
47                 {
48                     ans += sum[i] + 2 * i;
49                     ans = ans % mod;
50                 }       
51             }
52             printf("%lld\n", ans);
53         }
54     }
55     return 0;
56 }

总结:

    刚开始只是每组和求模再求总和后求模,没想到竟然不仅要每组和求模,还要每次求和后都求模,想不到想不到,谁让题做的少。错了那么多次可得长点记性了。

 

B 小雨的三角形

标签:lar   规律题   找规律   题目   map   names   turn   iostream   acm   

原文:https://www.cnblogs.com/Anber82/p/11178754.html

(0)
(0)
   
举报
评论 一句话评论(0
0条  
登录后才能评论!
© 2014 bubuko.com 版权所有 鲁ICP备09046678号-4
打开技术之扣,分享程序人生!
             

鲁公网安备 37021202000002号