国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當(dāng)前位置: 首頁(yè) > news >正文

北京海淀區(qū)網(wǎng)站建設(shè)全網(wǎng)營(yíng)銷整合營(yíng)銷

北京海淀區(qū)網(wǎng)站建設(shè),全網(wǎng)營(yíng)銷整合營(yíng)銷,寧波 做網(wǎng)站,簡(jiǎn)單的網(wǎng)頁(yè)設(shè)計(jì)論文寫在前面的話:心可以冷,但手不能停 第一題:C. Flexible String 題目大意:給一個(gè)aaa字符串和bbb字符串和數(shù)字kkk,首先設(shè)置一個(gè)計(jì)數(shù)器cntcntcnt,其中可以對(duì)aaa字符串做以下操作:替換aaa中的一個(gè)字母xxx&#…

寫在前面的話:心可以冷,但手不能停
第一題:C. Flexible String
題目大意:給一個(gè)aaa字符串和bbb字符串和數(shù)字kkk,首先設(shè)置一個(gè)計(jì)數(shù)器cntcntcnt,其中可以對(duì)aaa字符串做以下操作:替換aaa中的一個(gè)字母xxx,將字母xxx加入到集合QQQ,如果這個(gè)字母已經(jīng)在集合QQQ中了,則cntcntcnt不動(dòng),否則cnt++cnt++cnt++,記s[l,r]s[l,r]s[l,r]為在[l,r][l,r][l,r]區(qū)間中aaabbb的字母全相等。達(dá)到的目標(biāo)為在cnt≤kcnt \leq kcntk的情況下,讓s[l,r]s[l,r]s[l,r]的數(shù)量最大。
解題思路: 這個(gè)題可以這樣想,對(duì)于任意一個(gè)a[i]≠b[i]a[i] \neq b[i]a[i]=b[i],可以將這個(gè)位置記作一個(gè)斷點(diǎn),被斷點(diǎn)隔開的若干個(gè)區(qū)間可以用這樣的形式來表達(dá)s[l,r]s[l,r]s[l,r]的數(shù)量:len?(len+1)/2len*(len+1)/2len?(len+1)/2,其中l(wèi)en為區(qū)間內(nèi)的字母數(shù)量。我們注意到如果將某個(gè)滿足a[i]≠b[i]a[i] \neq b[i]a[i]=b[i]的字母加入到集合QQQ中,則區(qū)間可能被連上,注意可能斷點(diǎn)是由兩個(gè)字母組成的。這樣的話,考慮k最大可能為101010,則可以用數(shù)位dpdpdp或者dfsdfsdfs等,來枚舉所有可能性。枚舉出一種可能性,之后只要用O(n)O(n)O(n)判斷即可,大概是10810^8108這樣的級(jí)別,那么這里的枚舉狀態(tài)可以用這種形式表達(dá):

for(int i=0;i<1024;i++)

注意,由于我把集合中的字母用mapmapmap映射,所以所有字母不能映射到000,否則wronganswerontest3wrong\space answer \space on\space test3wrong?answer?on?test3
代碼

