C++分序列终极化简.

< B, K>常式  双交换(){
     常式(B){//满足条件
        {序列<K>(),序列<>()};
    }{
        {序列<>(),序列<K>()};
    }
}
< B, K,...I,...J>
常式  双交换(<序列<I...>,序列<J...>>&t){
     常式(B){//满足条件,加在第一个.
        {连序<K>(t.第一),t.第二};
    }{//不满足,加在第二个.
        {t.第一,连序<K>(t.第二)};
    }
}
<<> G> 分序列{//类版本,不搞那么难.
    < K,...I> 常式  序号(){
        //返回两个,都是序号.K为第一.
        常式  N=型长...(I);
        常式  B=G<K>::动作();
         常式(!N) 双交换<B,K>();
        {//第1位为序号
             t=序号<I...>();
             双交换<B,K>(t);
        }
    }//既要序号,还要位置.
};//还是不行,向量[I],这里
//用两个(位置,序号)来表达,而非(位置,序号)对,
//因为这要的话,要两个`G判断构`来表示.
<<> G,...J>常式  分二序(){
     分序列<G>:: 序号<J...>();
}//
posted @   zjh6  阅读(10)  评论(0编辑  收藏  举报  
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示