模板:**的複雜度沒有算多組輸入或t組資料
參考部落格:#include #include #include #include #include #include using namespace std;
#define mem(a,b) memset(a,b,sizeof(a))
typedef long long ll;
const int n=5e4+20;
const int m=(1<<7)+1;
const int mod=12357;
struct node
};int d[m][m];
int k,n;
void dfs(int x,int y,int c)
dfs(x<<1,(y<<1)+1,c+1);
dfs((x<<1)+1,y<<1,c+1);
if(c+2<=k)
dfs((x<<2)+3,(y<<2)+3,c+2);
}node a,ans;
void init()
return c;
}int pow(int x)
}
(2<=n,m<=9 這種題目也是一種題型,板子在下一型別中有介紹)
對於這種磚塊型別的題,因為我實在是找不到那種m小,n非常大的題,所以只能找個資料範圍不一樣的題目,來測一下我的**(對於上面的部落格裡的這道題 我的模板只能特判一下m=8和m=9的情況了,這個板子主要是用來處理m不大,n非常大的題目)
模板:**的複雜度沒有算多組輸入或t組資料
參考部落格:#include #include #include #include #include #define mem(a,b) memset(a,b,sizeof(a))
#define inf 0x3f3f3f3f
using namespace std;
typedef long long ll;
const ll n=5e4+20;
const ll m=130;
const ll mod=1e9+7;
struct node
};ll d[m][m];
ll k,n;
void dfs(ll s1,ll s2,ll b1,ll b2,ll c)
if(b1==0&&b2==0)
if(b2==0)
if(b1==0)
dfs(s1<<1,s2<<1|b2,1,1,c+1);
dfs(s1<<1|(1-b1),s2<<1|b2,0,0,c+1);
}node a,ans;
void init()
return c;
}ll pow(ll x)
return ans.a[0][(1mem(d,0);
dfs(0,0,0,0,0);//這個只與k(寬度)有關,與n無關。(k變化後,執行一次dfs(0,0,0,0,0)即可)
printf("%lld\n",pow(n));
}}
m=11,n=11,這樣的資料大約跑了500+ms,還算是比較快的。
模板**:
#include #include #include #include #define ll long long
using namespace std;
const int n=12;
const int m=12;
int n,m,x;
ll f[n][(1此**為gyr大神寫的:(演算法:輪廓線)
#include #include #include #include #include #include #include #include #include #include using namespace std;
#define mem(a,b) memset(a,b,sizeof(a))
#define inf 0x3f3f3f3f
typedef long long ll;
const int n=12;
ll dp[2][(1
printf("%lld\n",dp[cur][(1<}
return 0;
}
C語言鋪地磚問題
鋪地磚 time limit 1000ms memory limit 65536k total submit 711 accepted 224 description 元旦過去了,新年大酬賓活動也已經告一段落了。陳蓋歷望著堆在倉庫的瓷磚,很無聊的他把這些瓷磚裁成很多1x1 1x2 1x3的小瓷磚,然...
矩陣覆蓋 鋪地磚問題
描述 我們可以用2 1的小矩形橫著或者豎著去覆蓋更大的矩形。請問用n個2 1的小矩形無重疊地覆蓋乙個2 n的大矩形,總共有多少種方法?思路 target 1大矩形為2 1,只有一種擺放方法,return1 target 2 大矩形為2 2,有兩種擺放方法,return2 target n 分為兩步考...
鋪地磚(找遞推式 大數)
時間限制 1 sec 記憶體限制 128 mb 題目描述 一天,晨晨的數學老師布置了一道題目,大意如下 用1 1和2 2的磁磚不重疊地鋪滿n 3的地板,共有多少種方案?例如 n 1時 1 3的地板方法就乙個,直接由三個1 1的磁磚鋪滿。n 2時 2 3的地板可以由下面3種方案鋪滿 輸入第一行 乙個整...