#include<iostream>
#include<cstdio>
#include<vector>
#include<stack>
#include<map>
using namespace std;
typedef long long ll;
const int length = 1e5 + 5;
char a[length];
char b[length];
ll max(ll a, ll b)
{if (a > b)return a;else return b;
}
ll solve(int i, map<char, int> &mp,int n,int k)
{vector<int> flag(20, 0);int q = 0;for (int j = 1; j <= 10; j++){if (i&(1 << j)){flag[j] = 1;q++;}}if(q>k)return 0;int s = 0;ll res = 0;while (s < n){int tmp = s;while (a[s] == b[s]||flag[mp[a[s]]]==1){s++;if (s >= n)break;}int len = s - tmp;res = res + (ll)(len + 1)*len / 2;s++;}return res;}
int main(void)
{int t;scanf_s("%d", &t);for (int i = 0; i < t; i++){int n;int k;scanf_s("%d%d", &n, &k);getchar();//收\(chéng)nscanf_s("%s", a,sizeof(a));getchar();//收\(chéng)nscanf_s("%s", b,sizeof(b));getchar();map<char,int> mp;int cnt = 0;for (int i = 0; i < n; i++){if (a[i] != b[i]){if (mp[a[i]] == 0){mp[a[i]] = ++cnt;}}}if (cnt <= k){ll tmp = (ll)n*(n + 1) / 2;printf("%lld\n", tmp);continue;}vector<ll> dp(1500, 0);ll ans = -1;for (int i = 0; i < 1024; i++){ll a=solve(i*2, mp,n,k);ans = max(ans, a);}printf("%lld\n", ans);}
}

第2題:D. Flexible String Revisit
這個(gè)題比較有意思
題目大意: 給一個(gè)由0和1組成的兩個(gè)字符串,對(duì)字符串a(chǎn)可以做以下操作:可以任選一個(gè)數(shù)字對(duì)其進(jìn)行反轉(zhuǎn),問達(dá)到兩個(gè)字符串第一次相等所需要的操作次數(shù)期望。
解題思路
參考文章
代碼:

#include<iostream>
#include<cstdio>
#include<vector>
using namespace std;
typedef long long ll;
int mod = 998244353;
const int length = 1e6 + 5;
int f[length][2];
int dp[length];
char a[length];
char b[length];
int ksm(int k)
{int tmp = mod-2;int base = k;int ans = 1;while (tmp){if (tmp % 2 == 1){ans = (ll)ans*base%mod;}base = (ll)base*base%mod;tmp = tmp >> 1;}return ans;
}
int solve(int n, int k)
{f[n][0] = 1;f[n][1] = 1;for (int i = n-1; i >= 0; i--){int now = ((ll)1 - (ll)(n - i)*f[i + 1][1]%mod *ksm(n) % mod + mod) % mod;f[i][0] = ((ll)1 + (ll)(f[i+1][0])*(n-i)%mod*ksm(n) % mod) % mod*ksm(now)%mod;f[i][1] = (ll)i*ksm(n) % mod*ksm(now) % mod;}dp[0] = f[0][0];for (int i = 1; i <= k; i++){dp[i] = (ll)((ll)dp[i - 1] * f[i][1] % mod + f[i][0]) % mod;}return dp[k];
}
int main(void)
{int t;scanf_s("%d", &t);for (int i = 0; i < t; i++){int n;scanf_s("%d", &n);int k = 0;getchar();scanf_s("%s", a,sizeof(a));//a.push_back(t);getchar();scanf_s("%s", b, sizeof(b));getchar();for (int i = 0; i < n; i++){if (a[i] != b[i])k++;}int a1=solve(n, k);printf("%d\n", a1);}
}
http://m.aloenet.com.cn/news/1365.html

相關(guān)文章:

  • 阿里云 建設(shè)網(wǎng)站佛山網(wǎng)站建設(shè)排名
  • 漂亮大氣的裝潢室內(nèi)設(shè)計(jì)網(wǎng)站模板 單頁(yè)式html5網(wǎng)頁(yè)模板包國(guó)內(nèi)搜索引擎排行榜
  • 方圓網(wǎng)站建設(shè)國(guó)內(nèi)seo公司排名
  • 百度自助網(wǎng)站建設(shè)南寧網(wǎng)站快速排名提升
  • 上海設(shè)計(jì)網(wǎng)站baidu百度
  • 梅林網(wǎng)站建設(shè)網(wǎng)站診斷工具
  • 做兼職的網(wǎng)站是不是真的嗎重慶整站seo
  • 西安做網(wǎng)站比較好的公司臺(tái)州seo排名外包
  • 怎樣做單頁(yè)銷售網(wǎng)站軟文范例大全100字
  • 站酷網(wǎng)站源碼永久免費(fèi)域名注冊(cè)
  • 哪個(gè)網(wǎng)站可以做試卷上海牛巨微seo關(guān)鍵詞優(yōu)化
  • 番禺做網(wǎng)站哪家強(qiáng)北京seo公司網(wǎng)站
  • 新聞網(wǎng)站建設(shè)合同谷歌優(yōu)化師
  • 最新獲取網(wǎng)站訪客qq接口成人職業(yè)技術(shù)培訓(xùn)學(xué)校
  • 萊蕪網(wǎng)站優(yōu)化招聘網(wǎng)sem是什么的英文縮寫
  • 微信公眾平臺(tái)推廣簡(jiǎn)述seo的概念
  • 專注網(wǎng)站開發(fā)網(wǎng)站頁(yè)面seo
  • 做直播網(wǎng)站需要什么騰訊企點(diǎn)qq
  • 鹵菜店加盟優(yōu)化排名推廣技術(shù)網(wǎng)站
  • 常州做網(wǎng)站包括哪些優(yōu)化網(wǎng)站收費(fèi)標(biāo)準(zhǔn)
  • 頁(yè)面設(shè)計(jì)好嗎seo怎么發(fā)布外鏈
  • 網(wǎng)站建設(shè)資金報(bào)告網(wǎng)站宣傳文案范例
  • 深圳網(wǎng)站建設(shè)_請(qǐng)到中投網(wǎng)絡(luò)!四平網(wǎng)站seo
  • 互聯(lián)網(wǎng)營(yíng)銷師證書是國(guó)家認(rèn)可的嗎北京seo優(yōu)化wyhseo
  • 二級(jí)a做爰片免費(fèi)視網(wǎng)站淘寶推廣方法有哪些
  • 怎么做班級(jí)網(wǎng)站南通做網(wǎng)站推廣的公司
  • 佰聯(lián)軸承網(wǎng)做的網(wǎng)站網(wǎng)站seo優(yōu)化培訓(xùn)
  • 地方網(wǎng)站域名選擇史上最強(qiáng)大的搜索神器
  • 網(wǎng)站建設(shè)這個(gè)口碑營(yíng)銷的步驟
  • 在成都如何找到做網(wǎng)站的公司高級(jí)seo