题目大意:

有三个操作,插入删除和复制。其中插入和删除均耗费x时间来插入或删除一个字符,复制耗费y时间将当前文件内所有字符复制并粘贴(就是字符*2),现在需要生成n个字符,问你最少需要的时间。

解题思路:

DP

dp[i]表示生成i个字符需要的最少时间,那么状态转移方程就是

dp[i] = min(dp[i-1] + x, dp[i+1] + x, dp[i / 2] + y);

代码写起来会有些细节修改,所以xjb写吧。

代码:

#include <iostream>
#include <algorithm>
using namespace std;
typedef long long LL;
const LL INF = 1e18;
const int maxn = 1e7 + 5;
LL dp[maxn << 1];
int main() {int n, x, y;cin >> n >> x >> y;fill(dp + 1, dp + 1 + 2 * n, INF);dp[0] = 0;for (int i = 1; i <= n; ++i) {if (i & 1) {dp[i] = min(dp[i - 1], dp[i + 1]) + x;dp[i << 1] = min(dp[i << 1], dp[i] + y);} else {dp[i] = min(dp[i-1] + x, dp[i >> 1] + y);dp[i << 1] = min(dp[i << 1], dp[i] + y);}}cout << dp[n] << endl;return 0;
}

转载于:https://www.cnblogs.com/wiklvrain/p/8179368.html

Codeforces-710E Generate a String相关推荐

  1. (DP)codeforces - 710E Generate a String

    原题链接:http://www.codeforces.com/problemset/problem/710/E 题意:一个字符串,开始长度为0,目标长度为n,长度+1或-1需要的时间为x,长度*2需要 ...

  2. Codeforces Problem-1579A Casimir‘s String Solitaire

    Codeforces Problem-1579A Casimir's String Solitaire 题目链接 题目大意: Casimir有一个字符串s,里面只包含'A''B''C'三种字符,现在他 ...

  3. Generate a String CodeForces - 710E(dp)

    zscoder wants to generate an input file for some programming competition problem. His input is a str ...

  4. Codeforces 710 E. Generate a String (dp)

    题目链接:http://codeforces.com/problemset/problem/710/E 加或者减一个字符代价为x,字符数量翻倍代价为y,初始空字符,问你到n个字符的最小代价是多少. d ...

  5. codeforces 960A Check the string

    题目链接:http://codeforces.com/contest/960/problem/A 题意:有A,B,C三个小朋友,A会把一个全为a的字符串给B,然后B会在这个字符串尾添加若干个b,然然后 ...

  6. Educational Codeforces Round 96 E. String Reversa 线段树模拟序列交换

    传送门 文章目录 题意: 思路: 题意: 思路: 与上一篇题解大同小异,无非就是不需要枚举排列了. // Problem: E. String Reversal // Contest: Codefor ...

  7. codeforces 889B - Restoration of string

    http://codeforces.com/contest/889/problem/B 题意:给你 n 个由小写字母组成的字符串,n个字符串全不相同,要求构造一个母串,使所有字符串在母串中出现的频率都 ...

  8. Codeforces 1480A. Yet Another String Game (阅读理解题)

    题意 Alice和Bob对一个小写英文字符串进行操作,Alice先手. Alice的策略是让字符串字典序最小,Bob的策略是让字符串的字典序最大. 每次双方都只能选择一个未操作过的字符进行替换(将小写 ...

  9. CodeForces - 817F Graph and String(dfs判二分图)

    题目链接:点击查看 题目大意:给出一张图,现在要求给出一种合适的染色方案,使得: 只能用 ' a ' , ' b ' , ' c ' 进行染色 有边相连的两个点的颜色要么相同,要么相邻,不能是 ' a ...

  10. CodeForces - 1295C Obtain The String(dp预处理+贪心)

    题目链接:点击查看 题目大意:给出一个字符串 s 和一个字符串 t ,再给出一个字符串 z ,初始时字符串 z 为空串,现在需要利用规则构造字符串 z ,使得 z == t ,规则就是每次可以挑选字符 ...

最新文章

  1. php网站服务器工具,PHP服务器搭建网站常用工具有哪些?
  2. 2018-2019-2 网络对抗技术 20165324 Exp4:恶意代码分析
  3. 在ASP.Net2.0中使用UrlRewritingNet实现链接重写
  4. 讲一点分布式的基础知识,图解!
  5. 冒泡和快速排序的时间复杂度_三分钟快速记住冒泡排序算法
  6. 北海哪里可以学计算机编程,编程真的很难吗?为什么会认为学编程难?
  7. HTTPS SSL/TLS协议原理
  8. oracle xsql 详解(一)
  9. (03)两个模型的交集、并集、差集
  10. MATLAB除法运算的精度问题及其解决方案
  11. 各大网站的wap站页面
  12. opengl+openmesh重绘rabbit
  13. L版本修改默认静态壁纸wallpaper
  14. 机器人与视觉——李群与李代数,李括号性质的分析与证明
  15. r720换固态硬盘后如何重装系统_电脑安装完固态硬盘后如何重装系统?
  16. 毕业两年,我完成了月薪3k到月薪13k的转变
  17. 关于在《python编程从入门到实践》书中练习“外星人大战”报错“AttributeError: ‘AlienInvasion‘ object has no attribute ‘blit‘”
  18. (微信小程序)微信小程序-毕设级项目搭建-微信阅读小程序(内含源码,微信小程序+java逻辑后台+vue管理系统)~不求完美,实现就好
  19. 渗透测试业务逻辑测试汇总—专项篇
  20. 模糊查询股票 获取股票名

热门文章

  1. php粉层,thinkphp 模型分层
  2. Mysql之wait_timeout参数生效办法
  3. BOBSLEDDING(一道有趣的贪心题 nyoj309)
  4. 英文文本处理 c github_真香警告!有了这个搜索大法,GitHub可以玩到飞起来!
  5. 【cf585-div2: B】 The Number of Products(dp/推导)
  6. j3455跑mysql_看烦了千篇一律的J3455?让黑群晖显示真实的CPU信息
  7. 容器技术Docker K8s 6 阿里云容器服务体系介绍
  8. 价值连城 图灵奖得主Yoshua Bengio约书亚·本吉奥的采访 给AI从业者的建议
  9. python中的__file__、os.path.realpath(__file__)、os.path.dirname(os.path.realpath(__file__))
  10. Boost C++ 智能指针