题目:http://acm.hdu.edu.cn/showproblem.php?pid=6739
思路:暴力dp
           一个special skill最多有6种排列组合
          将前后两个技能进行36种组合配对
          即
          dp [ i ] [ j ] ( j 为 s [ i ] 的排列组合 0 <= j <= 5 )
          =min( dp [ i ] [ j ] , dp [ i - 1 ] [ k ] ( k 为 s [ i - 1 ] 的排列组合 0 <= k <= 5 ) + s [ i - 1 ] 的第 k 种排列组合与是 s [ i ] 的第 j
          种排列组合的两个技能连发的最少按键值

#include<bits/stdc++.h>
using namespace std;
];
map<char,int>mp;
][][]={
                    "QWE","QEW","WQE","WEQ","EQW","EWQ",
                    "WWW","WWW","WWW","WWW","WWW","WWW",
                    "WEE","WEE","EWE","EEW","EWE","EEW",
                    "QEE","QEE","EQE","EEQ","EQE","EEQ",
                    "QQE","QEQ","QQE","QEQ","EQQ","EQQ",
                    "EEE","EEE","EEE","EEE","EEE","EEE",
                    "QQW","QWQ","QQW","QWQ","WQQ","WQQ",
                    "QWW","QWW","WQW","WWQ","WQW","WWQ",
                    "QQQ","QQQ","QQQ","QQQ","QQQ","QQQ",
                    "WWE","WEW","WWE","WEW","EWW","EWW",
                  };
][];
int cmp(int a,int b,int c,int d)
{
    ;
    ]==p[c][d][]&&p[a][b][]==p[c][d][]) ;
    ]==p[c][d][]) ;
    ;
}
int main()
{
    mp[,mp[,mp[,mp[,mp[,mp[,mp[,mp[,mp[,mp[;
    while(~scanf("%s",s))
    {
        ;s[i];i++)
            ;j<;j++)
                dp[i][j]=(i+)*+i+;
        ;i<;i++) dp[][i]=;
        ;s[i];i++)
            ;j<;j++)
                ;k<;k++)
                    dp[i][j]=min(dp[i][j],dp[i-][k]+cmp(mp[s[i-]],k,mp[s[i]],j));
        int minn=0x3f3f3f3f;
        ;i<;i++) minn=min(minn,dp[strlen(s)-][i]);
        printf("%d\n",minn+strlen(s));
    }
    ;
}
 

HDU6739 2019CCPC秦皇岛赛区 I. Invoker的更多相关文章

  1. 2019CCPC秦皇岛I题 Invoker(DP)

    Invoker Time Limit: 15000/12000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others)Total ...

  2. 2019CCPC秦皇岛赛区(重现赛)- I

    链接: http://acm.hdu.edu.cn/contests/contest_showproblem.php?pid=1009&cid=872 题意: 在 dota2 中有一个叫做祈求 ...

  3. 2019CCPC秦皇岛赛区(重现赛)- J

    链接: http://acm.hdu.edu.cn/contests/contest_showproblem.php?pid=1010&cid=872 题意: 鉴纯夏是一名成绩不太好的高中生. ...

  4. 2019CCPC秦皇岛赛区(重现赛)- F

    链接: http://acm.hdu.edu.cn/contests/contest_showproblem.php?pid=1006&cid=872 题意: Z 国近年来一直在考虑遏制国土沙 ...

  5. HDU6740 2019CCPC秦皇岛赛区 J. MUV LUV EXTRA

    题目:http://acm.hdu.edu.cn/showproblem.php?pid=6740思路:求小数部分后k位的真前后缀 倒着kmp就好 #include<bits/stdc++.h& ...

  6. HDU6736 2019CCPC秦皇岛赛区 F. Forest Program

    题目:http://acm.hdu.edu.cn/showproblem.php?pid=6736思路:dfs+栈 判环           设图中环的大小分别为 c1, c2, ..., ck,不属 ...

  7. 2019ccpc秦皇岛/Gym102361 I - Invoker dp

    题意: 连续3个特定的按键(在这3个中不要求顺序)能使出某个技能,使出不同技能所需要的按键可以重叠,给你一个技能序列,问你最少花费多少次按键能按顺序使出这些招数. 题解: dp,dp[i][j]代表使 ...

  8. 2019-ccpc秦皇岛现场赛

    https://www.cnblogs.com/31415926535x/p/11625462.html 昨天和队友模拟了下今年秦皇岛的区域赛,,,(我全程在演 题目链接 D - Decimal 签到 ...

  9. 2019CCPC秦皇岛 E题 Escape(网络流)

    Escape Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others)Total Su ...

随机推荐

  1. 刷新页面后,让控制台的js代码继续执行

    在各种限时,秒杀活动中,有个自动循环的点击的工具是很重要的. 为了方便起见,我们把Js代码放在浏览器的控制台执行,但是刷新页面后,js代码就清空了,也就无法执行. 可以用js代码实现一个不受页面刷新影 ...

  2. ServletContainerInitializer

    在web容器启动时为提供给第三方组件机会做一些初始化的工作,例如注册servlet或者filtes等,servlet规范中通过ServletContainerInitializer实现此功能. 每个框 ...

  3. 1.2.2 OSI参考模型 上

    一.HCNA网络技术学习指南 为了实现网络的互通及各种各样的网络应用,网络设备需要运行各种各样的协议已实现各种各样具体的功能.面对各种各样且数量繁多的功能,我们可以从网络架构的角度,引入功能分层的模型 ...

  4. NLP自然语言处理中英文分词工具集锦与基本使用介绍

    一.中文分词工具 (1)Jieba (2)snowNLP分词工具 (3)thulac分词工具 (4)pynlpir 分词工具 (5)StanfordCoreNLP分词工具 1.from stanfor ...

  5. CentOS7下MySQL服务启动失败原因及解决方法

    在重启阿里的CentOS7服务器后,重启MySQL 出现错误 Starting mysqld (via systemctl): Job for mysqld.service failed becaus ...

  6. python的学习之路(四)

    #迭代器,取值只能用next方法,不能随意取值name = iter([11,22,33,44])print(name.__next__())print(name.__next__())print(n ...

  7. kettle An error occurred, processing will be stopped: 错误 解决方法

    上午在使用KETTLE时,报了一个 An error occurred, processing will be stopped: 错误,手动跑没有问题,用jekens调用就报错. 具体原因不清楚,后面 ...

  8. Type类的使用

    Type类的使用(类反射)通过类获得Type: Type t = typeof(Person)通过实例对象获得类的Type: Type t = p.GetType()获取Type的方法:MethodI ...

  9. 面试题1-十进制数转化为十六进制数,不使用hex方法

    问题: 给定一个整数,写一个算法将它转换为16进制,对于负数,可以使用two’s complement方法 def tohex(num): """十进制数转十六进制数&q ...

  10. 3d旋转焦点图

    在线演示 本地下载