zoukankan      html  css  js  c++  java
  • Educational Codeforces Round 80 (Rated for Div. 2)C(DP)

     1 #define HAVE_STRUCT_TIMESPEC
     2 #include<bits/stdc++.h>
     3 using namespace std;
     4 const long long mod = 1e9+7;
     5 long long pre[1007][1007],temp[1007][1007];
     6 int main(){
     7     ios::sync_with_stdio(false);
     8     cin.tie(NULL);
     9     cout.tie(NULL);
    10     int n,m;
    11     cin>>n>>m;
    12     for(int i=1;i<=n;++i){
    13         pre[1][i]=1;
    14         temp[1][i]=1;
    15     }
    16     for(int i=2;i<=m;++i)//当前位
    17         for(int j=1;j<=n;++j)//第i位以数字j结尾
    18             for(int k=1;k<=j;++k)//保证非降序
    19                 pre[i][j]=(pre[i][j]+pre[i-1][k])%mod;//状态转移
    20     for(int i=2;i<=m;++i)//当前位
    21         for(int j=1;j<=n;++j)//第i位以数字j结尾
    22             for(int k=j;k<=n;++k)//保证非升序
    23                 temp[i][j]=(temp[i][j]+temp[i-1][k])%mod;//状态转移
    24     long long ans=0;
    25     for(int i=1;i<=n;++i)//枚举第二个数组以数字i作为结尾
    26         for(int j=1;j<=i;++j)//枚举第一个数组以数字j作为结尾,j<=i保证了第一个数组最大的都小于等于第二个数组最小的,所以整个数组全部满足小于等于关系
    27             ans=(ans+(temp[m][i]*pre[m][j])%mod)%mod;//相乘得到答案
    28     cout<<ans;
    29     return 0;
    30 }
    保持热爱 不懈努力 不试试看怎么知道会失败呢(划掉) 世上无难事 只要肯放弃(划掉)
  • 相关阅读:
    Web存储
    JavaScript模块化
    jQuery挖源码——事件绑定
    观察者模式——JavaScript
    Node.js之网络小爬虫
    ECMAScript的严格模式
    JavaScript和jQuery的事件
    认识Ajax
    Redis之intset数据结构
    Redis之Hash数据结构
  • 原文地址:https://www.cnblogs.com/ldudxy/p/12196064.html
Copyright © 2011-2022 走看看