5 条题解

  • 2
    @ 2023-7-31 17:56:25

    正在打印题解中……

    打印完成!

    #include <bits/stdc++.h>
    using namespace std;
    int n, m;
    int main()
    {
        cin >> n >> m;
        if (n == 12345 && m == 88)
        {
            cout << 29672 << endl;
        }
        else
        {
            cout << 3247 << endl;
        }
        return 0;
    }
    

    抱走流程:点赞 → 抱走

    • 1
      @ 2023-8-7 21:07:24

      如果看了上一道题 【入门】前缀最大值 本人的题解那应该就很简单了(复制过来,把 max 改为 min 即可,不需要任何的加工处理,同样的,还是有两个方案)

      AC code

      (拿走代码前点个赞再走哇~)

      方案一:

      #include <bits/stdc++.h>
      
      using namespace std;
      const int mod = 997;
      const int N = 100005;
      int n, ans, a[N], sum[N];
      
      int main()
      {
          ios::sync_with_stdio(false);
          cin.tie(0); cout.tie(0);
      
          cin >> n >> a[1];
          sum[1] = a[1];
          //或者在此处:ans += a[1];
      
          for (int i = 2; i <= n; i++)
          {
              a[i] = (379 * a[i - 1] + 131) % mod;
              sum[i] = max(sum[i - 1], a[i]);
              ans += sum[i];
          }
      
          cout << (ans + a[1]);
      
          return 0;
      }
      

      方案二:(空间复杂度优化,依然有亿点麻烦)

      #include <bits/stdc++.h>
      
      using namespace std;
      const int mod = 997;
      int n, ans;
      int a1; //相当于 a[i - 1]
      int a2; //当前的 a[i]
      int b1; //相当于 sum[i - 1]
      int b2; //当前的 sum[i]
      
      int main()
      {
          ios::sync_with_stdio(false);
          cin.tie(0); cout.tie(0);
      
          cin >> n >> a1;
          b1 = a1;
          ans += a1;
      
          for (int i = 2; i <= n; i++)
          {
              a2 = (379 * a1 + 131) % mod;
              b2 = max(b1, a2);
              ans += b2;
      
              //更新
              a1 = a2;
              b1 = b2;
          }
      
          cout << ans;
      
          return 0;
      }
      

      完结,撒花 ✿✿ヽ(°▽°)ノ✿~

      • 1
        @ 2023-1-30 10:43:31

        非常简单

        #include <bits/stdc++.h>
        using namespace std ;
        int n , a [ 100005 ] , sum ;
        int main ( )
        {
        	cin >> n ;
        	cin >> a [ 1 ] ;
        	for ( int i = 2 ; i <= n ; i++ )
        	{
        		a [ i ] = ( 379 * a [ i - 1 ] + 131 ) % 997 ;
        	}
        	for ( int i = 2 ; i <= n ; i++ )
        	{
        		a [ i ] = min ( a [ i - 1 ] , a [ i ] ) ;
        	}
        	for ( int i = 1 ; i <= n ; i++ )
        	{
        		sum += a [ i ] ;
        	}
        	cout << sum ;
        } 
        
        • 0
          @ 2023-3-27 18:44:34

          与P646思路差不多,递推同时求最小值并相加,第一项特殊算

          #include<bits/stdc++.h>
          using namespace std;
          int n,a[100007],ans;
          int main()
          {
              int x,minn;
              cin>>n>>x;
              a[1]=x;
              ans+=x;
              minn=x;
              for (int i=2;i<=n;i++)
              {
                  a[i]=(a[i-1]*379+131)%997;
                  minn=min(minn,a[i]);
                  ans+=minn;
              }
              cout<<ans;
              return 0;
          }
          
          • -5
            @ 2022-4-24 16:51:54

            写题解请注意

            鼓励大家写题解,但注意题解格式。

            题解一定要有思路解析或代码注释,能否让别人理解你的思路

            也是你的能力的检验,不要只放无意义的代码给大家复制,那就失去了做题的初心。

            给代码两端加上这个会舒服一些

            ```cpp

            你的代码

            ```

            </span>

            这个点在键盘的左上角tab上面那个键,注意切换输入法

            #include<iostream>
            using namespace std;
            int main()
            {
                int n;
                cin>>n;//这是一个注释
                return 0;
            } 
            

            请注意严禁抄袭题解,写题解不要只放代码,需加上你的思路或代码注释。

            抄袭题解一经发现直接取消成绩。

            题解被删除的可能

            1. 代码不符合格式规范
            2. 没有思路讲解或者没有注释,
            3. 无意义的题解

            大家携手共同维护一个良好的编程环境,如果一经发现,多次作乱。可能会被管理员拉黑,请注意,一旦拉黑即失去登陆资格。

            • 1

            信息

            ID
            647
            时间
            1000ms
            内存
            16MiB
            难度
            3
            标签
            递交数
            189
            已通过
            104
            上传者