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

公司设计网站建设合同自己注册公司网站

公司设计网站建设合同,自己注册公司网站,展厅内部设计,wordpress多功能博客C. Double Lexicographically Minimum 题意 字符串sss#xff0c;你可以把它按任意顺序组合#xff0c;保留的是你组合的字符串和它的倒序之间大的那一个#xff0c;问你在满足上面条件的前提下字典序最小的字符串。 思路 分析不难发现在没达到一个关键的点的时候肯定是…C. Double Lexicographically Minimum 题意 字符串sss你可以把它按任意顺序组合保留的是你组合的字符串和它的倒序之间大的那一个问你在满足上面条件的前提下字典序最小的字符串。 思路 分析不难发现在没达到一个关键的点的时候肯定是对称是最好的这样肯定能保证得到的字符串是最小的而关键点到了之后就不需要平分了全部放前面就好了。那关键点要怎么看其实也很明显因为判断字符串大小主要看第一个不同的字符所以只要把第一个奇数个数的字符的最后一个放到后面就行了。那为什么是奇数呢因为如果是偶数那要满足题目要求后面就必须要比前面多放两个但这样就比正常情况下大了这里可以画图模拟一下就行。 最后就是如果关键点后面只有一种类型的字符那就需要特判一下才能满足题目要求这里就看一下代码画图模拟一下把也好理解。 代码 #include bits/stdc.husing 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 - 1i−1 必须要完成所以可以优化一维这样就可以了。 dp[i][j]dp[i][j]dp[i][j]就代表进程处理到第 iii 个位置的时候CPU1最后处理的进程是 jjjCPU2默认为 a[i−1]a[i - 1]a[i−1]这样就题目要求得到了转换方程 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[i−1][j](a[i]a[i−1]?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[i−1]]min(dp[i][a[i−1]],dp[i−1][j](a[i]j?hot[i]:cold[i]))代码 #include bits/stdc.husing 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;vectorint 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];vectorvectorint dp(n 1, vectorint(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.hkea.cn/news/14567887/

相关文章:

  • 建设网站的条件如何看网站做没做推广
  • 哪里有营销型网站网站 安全 维护
  • 本地建站教程大方网站制作
  • 免费网站成品广州网页设计薪酬
  • 湖南备案网站建设方案书10岁一12岁的创意手工
  • 网站建设模块下载家装网站建设公司
  • 网站做微信支付成都房地产开发商排名
  • 要想做一个好网站需要多久仙游网站建设
  • 摄影网站开发背景怎么写上海近期大型招聘会
  • 青岛市住房和城乡建设局官方网站辽宁建设工程信息网新版网址
  • 京东商城网站特色wordpress 4.5下载地址
  • 网站开发三个流程什么是网络营销的技术
  • 服装网站模板商丘网站制作教程
  • 企业网站建设 租用服务器软件开发需要具备什么条件
  • 没有ipc备案的网站建设电子商务网站总结
  • 网站开发的发展历史及趋势网站开发国内外现状研究
  • 工作号做文案素材的网站装饰设计乙级资质
  • 免费建设个人网站阳光家园广州网站
  • 哈尔滨网站建设工作室怎么在手机上设计网站
  • 阿尔山网站建设wordpress修改为中文
  • h5网站开发定制wordpress分类下的所有文章加密
  • 浙江建设人才网做360优化网站都有哪家
  • 网站群建设公司利用c 做网站
  • 宜宾市住房和城乡建设局网站网站页面优化公告
  • 网站建设字体颜色代码制作html网站模板
  • 做网站专题的效果如何创建自己的域名
  • 椒江网站制作什么企业时候做网站
  • 基于.net音乐网站开发app拉新推广代理
  • 牛商网做网站要多少钱wordpress js 太多
  • 电商网站建设系统注册免费