首页 > 其他分享 >2.20 鲜花

2.20 鲜花

时间:2024-02-20 20:44:43浏览次数:23  
标签:cnt sta sit int 鲜花 dfs num 2.20

【数据删除】被收了,原因:大义灭亲

开状压了

但是讲解视频的模糊程度和二十年前的电视剧不相上下

\(B\) 互不侵犯

状压模板

状态转移方程为 $dp_{i,j,k}=\sum\limits_{x=1}^{cnt} dp_{i-1,x,k-sta_j} $,其中 (sit[j]&sit_[x]==0)&&((sit[j]<<1)&sit[x]==0)&&(sit_[j]&(sit[x]}<<1)==0)

\(i\) 表示 填补的第 \(i\) 层,\(j\) 表示 第 \(i\) 层填的 \(j\) 种合法情况,\(k\) 表示到第 \(i\) 层一共填了 \(k\) 个国王,\(sta_i\) 表示 第 \(i\) 种合法情况 填了 \(sta_i\) 个国王
,\(sit_{i}\) 表示 第 \(i\) 种合法情况 的 填补情况

先预处理出每一行合法的情况

然后枚举,判断是否合法就行了

点击查看代码
#include <bits/stdc++.h>
using namespace std;
long long ans;
long long sta[2005], sit[2005], dp[15][2005][105];
int n, k, cnt;
void dfs(int x,int w,int num){
    if(x>=n){
        sit[++cnt]=w;
        sta[cnt]=num;
        return ;
    }
    dfs(x+1,w,num);
    dfs(x+2,w+(1<<x),num+1);
}
// void dfs(int x, int num, int cur) {
//   if (cur >= n) {  // 有新的合法状态
//     sit[++cnt] = x;
//     sta[cnt] = num;
//     return;
//   }
//   dfs(x, num, cur + 1);  // cur位置不放国王
//   dfs(x + (1 << cur), num + 1,
//       cur + 2);  // cur位置放国王,与它相邻的位置不能再放国王
// }
bool check(int x,int y){
    if(sit[x]&sit[y])return 0;
    if((sit[x]<<1)&sit[y])return 0;
    if(sit[x]&(sit[y]<<1))return 0;
    return 1;
}
int main(){
    cin>>n>>k;
    dfs(0,0,0);
    for(int i=1;i<=cnt;i++){
        dp[1][i][sta[i]]=1;
    }
    for(int i=2;i<=n;i++)
        for(int j=1;j<=cnt;j++)
            for(int m=1;m<=cnt;m++){
                if(!check(j,m))continue;
                for(int l=sta[j];l<=k;l++)dp[i][j][l]+=dp[i-1][m][l-sta[j]];
            }
    for(int i=1;i<=cnt;i++)ans+=dp[n][i][k];
    cout<<ans<<endl;
    return 0;
}

标签:cnt,sta,sit,int,鲜花,dfs,num,2.20
From: https://www.cnblogs.com/hlyyllyyl/p/18024006

相关文章

  • 2.20
    有人建议我把闲话写长一点好的,爱你,笔芯第一件事:假发到了只到了一个但是因为我太兴奋了所以我直接带上OMG黑色齐刘海对不起家人们没办法给你们放照片了,害怕辣眼睛因为辣眼睛,我直接就是反手一个祸害朋友最近比较熟的,chancelong(为什么熟,因为天天抄他作业,cbr假期里好像死了......
  • 2.20
    今天开发安卓软件记账本,首先我们从阿里巴巴矢量库里找到所需要的图标,并且打包我们在idea里创建一个Android项目,将图片各分到不同的文件夹里,然后再layout里创建几个主要的页面布局,具体效果如下 同时今天还编写了小键盘 然后通过一个java类来实现自定义小键盘的各项功能......
  • 01.29 鲜花:有主题
    我只想把最近所感悟到的给记录下来。所以,确实是有明确主题的:最近的想法的杂谈。可能比较混乱的。但是我仍然会做到写的清新,明白一些,流畅一些。因为这是我的习惯吧。而且这篇文章写的比较疯癫。无所谓了。大家看看我的这一面也无妨。今天我出地铁的时候,我刚想走上电梯,却发现前面......
  • 算法模板 v1.4.2.20240129
    算法模板v1.1.1.20240115:之前的历史版本已经不可寻,创建了第一份算法模板。v1.2.1.20240116:删除“编译”-“手动开栈”与“编译”-“手动开O优化”;将“编译”-“CF模板”中的第20行代码cin>>T;注释;删除“读写”及其目录下的内容;删除“图论”-“欧拉图”-“混合图”;删除“图论”-......
  • 01.27 鲜花:没有主题
    讲真今天真没啥活。感觉做的题都比较平凡,没啥有趣的东西拿出来写。那就久违地写点鲜花吧。不过我不想去写那些,逻辑的推理的那种。为什么呢?因为只怕到最后把自己也搞晕吧。我确实没什么文采,相比于我生活中遇到的种种人。第一次让我这样感觉的是我曾经遇到过的一个人Y,我看过Y写......
  • 算法模板 v1.3.2.20240124
    算法模板v1.1.1.20240115:之前的历史版本已经不可寻,创建了第一份算法模板。v1.2.1.20240116:删除“编译”-“手动开栈”与“编译”-“手动开O优化”;将“编译”-“CF模板”中的第20行代码cin>>T;注释;删除“读写”及其目录下的内容;删除“图论”-“欧拉图”-“混合图”;删除“图论”-......
  • 大二打卡(12.20)
    uml作业:逻辑视图建模:[系统边界类与系统控制类]系统边界类主要是指系统与用户交互界面有关的类。身份识别门禁子系统中涉及与用户交互的界面类有3个:(1)待机界面类:在镜头前没有人脸需要识别时,待机暂停图像信息的录入与识别。(2)人脸面部信息录入窗口类:开启摄像头的信息录入功能......
  • 鲜花 09
    \(17\)是第三个费马素数(\(=2^{2^2}+1\)),也是Miller-Rabin算法常用底数之一,且此底数很强。如果害怕自己过不去就加上这个底数,然后大概率都是对的。现行的几个能完美判断所有\(2^{63}-1\)以内数字的底数中大多数都包含\(17\)。\(17\)是一个素数。神奇的是,去掉首位他还是一个......
  • 雅礼 2023.12.20 习题课记录(讲解版)
    雅礼\(2023.12.20\)习题课记录(讲解版)前言AlwaysCF,NeverAT。又双是CF题,只能说“水”,AK了。水题(只放代码)B-TwoVessels(CF1872A)有分别装有\(a,b\)单位水的两个杯子,容量无限大。现在有一个勺子,容量为\(c\),每次可以从一个杯子里舀一勺不超过\(c\)单位的水(\(c\)......
  • 12.20~12.21
    昨天奥赛课帮同学调最短路,原理大概就是修改一下dij,结果一直没整出来,以为是思路假了,结果是他板子存图出锅了\(“我可是一个个看着书敲的,肯定没问题”\)JD说的还挺对,这话就不能信奥赛自习终于把题调出来了,发现是返回值的时候接收的那个变量根本就不对,真服了12.21上午好消息......