HDU4662(SummerTrainingDay03-B)】的更多相关文章

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4662 倒推考虑长度就可以了. //STATUS:C++_AC_31MS_240KB #include <functional> #include <algorithm> #include <iostream> //#include <ext/rope> #include <fstream> #include <sstream> #incl…
把目标中的 U 转化为 I. 又因为 I的个数是有规律的:1 2 4 8 16 ...再结合可以取消 6 12 18 ...个I...得解 #include<string.h> #include<stdio.h> #include<iostream> #include<algorithm> #include<map> using namespace std; const int maxn = 1000000+5; map<int,int&g…
MU Puzzle Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 1997    Accepted Submission(s): 787 Problem Description Suppose there are the symbols M, I, and U which can be combined to produce strin…
题意:给你一个串MI,按照三种规则1:M后面的部分加倍 2:III->U 3:删去连续的两个UU.看看能否变为给定的串 解题关键:将所有的U转化为I,发现 t+k*6=2^i -> =2^i%6,找规律发现 t%6==2或t%6==4 #include<cstdio> #include<cstring> #include<cstdlib> #include<algorithm> #include<cmath> #include<…
题意:      给你一个初始串"MI",这个串有三种操作, (1)M后卖弄可以直接复制 ,MI -> MII (2)三个III可以变成一个U,MUIII -> MUU (3)连续的两个U可以直接删除,MIUUU -> MIU 每次输入一个字符串,问你这个字符串是不是MI变过来的.   思路:      刚开始想都没想直接开个容器mark,然后搜索打表,控制的长度是1000000,直接敲完运行等了好几分钟都没打完,哎! sb了,后来仔细看了看题目发现 其实我们可以这样…
HDU-4655 Cut Pieces 题意:有N个格子能够被涂色,每个格子能够涂1-ai 种颜色,当N=6,涂色方案:112233 认为方案中共有3个颜色块:涂色方案:121212 认为方案中共有6个颜色块.所谓颜色块也就是整个涂色方案中相同连续的颜色被视作为一个颜色块.问如何安排 ai 的排列使得所有方案颜色块之和最大. 分析:从反面求解,首先能够产生的方案数一共有a1*a2*a3*...*an种,每种方案在没有相邻颜色认为为同一颜色块的情况下,颜色块的数量均为n.那么如何减掉重复计算的.可…