二維碼
        企資網

        掃一掃關注

        當前位置: 首頁 » 企資頭條 » 明星 » 正文

        Tokitsukaze_and_Good_01

        放大字體  縮小字體 發布日期:2022-06-23 21:24:19    作者:葉麓菲    瀏覽次數:62
        導讀

        題目:感謝分享codeforces感謝原創分享者/contest/1678/problem/B2題意:給定長度為偶數得一個01串,通過修改它得某些位置,使得它最終每個字符相同得連續段,得長度都為偶數。現在可以將字符上任意位置得字符修改為

        題目:
        感謝分享codeforces感謝原創分享者/contest/1678/problem/B2

        題意:給定長度為偶數得一個01串,通過修改它得某些位置,使得它最終每個字符相同得連續段,得長度都為偶數。

        現在可以將字符上任意位置得字符修改為0或1.

        1、求最小需要改變得位置,才能滿足上述條件。

        2、同時,在保證最小改變數量得前提下,求最終能得到得最小得連續段個數。

        參考:
        感謝分享codeforces感謝原創分享者/blog/entry/102631

        思路:

        要使每個字符相同得連續段,長度都為偶數,則要求每兩個相鄰得字符需要相等,即

        對于相鄰字符相同得位置,我們無需改動;對于相鄰字符不同得位置,我們考慮變為0,1對于最終得到得最小連續段得影響。我們用

        表示第個位置,以0/1結尾得最小得連續段,從前往后計算即可。

        #include<bits/stdc++.h> using namespace std;const int maxn = 200010;const int mod = 1e9 + 7;int n;char s[maxn];int dp[maxn][2];void solve() {scanf("%d", &n);scanf("%s", s);for (int i = 0; i <= n; ++i) {dp[i][0] = dp[i][1] = maxn;// 用maxn標記不可達 }int ans = 0;if (s[1] != s[0]) {++ans;dp[1][0] = dp[1][1] = 1;} else {int val = s[1] - '0';dp[1][val] = 1;}for (int i = 3; i < n; i += 2) {if (s[i-1] != s[i]) {++ans;// 對于需要改變得位置,它可以選擇取0和1做為結尾 dp[i][0] = min(dp[i-2][0], dp[i-2][1] + 1);dp[i][1] = min(dp[i-2][0] + 1, dp[i-2][1]);}else {int val = s[i] - '0';// 對于不能改變得位置,默認取它原來得0/1字符 dp[i][val] = min(dp[i-2][val], dp[i-2][1-val] + 1);}}printf("%d %d\n", ans, min(dp[n-1][0], dp[n-1][1]));}int main() {int t;scanf("%d", &t);while (t--) {solve();}return 0;}

         
        (文/葉麓菲)
        打賞
        免責聲明
        本文為葉麓菲推薦作品?作者: 葉麓菲。歡迎轉載,轉載請注明原文出處:http://m.sneakeraddict.net/news/show-305038.html 。本文僅代表作者個人觀點,本站未對其內容進行核實,請讀者僅做參考,如若文中涉及有違公德、觸犯法律的內容,一經發現,立即刪除,作者需自行承擔相應責任。涉及到版權或其他問題,請及時聯系我們郵件:weilaitui@qq.com。
         

        Copyright ? 2016 - 2023 - 企資網 48903.COM All Rights Reserved 粵公網安備 44030702000589號

        粵ICP備16078936號

        微信

        關注
        微信

        微信二維碼

        WAP二維碼

        客服

        聯系
        客服

        聯系客服:

        在線QQ: 303377504

        客服電話: 020-82301567

        E_mail郵箱: weilaitui@qq.com

        微信公眾號: weishitui

        客服001 客服002 客服003

        工作時間:

        周一至周五: 09:00 - 18:00

        反饋

        用戶
        反饋

        无码人妻精品一区二区三区久久久 | 亚洲av无码一区二区三区不卡| 亚洲AV无码久久精品成人| 久久久无码精品亚洲日韩软件| 日本中文字幕网站| 亚洲av永久无码精品网站| 亚洲午夜福利精品无码| 天堂Aⅴ无码一区二区三区 | 毛片免费全部无码播放| 亚洲乱码中文字幕手机在线| 国产真人无码作爱视频免费| 欧美中文在线视频| 高h纯肉无码视频在线观看| 亚洲伦另类中文字幕| 国产成人精品无码一区二区 | 无码精品一区二区三区免费视频 | 最好看的最新高清中文视频| 免费A级毛片无码鲁大师| 欧美日韩毛片熟妇有码无码| 欧美 亚洲 日韩 中文2019| 亚洲AV日韩AV永久无码久久| 久久最近最新中文字幕大全| 18无码粉嫩小泬无套在线观看| 人妻少妇无码精品视频区| 精品久久亚洲中文无码| 国产亚洲精久久久久久无码| 免费无码又爽又刺激一高潮| 色综合中文综合网| 精品亚洲成α人无码成α在线观看| 八戒理论片午影院无码爱恋| 狠狠躁天天躁无码中文字幕 | 久久午夜福利无码1000合集| 无码中文人妻在线一区二区三区| 国产久热精品无码激情| 亚洲精品无码久久一线| 狠狠精品干练久久久无码中文字幕| 日韩久久无码免费毛片软件| 无码国内精品久久人妻蜜桃| 高清无码午夜福利在线观看| 亚洲中文久久精品无码| 无码人妻一区二区三区在线水卜樱 |