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

免费wap网站建设代写稿子的平台

免费wap网站建设,代写稿子的平台,比较商务网站的营销策略,企业网站建设基本原则C. Double Lexicographically Minimum 题意 字符串sss,你可以把它按任意顺序组合,保留的是你组合的字符串和它的倒序之间大的那一个,问你在满足上面条件的前提下字典序最小的字符串。 思路 分析不难发现在没达到一个关键的点的时候肯定是…

C. Double Lexicographically Minimum

题意

字符串sss,你可以把它按任意顺序组合,保留的是你组合的字符串和它的倒序之间大的那一个,问你在满足上面条件的前提下字典序最小的字符串。

思路

分析不难发现在没达到一个关键的点的时候肯定是对称是最好的,这样肯定能保证得到的字符串是最小的,而关键点到了之后就不需要平分了,全部放前面就好了。那关键点要怎么看,其实也很明显,因为判断字符串大小主要看第一个不同的字符,所以只要把第一个奇数个数的字符的最后一个放到后面就行了。那为什么是奇数呢?因为如果是偶数那要满足题目要求,后面就必须要比前面多放两个,但这样就比正常情况下大了(这里可以画图模拟一下就行)。
最后就是如果关键点后面只有一种类型的字符那就需要特判一下,才能满足题目要求,这里就看一下代码画图模拟一下把,也好理解。

代码

#include <bits/stdc++.h>using namespace std; const int N = 105;int st[30];void solve()
{string s;cin >> s;memset(st, 0, sizeof(st)); // 记录a, b, ..., z各有多少个for (int i = 0; i < s.size(); i ++ ) st[s[i] - 'a'] ++;string l = "", r = "";for (int i = 0; i < 26; i ++ ) // 不到关键点就前后分开{while (st[i] > 1) {l += (char)('a' + i);r += (char)('a' + i);st[i] -= 2;}if(st[i]) break; // 奇数就代表找到了,可以中断了}int cc = 0;for(int i = 0; i < 26; i ++) if(st[i]) cc ++; // 判断一下关键点后面有几个字符if(cc <= 2) {for (int i = 25; i >= 0; i -- ) // 把大的放前面{while (st[i] > 1) {l += (char)('a' + i);r += (char)('a' + i);st[i] -= 2;}if(st[i]) l += (char)('a' + i);}}else {int flag = true;for(int i = 0; i < 26; i ++) {while(st[i]) {if(flag) // 把关键点放到后面r += (char)('a' + i), st[i] --, flag = 0; else // 剩下的全放前面l += (char)('a' + i), st[i] --;}}}reverse(r.begin(), r.end()); // 翻转一下cout << l << r << '\n';
}int main() 
{int T = 1;cin >> T;while (T --) {solve();    }return 0;
}

D1. Hot Start Up (easy version)

题意

nnn个数,大小为kkk的数组coldcoldcoldhothothot,你有两个CPU,如果你选择的CPU的上一个进程和当前的进程一样,所用时间就是hothothot,否则coldcoldcold。问你完成所有的进程的最短时间。

思路

很明显是一个动态规划问题,关键是动态规划数组代表的含义,这里是dp(i,j,k)dp(i, j, k)dp(i,j,k),代表走到 iii 的时候CPU1最后处理的进程是 jjj, CPU2最后处理的进程是 kkk。但这样肯定是要超时的,然后通过题目可以得到要去进行 iiii−1i - 1i1 必须要完成,所以可以优化一维,这样就可以了。
dp[i][j]dp[i][j]dp[i][j]就代表进程处理到第 iii 个位置的时候,CPU1最后处理的进程是 jjj(CPU2默认为 a[i−1]a[i - 1]a[i1])这样就题目要求得到了转换方程:

dp[i][j]=min(dp[i][j],dp[i−1][j]+(a[i]==a[i−1]?hot[i]:cold[i]))dp[i][j] = min(dp[i][j], dp[i - 1][j] + (a[i] == a[i - 1] ? hot[i] : cold[i]))dp[i][j]=min(dp[i][j],dp[i1][j]+(a[i]==a[i1]?hot[i]:cold[i]))

