日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

CF思维联系–CodeForces - 225C. Barcode(二路动态规划)

發布時間:2023/12/15 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 CF思维联系–CodeForces - 225C. Barcode(二路动态规划) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

ACM思維題訓練集合

Desciption

You’ve got an n?×?m pixel picture. Each pixel can be white or black. Your task is to change the colors of as few pixels as possible to obtain a barcode picture.

A picture is a barcode if the following conditions are fulfilled:

All pixels in each column are of the same color.
The width of each monochrome vertical line is at least x and at most y pixels. In other words, if we group all neighbouring columns of the pixels with equal color, the size of each group can not be less than x or greater than y.
Input

The first line contains four space-separated integers n, m, x and y (1?≤?n,?m,?x,?y?≤?1000; x?≤?y).

Then follow n lines, describing the original image. Each of these lines contains exactly m characters. Character “.” represents a white pixel and “#” represents a black pixel. The picture description doesn’t have any other characters besides “.” and “#”.

Output

In the first line print the minimum number of pixels to repaint. It is guaranteed that the answer exists.

Examples

input
6 5 1 2
##.#.
.###.
###…
#…#
.##.#
###…
output
11
input
2 5 1 1


output
5
Note
In the first test sample the picture after changing some colors can looks as follows:

.##…
.##…
.##…
.##…
.##…
.##…
In the second test sample the picture after changing some colors can looks as follows:

.#.#.
.#.#.
-------------------------****-------------------

