• 第五第六课------递推+记忆话搜索+搜索八皇后(思想是做梦)+各种剪枝思想


    搜索是一个漫长的过程贯彻整个oi;

    八皇后-------

    #include <bits/stdc++.h>
    #define inf 0x7f
    using namespace std;
    int n,ans,a[inf],b[inf],c[inf],d[inf];
    void print(){
     ++ans;
     if(ans<=3){
     for(int i=1;i<=n;i++) cout<<d[i]<<" ";
     cout<<endl;
     }

    void s(int k){//行
    for(int i=1;i<=n;i++){//枚举每一列
    if(a[i]==0&&b[k-i+n]==0&&c[i+k]==0){
      d[k]=i;
      a[i]=1;
     b[k-i+n]=1;
     c[i+k]=1;
     if(i==n) print();
     else s(k+1);
     b[k-i+n]=0;
     c[i+k]=0;
     a[i]=0;
    }
     }
     ;
    }
     
    int main(){
    cin>>n;
    s(1);
    cout<<ans;
    return 0;
    }
    上述代码是有问题的,目前还未找出;
    递推讲了基本的
    卡特兰数是 an=an-1+2(n-1),具体请见课件
    第二类斯特林数  】n个有区别的球放到m个相同的盒子中,要求无一空 盒,其不同的方案数用S(n,m)表示,称为第二类Stirling数。  S2(n,m)=mS2(n-1,m)+S2(n-1,m-1)   (n>1,m1)要么将n-1个球放进所有盒子里其中最后一个球可以放进任意一个,另外一个就是只把一个球放在盒子里;
    斐波拉契 f(n)=f(n-1)+f(n-1)//请参照兔子定理
    最重要的是要自己根据前面与后面的关系(就是前面是怎么从后面来的)
    可行性剪纸和最优性剪纸请自学;
    原绿色洒满天际
  • 相关阅读:
    安装 Ruby, Rails 运行环境
    saas 系统租户个性化域名&&租户绑定自己域名的解决方案
    caddy server 几个常用插件
    caddy server && caddyfile
    caddy server 默认https && http2的验证
    caddy server 了解
    redis 连接池的一些问题
    Hangfire 任务调度
    Spring Cloud feign 服务超时处理
    windows 2016 容器管理
  • 原文地址:https://www.cnblogs.com/sc-pyt-2021-theworld/p/10113655.html
Copyright © 2020-2023  润新知