首页 > 其他分享 >CF--840--D

CF--840--D

时间:2022-12-29 12:23:45浏览次数:28  
标签:return 840 -- TT CF cin int dp

关键

构造一个先上升,后下降的全排列
采用区间dp f(i,j)表示i到j合法的方案有多少种
从打的开始填写,就可以保证一定是对的
然后特殊的位置check一下就行了
很久没有写过区间dp了,很奇妙

代码

#include <bits/stdc++.h>
using namespace std;
const int M=105,mod=1e9+7;

int f[M][M];
int n,a,b,x,y;
bool check(int i,int v) {
    if(i==a)return v==x;
    if(i==b)return y==v;
    return 1;
}

void add(int &x,int y) {
    x=(x+y)%mod;
}
//区间dp,这个想法很好
//也就看中间的就行了

int main() {
    ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
    int TT;cin>>TT;
    while(TT--) {
        memset(f,0,sizeof(f));
        cin>>n>>a>>b>>x>>y;
        for(int i=2;i<n;i++)
            if(check(i,n))f[i][i]=1;
        for(int len=2;len<=n;len++)
            for(int l=1,r=l+len-1;r<=n;l++,r++) {
                if(check(l,n-len+1))add(f[l][r],f[l+1][r]);
                if(check(r,n-len+1))add(f[l][r],f[l][r-1]);
            }
        cout<<f[1][n]<<endl;
    }
    return 0;
}

标签:return,840,--,TT,CF,cin,int,dp
From: https://www.cnblogs.com/basicecho/p/17012197.html

相关文章

  • m短波宽带通信系统的信道建模matlab仿真
    1.算法概述       宽带短波信道的研究是设计宽带大容量短波通信的基础,但是传统的短波信道的研究仅限于窄带信号传输,这已经无法满足现代短波研究的需要了,本文的主要......
  • Day02
    打开CMD的方式开始+系统+命令提示符Win键+R输入cmd打开控制台(推荐使用)在任意的文件夹下面,按住shift键+鼠标右键点击,在此处打开命令行窗口资源管理器的地址......
  • 零膨胀负二项回归案例分析
    零膨胀负二项回归分析计数研究模型中,常用泊松回归模型,但泊松回归模型理论上是要求平均值与标准差相等,如果不满足,则可使用负二项回归模型,负二项回归放宽了平均值=标准差这......
  • kubernetes的node节点无法部署pod
    尝试了网上的方法,都没有用,最后能重启机器和重启kubectl解决了报错:Failedtocreatepodsandbox:rpcerror:code=Unknowndesc=[failedtosetupsandboxcontain......
  • 狂神说Go语言—错误与异常
    什么是错误error什么是错误错误指的是可能出现问题的地方出现了问题。比如打开一个文件时失败,这种情况在人们的意料之中。和错误类似的还有一个异常,指的是不应该出现......
  • 排版
    要求:少空行,表上图下(名称)word排版功能1.显示/隐藏编辑标记2.重复上一步操作:F43.插入模式:覆盖(INSERT模式)/非覆盖4.ctrl类快捷键:c,v,a,s,z,x,y,鼠标左键,enter5.单机al......
  • MySQL查询数据在一张表不在另一张表的记录
    参考:https://www.cnblogs.com/jelly12345/p/16828722.html方法一:使用notin,易理解,效率低,仅适用单字段匹配适用于数据量小的情况,子表数据少,查外表的时候走外表的索引,这......
  • 在IQuery中使用除法提示"Numeric value does not fit in a System.Decimal"
    起因有个需求是需要汇总(单耗=单件用量*1+损耗率)的值,由于现在我们数据库中存的XX率都是放大了一百倍(即10%数据库存的是10),然后就很自然的写了个linq汇总如下materialOrder......
  • Linux 环境中使用 LVGL
    之前有记录过在esp32中使用LVGL的笔记,需要的小伙伴可以了解一下,esp-idf移植lvgl8.3.3我之前整理的学习资料:https://www.cnblogs.com/jzcn/p/16647106.html一、准备......
  • SiteFactory支持Word图片粘贴
    ​ 这种方法是servlet,编写好在web.xml里配置servlet-class和servlet-mapping即可使用后台(服务端)java服务代码:(上传至ROOT/lqxcPics文件夹下)<%@ page language="java"......