首页 > 代码库 > cf 710E dp
cf 710E dp
题目链接: http://codeforces.com/problemset/problem/710/E
题意:要输入n个字符‘a‘,有两种操作,一种是输入或删除一个‘a‘,耗时x;另一种是把当前的整个文本复制粘贴,耗时y。求最少时间。
思路:dp 具体看代码=.=
#include<iostream>#include<cstdio>#include<cstring>#include<cmath>using namespace std;#define ll long longconst int N=1e7+5;ll dp[N];ll minn(ll a,ll b){return a<b?a:b;}int main(){ ll n,x,y; while(cin>>n>>x>>y) { dp[1]=x; for(int i=2; i<=n; i++) { if(i%2==0) dp[i]=minn(dp[i-1]+x,dp[i/2]+y); else dp[i]=minn(dp[i-1]+x,minn(dp[i/2]+x+y,dp[i/2+1]+x+y)); } cout<<dp[n]<<endl; } return 0;}
cf 710E dp
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。