dp[i][a[i−1]]=min(dp[i][a[i−1]],dp[i−1][j]+(a[i]==j?hot[i]:cold[i]))dp[i][a[i - 1]] = min(dp[i][a[i - 1]], dp[i - 1][j] + (a[i] == j ? hot[i] : cold[i]))dp[i][a[i1]]=min(dp[i][a[i1]],dp[i1][j]+(a[i]==j?hot[i]:cold[i]))

代码

#include <bits/stdc++.h>using namespace std;#define int long long  // 开一下 long long
typedef long long LL;
const int N = 5e5 + 10, mod = 998244353;void solve()
{int n, k;cin >> n >> k;vector<int> a(n + 1), cold(k + 1), hot(k + 1);for (int i = 1; i <= n; i ++ ) cin >> a[i];for (int i = 1; i <= k; i ++ ) cin >> cold[i];for (int i = 1; i <= k; i ++ ) cin >> hot[i];vector<vector<int>> dp(n + 1, vector<int>(k + 1, 1e18)); // 初始化dp[1][0] = cold[a[1]];for (int i = 2; i <= n; i ++ ){for (int j = 0; j <= k; j ++ ){int x = cold[a[i]];if (a[i - 1] == a[i]) x = hot[a[i]];// 转化方程dp[i][j] = min(dp[i][j], dp[i - 1][j] + x);dp[i][a[i - 1]] = min(dp[i][a[i - 1]], dp[i - 1][j] + (a[i] == j ? hot[a[i]] : cold[a[i]]));}}int ans = 1e18;for (int i = 0; i <= k; i ++ ) ans = min(ans, dp[n][i]);cout << ans << '\n';
}signed main()
{int T = 1;cin >> T;while (T -- ){solve();}return 0;
}

反思

做 C 题的时候把自己绕晕了,之间明白是这样做的,但是做起来不是这里不行就哪里不行,做题之前需要把自己的思路逻辑理清楚,然后再去写。
D 题就是自己动态规划做题经验不足了,状态表示没有想到,还需要继续做题。

http://www.fp688.cn/news/158859.html

相关文章:

  • 深圳做小程序的公司排名seo免费系统
  • php做网站首页现在如何进行网上推广
  • 做网站时尺寸多大国际新闻界官网
  • 网站相关前置许可百度助手
  • 网页设计作品欣赏网站江西省水文监测中心
  • 免费行情网站怎么提高关键词搜索权重
  • 晋江做网站模板google推广工具
  • 重庆做网站建设的公司互联网营销师国家职业技能标准
  • 企业网站的推广方式bt磁力库
  • 沧州营销型网站建设西安外包网络推广
  • 手机软件下载网站免费的网页网站
  • 杭州做网站建设百度投放平台
  • 网页网站设计培训东莞百度推广优化排名
  • 程序员接单平台有哪些seo关键词优化软件合作
  • 有没有网站做字体变形seo关键词排优化软件
  • unity3d做网站成品人和精品人的区别在哪
  • c2c平台名称湖南seo优化推荐
  • 曲靖网站设计公司东莞seo建站优化哪里好
  • 做网站怎么报价沈阳高端关键词优化
  • 帮别人做网站开价抖音代运营收费详细价格
  • 门户网站的注意要素刷粉网站推广快点
  • 友情网站制作seo搜索引擎优化方式
  • 网站建设论文500字网络推广项目代理
  • 网站做好了每年都要续费吗谷歌安装器
  • wordpress 换空间 目录 西部数码网站优化的方法有哪些
  • 刷钻网站推广免费免费网站建设制作
  • 网站建设云平台成都网络营销公司
  • 爱心助学网站建设电商运营入门基础知识
  • 攀枝花网站怎么做seo站内关键词排名优化软件
  • 海南疫情即将迎来高峰期西安seo服务外包