首页 > 其他分享 >4. [2003年NOIP普及组] 栈

4. [2003年NOIP普及组] 栈

时间:2022-09-18 19:26:52浏览次数:90  
标签:方案 普及 return NOIP int DFS 2003 栈里 include

#include<iostream>
#include<cstdio>
#include<cmath>
using namespace std;

//因为我们要求的方案数,可以借用离散的思想——
//不用考虑每个数组中具体是那个数 
//只需要按照方案数来做即可

//DFS返回的是在此状态下未来将有的方案数 
int f[1005][1005];//i表示初始剩余,j表示中间栈里的数
//f[][]表示在这个状态之下“未来”再进行讨论的情况数 

int DFS(int i,int j)
{
    if(f[i][j]) return f[i][j];
    if(i==0) return 1;//边界 
    //i==0时数据全部在栈里,此时输出顺序唯一
    //j=1.j=2,j=3时,只要i==0那么方案数就是1 
    if(j==0)//栈空时的未来方案数 
        f[i][j]+=DFS(i-1,j+1);//只能进一下 
    else //栈非空时的未来方案数 
    {
        f[i][j]+=DFS(i-1,j+1);//进一下 
        f[i][j]+=DFS(i,j-1);//或者出一下
    } 
    return f[i][j];//递归回来就是i=n,j=0了 
 } 

int main()
{
    int n=0; 
    cin>>n;
    cout<<DFS(n,0);
    
    return 0;
}

 

标签:方案,普及,return,NOIP,int,DFS,2003,栈里,include
From: https://www.cnblogs.com/xdzxxintong/p/16705499.html

相关文章

  • NOIP 2012 Vigenère 密码
    //(waterproblem)#include<bits/stdc++.h>//#pragmaGCCoptimize(3)usingnamespacestd;intmain(){ strings1,s2; getline(cin,s1);getline(cin,s2); intl1......
  • NOIP 2015 神奇的幻方
    #include<bits/stdc++.h>usingnamespacestd;intn,a[40][40],x,y;intmain(){ cin>>n; x=1,y=(n+1)/2; for(inti=1;i<=n*n;i++){ a[x][y]=i; if(!a[(x-2+n)%n......
  • NOIP 前的复习乱写
    莫队询问是二维的莫队把询问抽象成平面上的点\((x,y)\),那么处理两个询问间的指针移动就是两点之间的曼哈顿距离。我们需要构造一个处理点的顺序来使得指针移动和尽量小......
  • 信息学奥赛一本通 1314:【例3.6】过河卒(Noip2002)
    时间限制:1000ms      内存限制:65536KB提交数:26367   通过数:11410【题目描述】棋盘上A点有一个过河卒,需要走到目标B点。卒行走的规则:可以向下......
  • I [NOIP2012]开车旅行 每次往第一或者第二近的点走,求最大比值 倍增算法 set
    链接:https://ac.nowcoder.com/acm/problem/16562来源:牛客网题目描述小A和小B决定利用假期外出旅行,他们将想去的城市从1到N编号,且编号较......
  • 洛谷 P1036 [NOIP2002 普及组] 选数(dfs)
    https://www.luogu.com.cn/problem/P1036题目大意:从给定的n个数中选出m个求和,结果是一个素数的情况有多少种?输入43371219输出1这个题目的代码是根据Acwing中......
  • 青少年C++编程CSP/NOIP
    C++基础篇C++算法篇数据结构&算法深入信息学竞赛初赛篇信息学竞赛复赛篇信息学等级考试篇C++提高篇https://study.163.com/series/1202896601.htm?inLoc=android_ss_ssjg&u......
  • NOIP复习(一)最短路
    dijkstra复习一遍模板。Dijkstra模板适用性:适用于非负权图。每个点第一次从堆中被取出时,其\(dis\)一定是最短路。\(Dijkstra\)贪心的正确性:现证明:取出\(x\)时,它......
  • NOIP复习(二)二分算法
    提供一种二分写法,不太用考虑边界的问题。intl=st,r=ed,ans=ed+1;while(l<=r){intmid=(l+r)>>1;if(check(mid))ans=mid,l=mid+......
  • windows 2003 server性能监视器
    windows2003server性能监视器(转)-cheneric-博客园 https://www.cnblogs.com/lovko/archive/2009/05/25/1488671.html为什么要监视服务器性能:在企业环境中,服务......