此處可以交題~
思路:本題應該是dp題,當時到最後乙個小時才慢慢想清本題到底考什麼模型.
我們清楚每一層都有乙個可行的最大高度,他說每一層必須連續也就是說我們取的l到r區間的高度不能有高度先下降後上公升的情況,也就是我們可以列舉每乙個合法不含x的l,r區間,然後對於區間內的第i個柱子,高度從1開始列舉,搜尋所有情況。
當然直接搜尋複雜度是很高的 ,但是我們發現對於第i個高度取h,並且後面可以上公升還是只能下降也是確定的,那麼後面的情況數我們是可以記憶化來做的。
下面是我的**,100×100的圖400ms左右
**:
#include#define mem(a,b) memset(a,b,sizeof(a))
#define mod 1000000007
using namespace std;
typedef long long ll;
const int maxn = 2e5+5;
const double esp = 1e-12;
const int ff = 0x3f3f3f3f;
map::iterator it;
int n,m,l,r;
int h[233];
ll dp[2][133][133];
char mp[233][233];
void get_height()//得到每一列的高度
h[i] = hi; }
return ;
}ll dfs(int pos,int sta,int last)
else
}return dp[sta][pos][last] = sum;
}int main()
int j = i;
while(j<= m&&mp[n][j] == '.')
j--;
//i,j為不含x的區間
for(r = j;r>= i;r--)//把r固定調整l,這樣搜過的還能繼續用,節省時間
}i = j+1;//更新i }
printf("%lld\n",(ans+1)%mod);
return 0;
}
2018第九屆藍橋杯B組決賽題 雷射樣式 dfs
x星球的盛大節日為增加氣氛,用30台機光器一字排開,向太空中打出光柱。安裝除錯的時候才發現,不知什麼原因,相鄰的兩台雷射器不能同時開啟!國王很想知道,在目前這種bug存在的情況下,一共能打出多少種雷射效果?顯然,如果只有3臺機器,一共可以成5種樣式,即 全都關上 sorry,此時無聲勝有聲,這也算一...
藍橋杯第九屆決賽
x星球的鈔票的面額只有 100元,5元,2元,1元,共4種。小明去x星旅遊,他手裡只有2張100元的x星幣,太不方便,恰好路過x星銀行就去換零錢。小明有點強迫症,他堅持要求200元換出的零鈔中2元的張數剛好是1元的張數的10倍,剩下的當然都是5元面額的。銀行的工作人員有點為難,你能幫助算出 在滿足小...
第九屆藍橋杯決賽大學A組
已知三角形三個頂點在直角座標系下的座標分別為 2.3,2.5 6.4,3.1 5.1,7.2 求該三角形的面積。注意,要提交的是乙個小數形式表示的浮點數。要求精確到小數後3位,如不足3位,需要補零。答案 include include using namespace std struct dian ...