当前位置: 首页 > news >正文

个人网站建设的花费win8安装wordpress500

个人网站建设的花费,win8安装wordpress500,深圳市建设股份有限公司,wordpress 评论到微博写在前面的话#xff1a;心可以冷#xff0c;但手不能停 第一题#xff1a;C. Flexible String 题目大意#xff1a;给一个aaa字符串和bbb字符串和数字kkk#xff0c;首先设置一个计数器cntcntcnt,其中可以对aaa字符串做以下操作#xff1a;替换aaa中的一个字母xxx#…写在前面的话心可以冷但手不能停 第一题C. Flexible String 题目大意给一个aaa字符串和bbb字符串和数字kkk首先设置一个计数器cntcntcnt,其中可以对aaa字符串做以下操作替换aaa中的一个字母xxx将字母xxx加入到集合QQQ如果这个字母已经在集合QQQ中了则cntcntcnt不动否则cntcntcnt记s[l,r]s[l,r]s[l,r]为在[l,r][l,r][l,r]区间中aaa和bbb的字母全相等。达到的目标为在cnt≤kcnt \leq kcnt≤k的情况下让s[l,r]s[l,r]s[l,r]的数量最大。 解题思路 这个题可以这样想对于任意一个a[i]≠b[i]a[i] \neq b[i]a[i]b[i]可以将这个位置记作一个断点被断点隔开的若干个区间可以用这样的形式来表达s[l,r]s[l,r]s[l,r]的数量:len∗(len1)/2len*(len1)/2len∗(len1)/2,其中len为区间内的字母数量。我们注意到如果将某个满足a[i]≠b[i]a[i] \neq b[i]a[i]b[i]的字母加入到集合QQQ中则区间可能被连上注意可能断点是由两个字母组成的。这样的话考虑k最大可能为101010则可以用数位dpdpdp或者dfsdfsdfs等来枚举所有可能性。枚举出一种可能性之后只要用O(n)O(n)O(n)判断即可大概是10810^8108这样的级别那么这里的枚举状态可以用这种形式表达 for(int i0;i1024;i)注意由于我把集合中的字母用mapmapmap映射所以所有字母不能映射到000否则wronganswerontest3wrong\space answer \space on\space test3wrong answer on test3 代码 #includeiostream #includecstdio #includevector #includestack #includemap 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, mapchar, int mp,int n,int k) {vectorint flag(20, 0);int q 0;for (int j 1; j 10; j){if (i(1 j)){flag[j] 1;q;}}if(qk)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();//收\nscanf_s(%s, a,sizeof(a));getchar();//收\nscanf_s(%s, b,sizeof(b));getchar();mapchar,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;}vectorll dp(1500, 0);ll ans -1;for (int i 0; i 1024; i){ll asolve(i*2, mp,n,k);ans max(ans, a);}printf(%lld\n, ans);} }第2题D. Flexible String Revisit 这个题比较有意思 题目大意 给一个由0和1组成的两个字符串对字符串a可以做以下操作可以任选一个数字对其进行反转问达到两个字符串第一次相等所需要的操作次数期望。 解题思路 参考文章 代码 #includeiostream #includecstdio #includevector 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[i1][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 a1solve(n, k);printf(%d\n, a1);} }
http://www.dnsts.com.cn/news/18246.html

相关文章:

  • 宁波外贸网站推广wordpress怎么开发app
  • 个人网站做捐赠发布违法吗wordpress主题 图片展示
  • 怎样给网站做百度推广广告信息发布平台
  • 大连网站推广怎么收费国之珍微站个人网站
  • 网站常用后台路径wordpress国外简约主题
  • 百度商桥置入网站西安网站建设是什么
  • 永修县建设局网站下载微信
  • 旅游网站建设答辩ppt模板怎样在赶集微网站做微招聘信息
  • 知识网站网站标题切换
  • 学校网站建设状况沙市做网站weisword
  • 中小企业建站织梦网站做自动生成地图
  • 赣州网站建设专家学校门户网站什么意思
  • 聊城微信推广网站wordpress登录及注册
  • sns电商网站怎样使用二维码做网站
  • 广州市建设厅网站珠海网站建设开发
  • 个人如何做短视频网站宁波做外贸网站
  • 网站可视化后台网页翻译为什么翻译不了
  • 苏州h5网站建设价格公司建站方案
  • 企业网站怎么做中英文切换win主机怎样实现wordpress固定链接静态化
  • 铁岭做网站站酷设计网站怎样下载图片
  • 主题资源网站建设 反思将wordpress页面保存为模板
  • 网站内容优化贵阳做网站软件
  • 中国品牌网官方网站中国建筑集团有限公司董事长
  • 360网站在系统那里用英文介绍购物网站
  • 重庆网站定制哪家好企业微营销网站
  • 咨询服务公司网站建设佛山外贸网站推广
  • 网站管理系统排名深圳网站建设好不好
  • 苏州网站建设公司鹅鹅鹅廊坊市网站建设公司
  • 怎么做微帮网站舆情分析是什么
  • 做苗木选择哪个网站seo排名教程技术