先把每列修改的數量保存下來,都變成#的花費,和都變成‘ . ’的花費,這樣狀態就變成了第i列,就變成一個普通DP題。
為什么是二路動態規劃,是因為一開始的選擇有兩種,雖然一開始的顏色是有大有小的,但是基于動態規劃,當前最優解并不一定是全局最優,所以這一點我們把它們分成兩部分。
這道題思考起來沒有那沒有那么復雜,討論第i列染或不染(變成#或不變)但是無論染或不染都要至少染或不然連續的X以上,且不可超過Y列,那么就是說當換狀態時如果變成另一種狀態一定是從另一種狀態的連續的x到Y列變化而來,而不改變狀態時就是連續的一種狀態,累加當前狀態的消耗。進而得到狀態轉移方程

for(int k=x;k<=y;k++){dp[i][j][0]=min(dp[i][j][0],dp[i-1][k][1]+cnt[i][0]);dp[i][j][1]=min(dp[i][j][1],dp[i-1][k][0]+cnt[i][1]); }

進而可得出代碼

#include <bits/stdc++.h> using namespace std; template <typename t> void read(t &x) {char ch = getchar();x = 0;int f = 1;while (ch < '0' || ch > '9')f = (ch == '-' ? -1 : f), ch = getchar();while (ch >= '0' && ch <= '9')x = x * 10 + ch - '0', ch = getchar();x *f; } #define wi(n) printf("%d ", n) #define wl(n) printf("%lld ", n) #define P puts(" ") typedef long long ll; #define MOD 1000000007 #define mp(a, b) make_pair(a, b) //---------------https://lunatic.blog.csdn.net/-------------------// const int maxn = 1005; const int INF = 0x3f3f3f3f; int cnt[maxn][2]; int dp[maxn][maxn][2]; int main() {int m, n, x, y;read(m),read(n),read(x),read(y);for (int i = 0; i < m; i++){for (int j = 0; j < n; j++){char x;scanf(" %c", &x);if (x == '#')cnt[j][1]++;elsecnt[j][0]++;}}memset(dp, 0x3f, sizeof(dp));for (int i = 0; i < n; i++){if (i == 0){for (int k = 0; k < 2; k++)dp[i][1][k] = cnt[i][k];continue;}for (int j = 1; j <= i+1&& j <= y; j++){if (j == 1){for (int k = x; k <= y; k++){dp[i][1][1] = min(dp[i - 1][k][0] + cnt[i][1], dp[i][1][1]);dp[i][1][0] = min(dp[i - 1][k][1] + cnt[i][0], dp[i][1][0]);}}else{dp[i][j][1] = dp[i - 1][j - 1][1] + cnt[i][1];dp[i][j][0] = dp[i - 1][j - 1][0] + cnt[i][0];}}}int ans = INF;for (int i = x; i <= y; i++){ans = min(dp[n - 1][i][0], min(dp[n - 1][i][1], ans));}wi(ans);P; }

這個代碼我調了三個小時,寫出來之后!不知道為什么前邊用cin輸入這個題就過不了,而且每組樣例都能本地AC。尷尬,求解?

總結

以上是生活随笔為你收集整理的CF思维联系–CodeForces - 225C. Barcode(二路动态规划)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 色婷婷综合成人av | 男女啪啪av | 超碰av男人的天堂 | 欧美日韩中文字幕一区二区三区 | 成人自拍视频网 | 美女大逼| 美女插插视频 | 欧美日韩99 | 色噜噜狠狠一区二区三区牛牛影视 | 久久久国产精品免费 | 美女网站黄页 | 国产视频一区二区三区四区 | 成年人视屏| 国产精品传媒麻豆hd | 久久最新网址 | 在线视频一区二区 | 少妇又色又紧又爽又刺激视频 | 亚洲美女视频在线 | 性一交一乱一区二区洋洋av | 国产日产精品一区二区三区 | 麻豆精品视频在线 | 欧美色图中文字幕 | 黄色裸体网站 | 中文字幕一区二区久久人妻网站 | 午夜激情福利电影 | 国产一区二区激情 | 欧美极品在线 | 色噜噜狠狠狠综合曰曰曰 | 美女自卫网站 | 性xxxx搡xxxxx搡欧美 | 精品国产麻豆 | 善良的女朋友在线观看 | 精品h视频 | 国产一级做a爰片久久毛片男 | 欧美美女性高潮 | 国产1区在线观看 | 菲律宾av | 波多野结衣精品视频 | 一区国产视频 | 一区二区欧美精品 | 欧美a在线视频 | 一级性爱视频 | 亚洲成av人片久久 | 一区二区三区中文视频 | 亚洲无吗一区二区三区 | 欧美美女性生活视频 | 欧美v视频| 台湾chinesehdxxxx少妇 | 性生活视频软件 | 午夜成人鲁丝片午夜精品 | 鬼眼 电影 | 亚洲日本护士毛茸茸 | 日日爽夜夜爽 | av不卡在线看 | 爱情岛论坛自拍亚洲品质极速最新章 | 男女偷爱性视频刺激 | 国产一二视频 | 日韩免费网址 | 国产成人精品一二三区 | 朱竹清到爽高潮痉挛 | 亚洲免费色视频 | 国产黑人| 亚洲一区二区免费在线观看 | 97超碰人人爱 | 蜜臀av性久久久久蜜臀av麻豆 | 男人的天堂伊人 | 少妇在线播放 | 亚洲 欧美 变态 另类 综合 | 成人免费大片黄在线播放 | 蜜桃av噜噜一区二区三区麻豆 | 国产免费一区二区三区三州老师 | 免费黄色观看 | 色吊丝一区二区 | 黄色一级片免费看 | aaa亚洲精品 | 精品网站999www | 日韩精品视频中文字幕 | 美女野外找人搭讪啪啪 | 国产女人18毛片 | 成人免费网视频 | 欧美性猛交久久久久 | 亚洲视频自拍 | 中文字幕精品三级久久久 | 中文字字幕在线中文乱码 | 国产精品欧美性爱 | 日韩精品久久久久久久酒店 | 成人精品三级av在线看 | 久久丝袜视频 | 一级片在线免费 | 桃谷绘里香在线观看 | 黄色香蕉网 | 日本在线一区二区三区 | 日本成人一区二区三区 | 50一60岁老妇女毛片 | 银杏av| 亚洲破处视频 | 欧美日韩69 | 97av在线| 日本精品中文字幕 |