正解:状压dp/插头dp

解题报告:

链接!

……我真的太菜了……我以为一个小时前要搞完的题目调错误调了一个小时……90分到100我差不多搞了一个小时……

然后这题还是做过的……就很气,觉得确实是要搞下博客没事儿复习下不然做过的题目还花俩小时我真的哭死……

先放上错误的90分代码讲一下错哪儿了(因为……其实100并不难是可以想到的……没有太大讲的意义,主要我太菜了所以才会搞这么久TT

点我♂看♂沙雕灵巧在线WA题

然后错误的点是最后一个点RE,开大点儿就MLE。

来考你一下,这个程序错哪儿了?

不知道你发现了没有
就是当j和k可以满足我那个判断的时候,我的同一个ztk会被加进去很多次!然后[]那个计数菌就会变得很大很大!然后它就死了!!!明白了嘛!!!

其实并不是代码只是想折叠下quq

于是我修改了一下,判了下重,就光荣地WA了,还从90降到了30QAQ爆哭QAQ

哭到一半!我突然就!灵光一现!!!就想出来正解!!!就是其实f那个数组是不要开的……你484有点傻……

好然后就放代码趴其实没有改太多并不是很难嘛(……对着你做了两小时的程序你再说一遍这句话???

#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define rp(i,x,y) for(ll i=x;i<=y;i++)
#define rl register ll
ll zt[(<<)+]={},ok[]={},cnt,dp[][(<<)+],ans;
ll read()
{
    ;;
    '))ch=getchar();
    ,ch=getchar();
    )+(x<<)+(ch^'),ch=getchar();
    return y?x:-x;
}
int main()
{
    ll m=read(),n=read();
    rp(i,,(<<n)-)
        ))== && (i&(i>>))==)
            zt[++cnt]=i;
    rp(i,,m)
        rp(j,,n)
        {
            char ch=getchar();
            ')ch=getchar();
            <<(n-j));
        }
    rp(i,,cnt)]&zt[i])==zt[i])dp[][zt[i]]=;
    rp(i,,m)
        rp(k,,cnt)
            rp(j,,cnt)
                ))
                    dp[i][zt[k]]=(dp[i][zt[k]]+dp[i-][zt[j]])%;
    rp(i,,cnt)ans=(ans+dp[m][zt[i]])%;
    printf("%lld",ans);
    ;
}

这儿是code!

P1879 [USACO06NOV]玉米田Corn Fields 状压dp/插头dp的更多相关文章

  1. P1879 [USACO06NOV]玉米田Corn Fields (状压dp入门)

    题目链接: https://www.luogu.org/problemnew/show/P1879 具体思路: 我们可以先把所有合法的情况枚举出来,然后对第一行判断有多少种情况满足,然后对于剩下的行数 ...

  2. [USACO06NOV]玉米田Corn Fields 状压DP

    题面: 农场主John新买了一块长方形的新牧场,这块牧场被划分成M行N列(1 ≤ M ≤ 12; 1 ≤ N ≤ 12),每一格都是一块正方形的土地.John打算在牧场上的某几格里种上美味的草,供他的 ...

  3. [USACO06NOV]玉米田Corn Fields (状压$dp$)

    题目链接 Solution 状压 \(dp\) . \(f[i][j][k]\) 代表前 \(i\) 列中 , 已经安置 \(j\) 块草皮,且最后一位状态为 \(k\) . 同时多记录一个每一列中的 ...

  4. P1879 [USACO06NOV]玉米田Corn Fields(状压dp)

    P1879 [USACO06NOV]玉米田Corn Fields 状压dp水题 看到$n,m<=12$,肯定是状压鸭 先筛去所有不合法状态,蓝后用可行的状态跑一次dp就ok了 #include& ...

  5. 洛谷P1879 [USACO06NOV]玉米田Corn Fields(状压dp)

    洛谷P1879 [USACO06NOV]玉米田Corn Fields \(f[i][j]\) 表示前 \(i\) 行且第 \(i\) 行状态为 \(j\) 的方案总数.\(j\) 的大小为 \(0 \ ...

  6. C++ 洛谷 P1879 [USACO06NOV]玉米田Corn Fields

    没学状压DP的看一下 合法布阵问题  P1879 [USACO06NOV]玉米田Corn Fields 题意:给出一个n行m列的草地(n,m<=12),1表示肥沃,0表示贫瘠,现在要把一些牛放在 ...

  7. 洛谷 P1879 [USACO06NOV]玉米田Corn Fields 题解

    P1879 [USACO06NOV]玉米田Corn Fields 题目描述 Farmer John has purchased a lush new rectangular pasture compo ...

  8. P1879 [USACO06NOV]玉米田Corn Fields

    题目描述 Farmer John has purchased a lush new rectangular pasture composed of M by N (1 ≤ M ≤ 12; 1 ≤ N ...

  9. 【luogu P1879 [USACO06NOV]玉米田Corn Fields】 题解

    题目链接:https://www.luogu.org/problemnew/show/P1879 状压DP. 设dp[i][j]表示第i行,状态为j的方案数 初始dp[0][0] = 1 这样一共12 ...

随机推荐

  1. UML类图关系大全【转】

    UML类图关系大全 1.关联 双向关联:C1-C2:指双方都知道对方的存在,都可以调用对方的公共属性和方法. 在GOF的设计模式书上是这样描述的:虽然在分析阶段这种关系是适用的,但我们觉得它对于描述设 ...

  2. hdoj:2046

    #include <iostream> using namespace std; long long fib(int n) { ) ; ) ; ; ; ) { long long f3 = ...

  3. 文件加密 解密 pdftk openssl gpg vim

    openssl加密和解密 . openssl des -salt -in file -out file.des openssl des -d -salt -in file.des -out file ...

  4. LRU 算法

    LRU算法 很多Cache都支持LRU(Least Recently Used)算法,LRU算法的设计原则是:如果一个数据在最近一段时间没有被访问到,那么在将来它被访问的可能性也很小.也就是说,当限定 ...

  5. ios开发之--关于UIView的autoresizingMask属性的研究

    在 UIView 中有一个autoresizingMask的属性,它对应的是一个枚举的值(如下),属性的意思就是自动调整子控件与父控件中间的位置,宽高. enum { UIViewAutoresizi ...

  6. SQL Server 端口号的使用

    SQL Server 端口号的使用 服务器地址  逗号 端口号 服务器地址,端口号 xxx.xxx.xxx.xxx,0000 www.xxx.com,1533  (1533是SQL Server 的端 ...

  7. 【SpringCloud错误】错误记录

    org.springframework.beans.factory.BeanDefinitionStoreException: Failed to process import candidates ...

  8. css---计算页面的的宽度和长度

    我们在写前端页面的时候,会遇到这样的情况,就是一个div设置宽度100%,设置左右边距10像素,这样的布局,在里面嵌套的div的宽度设置100%,这样写的话,里面的宽度是和外面的宽度一致的,同样是10 ...

  9. Linux环境变量与文件查找

    作业: 找出/etc目录下所有以.list结尾的文件 代码:locate /etc/\*.list sudo find /etc/ -name \*.list

  10. Nginx作为TCP负载均衡

    参考文档:https://www.cnblogs.com/stimlee/p/6243055.html Nginx在1.9版本以后支持TCP负载均衡,模块默认是没有编译的,需要编译时添加—with-s ...