P6275 [USACO20OPEN]Sprinklers 2: Return of the Alfalfa P 輪廓線DP
題意:
分析:
我們可以通過手調樣例發現最後整張圖會沿著一條線分為兩個部分,所以我們利用這條分界線進行DP,我們設 f [ i ] [ j ] [ 0 ] f[i][j][0] f[i][j][0]表示現在在第 i i i行第 j j j列的格子右下角的點,0表示該向右延展,1表示向下擴充套件,每次方向變化時需要除以二,因為有一個原來可放可不放的格子不得不放,情況減少了,轉移的話看程式碼就能看懂
程式碼:
#include<bits/stdc++.h>
using namespace std;
namespace zzc
{
const int maxn = 2005;
const int mod = 1e9+7;
const int inv2 = 500000004;
bool vis[maxn][maxn];
int f[maxn][maxn][2];
int n,cnt=1;
char ch[maxn];
void work()
{
scanf("%d",&n);
for(int i=1;i<=n;i++)
{
scanf("%s",ch+1);
for(int j=1;j<=n;j++)
{
if(ch[j]=='.')
{
vis[i][j]=true;
cnt=cnt*2%mod;
}
}
}
f[1][0][1]=cnt;
f[0][1][0]=cnt;
for(int i=0;i<=n;i++)
{
for(int j=0;j<=n;j++)
{
if(f[i][j][0])
{
f[i][j+1][0]=(f[i][j][0]+f[i][j+1][0])%mod;
if(vis[i+1][j]) f[i+1][j][1]=(f[i+1][j][1]+(long long)f[i][j][0]*inv2%mod)%mod;
}
if(f[i][j][1])
{
f[i+1][j][1]=(f[i+1][j][1]+f[i][j][1])%mod;
if(vis[i][j+1]) f[i][j+1][0]=(f[i][j+1][0]+(long long)f[i][j][1]*inv2%mod)%mod;
}
}
}
printf("%d\n",(f[n][n][0]+f[n][n][1])%mod);
}
}
int main()
{
zzc::work();
return 0;
}
相關文章
- P3680 凸輪廓線
- 1218 輪廓線
- OpenCV計算機視覺學習(8)——影像輪廓處理(輪廓繪製,輪廓檢索,輪廓填充,輪廓近似)OpenCV計算機視覺
- 滑鼠樣式/表單輪廓線
- opencv——輪廓發現與輪廓(二值影像)分析OpenCV
- [USACO20OPEN] Exercise P
- CSS outline輪廓CSS
- 影像輪廓處理
- OpenCV 查詢輪廓OpenCV
- OpenCv查詢輪廓-cv2.findContours()函式OpenCV函式
- 刪除按鈕點選後的虛線輪廓
- Alfalfa
- bzoj 4899 記憶的輪廓 題解(概率dp+決策單調性優化)優化
- answerOpenCV輪廓類問題解析OpenCV
- 【OpenCV教程】輪廓檢測過程OpenCV
- CSS 不規則的輪廓-outlineCSS
- 畫素寶典 #10 四足動物、人走路/輪廓線/風
- Luogu P1777 幫助 題解 [ 紫 ] [ 線性 dp ] [ 狀壓 dp ]
- 邊框(Border) 和 輪廓(Outline) 屬性
- Python 影像處理 OpenCV (15):影像輪廓PythonOpenCV
- AE/PR外掛-抽象線條輪廓描邊視覺特效Curve Tracer抽象視覺特效
- python如何獲取最優輪廓係數Python
- 【Python】【OpenCV】關於cv2.findContours()輪廓索引(編號)解析(RETR_TREE)PythonOpenCV索引
- 題解:P9953 [USACO20OPEN] Social Distancing II B
- Hetao P1169 點集 題解 [ 黃 ][ 線性dp ]
- LG P4161 [SCOI2009]遊戲/LG P6280 [USACO20OPEN]Exercise G遊戲
- Hetao P1031 萌萌題 題解 [ 藍 ] [ 線性 dp ]
- 鑲嵌資料集工具小結(二)鑲嵌資料輪廓線與邊界
- 提取圖片中目標物輪廓的畫素尺寸
- OpenCV7影像金字塔與輪廓檢測OpenCV
- 地圖小區景點邊界輪廓實現地圖
- P1077 擺花【DP】
- P1216 線性DP 數字三角形
- 線性dp
- luogu P6835 概率DP 期望
- 線性DP P1020 [NOIP1999 提高組] 導彈攔截
- WPF 筆跡演算法 從點集轉筆跡輪廓演算法
- 文化共創深入高校 “旖夢敦煌”課程勾勒“夢”之輪廓