题目 链接:http://codeforces.com/contest/706/problem/C

好像又是DP...

dp[i][0]表示第i个字符串不翻转成字典序排列的花费,dp[i][1]表示第i个字符串翻转成字典序排列的花费;

#include<bits/stdc++.h>
using namespace std;
#define ll __int64
#define mod 1000000007
#define pi (4*atan(1.0))
const int N=1e5+,M=2e6+,inf=1e9+;
const ll INF=1e17;
ll dp[N][];
string str1[N];
string str2[N];
ll a[N];
void init()
{
for(int i=;i<N;i++)
dp[i][]=dp[i][]=INF;
}
int main()
{
int x,y,z,i,t;
init();
scanf("%d",&x);
for(i=;i<=x;i++)
scanf("%I64d",&a[i]);
for(i=;i<=x;i++)
{
cin>>str1[i];
str2[i]=str1[i];
reverse(str2[i].begin(),str2[i].end());
}
dp[][]=;
dp[][]=a[];
for(i=;i<=x;i++)
{
if(str1[i]>=str1[i-])
dp[i][]=min(dp[i][],dp[i-][]);
if(str1[i]>=str2[i-])
dp[i][]=min(dp[i][],dp[i-][]);
if(str2[i]>=str1[i-])
dp[i][]=min(dp[i][],dp[i-][]+a[i]);
if(str2[i]>=str2[i-])
dp[i][]=min(dp[i][],dp[i-][]+a[i]);
}
ll ans=min(dp[x][],dp[x][]);
if(ans<INF)
printf("%I64d\n",ans);
else
printf("-1\n");
return ;
}

CF Round #367 C题的更多相关文章

  1. Codeforces Round #367 (Div. 2) A. Beru-taxi (水题)

    Beru-taxi 题目链接: http://codeforces.com/contest/706/problem/A Description Vasiliy lives at point (a, b ...

  2. Codeforces Round #367 (Div. 2) C. Hard problem

    题目链接:Codeforces Round #367 (Div. 2) C. Hard problem 题意: 给你一些字符串,字符串可以倒置,如果要倒置,就会消耗vi的能量,问你花最少的能量将这些字 ...

  3. CF Round #510 (Div. 2)

    前言:没想到那么快就打了第二场,题目难度比CF Round #509 (Div. 2)这场要难些,不过我依旧菜,这场更是被\(D\)题卡了,最后\(C\)题都来不及敲了..最后才\(A\)了\(3\) ...

  4. 竞赛题解 - CF Round #524 Div.2

    CF Round #524 Div.2 - 竞赛题解 不容易CF有一场下午的比赛,开心的和一个神犇一起报了名 被虐爆--前两题水过去,第三题卡了好久,第四题毫无头绪QwQ Codeforces 传送门 ...

  5. 【前行&赛时总结】◇第4站&赛时9◇ CF Round 513 Div1+Div2

    ◇第4站&赛时9◇ CF Round 513 Div1+Div2 第一次在CF里涨Rating QWQ 深感不易……作blog以记之 ( ̄▽ ̄)" +Codeforces 的门为你打 ...

  6. CF Round #580(div2)题解报告

    CF Round #580(div2)题解报告 T1 T2 水题,不管 T3 构造题,证明大约感性理解一下 我们想既然存在解 \(|a[n + i] - a[i]| = 1\) 这是必须要满足的 既然 ...

  7. Codeforces Round #367 (Div. 2) D. Vasiliy's Multiset (0/1-Trie树)

    Vasiliy's Multiset 题目链接: http://codeforces.com/contest/706/problem/D Description Author has gone out ...

  8. Codeforces Round #367 (Div. 2) C. Hard problem(DP)

    Hard problem 题目链接: http://codeforces.com/contest/706/problem/C Description Vasiliy is fond of solvin ...

  9. Codeforces Round #367 (Div. 2) B. Interesting drink (模拟)

    Interesting drink 题目链接: http://codeforces.com/contest/706/problem/B Description Vasiliy likes to res ...

随机推荐

  1. 《Google软件测试之道》基础

    <Google软件测试之道>,一直听朋友讲起这本书,出于琐事太多,一直没机会拜读,最近部门架构觉得我们IT部门的技术太low,就给我们挑选了一些书籍,让我们多看看... 个人的一种学习习惯 ...

  2. [LeetCode] Interleaving String 交织相错的字符串

    Given s1, s2, s3, find whether s3 is formed by the interleaving of s1 and s2. For example, Given: s1 ...

  3. HttpURLConnection类

    导语 java.net.HttpURLConnectin类是URLConnection类的抽象子类.它在处理协议为HTTP的URL时特别有效.具体而言,它通过它可以获取和设置请求方法,确定是否重定向, ...

  4. 【前端积累】JavascriptUtil 字符串部分

    //计算字符串长度 String.prototype.strLen = function() { var len = 0; for (var i = 0; i < this.length; i+ ...

  5. ubuntu系统虚拟机下共享文件夹

    一般情况 1.安装: sudo apt-get install open-vm-dkms     2.挂载: sudo mount -t vmhgfs .host:/ /mnt/hgfs 用以上命令安 ...

  6. 【hrbust2294】方方正正

    题意 哈理工2016级新生程序设计全国邀请赛C题 一个r行c列的01矩阵,告诉你每行的和.每列的和,问是否存在这样的矩阵? 题解 首先,行和和列和之和要相等,否则一定是NO. 然后根据Gale-Rys ...

  7. ssh key生成

    Mac电脑用终端生成SSH key 访问自己的Github 字数684 阅读427 评论4 喜欢15 前言:最近有不少刚刚使用github管理代码的开发者或者新手码农在网上 问我如何关联自己的gith ...

  8. BZOJ1800 [Ahoi2009]fly 飞行棋

    本文版权归ljh2000和博客园共有,欢迎转载,但须保留此声明,并给出原文链接,谢谢合作. 本文作者:ljh2000 作者博客:http://www.cnblogs.com/ljh2000-jump/ ...

  9. UVA1225

    每增加1个整数,所有位上的对应数都加一.建立一个10000列10行的表,然后查表就可以了. #include<stdio.h> #include<string.h> ][]; ...

  10. linux系统下使用xampp 丢失mysql root密码【xampp的初始密码为空】

    如果在ubuntu 下面 使用xampp这个集成开发环境,却忘记mysql密码. 注:刚安装好的xampp的Mysql初始密码是空... 找回密码的步骤如下: 1.停止mysql服务器 sudo /o ...