摘要:
我是把它当做一道数学题来做的。这篇题解写的有点啰嗦,但是是我最原始的思维过程。对于一个集合An= { 1, 2, …, n },在n比较小的情况下,在纸上按字典顺序把所有子集排列一下。以n=3,m=10举例:11 21 2 31 31 3 222 12 1 32 32 3 133 13 1 23 2... 阅读全文
摘要:
受上一道题影响,我本来想着开一个二维数组来表示充电和不充电的状态。可这样就有一个问题,如果没有充电,那么在下一个阶段就有剩余的电量。这样问题貌似就不可解了,难道是因为不满足动态规划的无后效性这一条件?这里先打个问号。所以这题还是看的别人的思路。将起点和终点划分到N个加电站中去这样一共有N+2点,用D... 阅读全文
摘要:
毕竟水题,可还是没能自己做出来。不过有进步的是看了别人的解题思路便自己用代码实现了。毕竟水题。对状态转移方程的寻找还是没有什么思路,但有小小的体会:所谓状态就是你开的dp数组能够记录从最开始的1个子问题最优解到最后整个状态的最优解。首先你得dp数组得能记录每时每刻的状态,不能有信息丢失。从打印第一个... 阅读全文
摘要:
又一次看题解。万事开头难,我想DP也是这样的。呵呵,不过还是有进步的。比如说我一开始也是打算用dp[i][j]表示第i个月份雇j个员工的最低花费,不过后面的思路就完全错了。。不过这里还有个问题,这样开数组j开多大比较好,难道要我开2^31-1这么大?题解里面开了1000多,也许再小一点也能过吧。因为... 阅读全文
摘要:
定义四个伪指针存放下标,分别表示的意思是在已知的丑数中,能够与2,3,5,7相乘的最小的数的下标。 上面这句话要好好体会。 也就是说dp[p1] * 2 能够得到一个新的丑数,其他三个以此类推。 但我们要求的是已知最大丑数中紧挨着的下一个丑数,那就是能够产生新丑数的最小值了。 即min(dp[p1] 阅读全文
摘要:
这个题目想了一天,最后还是看的题解。http://www.acmerblog.com/hdu-1421-%E6%90%AC%E5%AF%9D%E5%AE%A4-1891.html还是没有dp的解题思想,受上一题影响老是想着转化成数塔形式,结果走了不少弯路。第一感觉还是准的,首先按质量对这n件物品排序... 阅读全文
摘要:
很简单,就是数塔的变形。数塔从上到下分别对应时间t时刻x位置掉落的馅饼。然后从下往上算即可。免费馅饼Time Limit: 2000/1000 MS (Java/Others)Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): ... 阅读全文
摘要:
最近把七种排序算法集中在一起写了一遍。注释里有比较详细的说明。 1 /*排序算法大集合**/ 2 #include 3 #include 4 #include 5 6 //------------------快速排序------------------// 7 /* 8 核心... 阅读全文
摘要:
基本枚举、贪心、递归、分治、递推、模拟STL(pair、vector、set、map、queue、string、algorithm)构造、位运算、常数优化数据结构队列、堆、栈、链表排序(插入、冒泡、快速、归并、堆、桶、基数)二分查找、散列表并查集、哈夫曼树排序二叉树、左偏树、平衡树(Splay/Tr... 阅读全文
摘要:
PalindromesA regular palindrome is a string of numbers or letters that is the same forward as backward. For example, the string"ABCDEDCBA"is a palindr... 阅读全文
摘要:
Automatic PoetryInput:standard inputOutput:standard outputTime Limit:2 secondsMemory Limit:32 MB“Oh God”, Lara Croft exclaims, “it’sone of these dumb ... 阅读全文
摘要:
题目大意:输入一个字符串,根据物理公式P=U*I,已知其中两个量,求第三个量,结果保留两位小数。Artificial Intelligence?Physics teachers in high school often think that problems given as text are mo... 阅读全文
摘要:
哈哈,虽然是一道字符串水题,可是拿到一个1A还是很开心的!题意就是给一些keywords(子串)和Excuse(母串),然后输出包含keywords最多的Excuse,如果相等的话,按任意顺序全部输出即可。解题时有几点需要注意:1、一个keyword可能在Excuse里重复多次。2、每个keywor... 阅读全文
摘要:
题目很简单,代码也很短。第一遍做的时候,我居然二乎乎的把input里面的小框框忽略掉了,所以WA了一次。每一行代表一个二进制的ASCII码,'o'代表1,空格代表0,中间的小黑点忽略。我直接把一行字符串全读进去,如果字符串以下划线开头说明输入结束(字符串的处理从第2行开始)。然后从左到右一个字符一个... 阅读全文
摘要:
感觉这道题要比之前几个字符串处理的题目难度要大了一些。题目大意:给若干行字符串,提取出所有单词并去掉重复的,最后按字典顺序输出。对于输入大致有两种思路,一种是逐个读入字符,遇到字母的话就放到word里面,直到遇到非字母字符,在word最后放'\0'。我采用第二种思路,就是用gets()函数逐行读到s... 阅读全文
摘要:
吐槽下我的渣渣英语啊,即使叫谷歌翻译也没有看懂,最后还是自己读了好几遍题才读懂。题目大意:题意很简单,就是给一些互不相同的由'0','1'组成的字符串,看看有没有一个字符串是否会成为另一个的开头的子串。直接简单粗暴的去比较就可以了。这是原题:Immediate DecodabilityAn enco... 阅读全文
摘要:
字符串题目就先告一段落了,又是在看balabala不知道在说些什么的英语。算法也很简单,用了几个库函数就搞定了。本来还担心题里说的replace-by为空的特殊情况需要特殊处理,后来发现按一般情况处理也能A过去。第一次RE是因为char t[]开小了。对了,strstr()函数我也是第一次用,对这个... 阅读全文
摘要:
之前杭电上也做过a + b的高精度的题,不过这道题的区别是有多组数据。之前做的时候开了3个字符数组a,b,c,在计算的时候还要比较a,b长度,短的那个还要加'0',还设置了一个add来存放进位。现在看来这种算法确实很繁琐。而这次只用了两个字符数组,一个放加数,一个放和。相比之前程序更短小了,而且可读... 阅读全文
摘要:
蛋疼的题目描述,看了好长好长时间才看懂,题目本身是很简单的。Designer给出一串长度为N的Code,Breaker用Guess来破译。对于两串数字,如果有同一列相等的数字,那么叫做strong match,位于不同列的相等的两个数字,叫做weak match。题目要求就是先输出strong的个数... 阅读全文
摘要:
呵呵,这个翻译还是很直白的嘛,大家意会就好。第一次看到这个高大上题目还是有点小害怕的,还好题没有做过深的文章。只要按照规则转化成十进制就好了,而且题目本身也说了最大不超过一个int的范围(2^31-1 ==2147483647)。直接位运算就好了。Skew BinaryWhen a number i... 阅读全文