发现最近碰到好多次二分结果的题目,上次多校也是,被我很机智的快速过了,这个思想确实非常不错。在正面求比较难处理的时候,二分结果再判断是否有效往往柳暗花明。这个题目给定n个数字的序列,可以操作m次,每次要操作w个连续的数字,每次的操作将使得该段连续数字的数都+1,最后求整个序列最小值的最大值求最小值最...
分类:
其他好文 时间:
2014-08-24 17:59:12
阅读次数:
204
其实现在想起来是个巨简单的DP,模型就跟LCS很像,比赛的时候居然没想出来,在聪哥提醒下还卡了个地方就是说给定一串n个数字的序列,可以连续合并,最终使得序列是回文的,题目也给定了合并数字所需的代价,合并一个为0,合并2个 3个。。n个的代价都有题目比较新意的地方就是回文,这也是我们要解决的主要地方,...
分类:
其他好文 时间:
2014-08-24 17:59:02
阅读次数:
210
非贪婪模式:*?尽可能少匹配 如(.*?) +?至少匹配前面的形式一次原生字符串: r"\d"匹配一个数字,一般都要加r,解决转义反斜杠的问题否则要这样写"\\d"正则表达式修饰符 - 可选标志re.I:使匹配对大小写不敏感re.L:做本地化识别(locale-aware)匹配re.M:多行匹配,影...
分类:
其他好文 时间:
2014-08-24 16:37:42
阅读次数:
165
Problem2:
题目描述:
输入一组数据,统计每个数出现的次数,并按照数字的大小进行排序输出。
输入:
输入20个数字,数字之间用空格隔开。
输出:
统计每个数字出现的次数,并按数字的大小输出数字及其出现的次数.
样例输入:
20
9 8 5 1 7 2 8 2 9 10 1 7 8 9 5 6 9 0 1 9
样例输出:
0:1
1:3
2:...
分类:
其他好文 时间:
2014-08-24 01:51:21
阅读次数:
161
题目:uva147 - Dollars(完全背包)
题目大意:给出11种硬币,然后给出一个数字,问可以有多少方式由上面的给的硬币凑出。这里要注意精度误差,题目可能会给出20.005这样的数据,虽然我觉得这是不合法的数据,但是但是会给,并且还需要你向上取整。
解题思路:完全背包。
代码:
#include
#include
const int N = 11;
c...
分类:
其他好文 时间:
2014-08-23 21:41:31
阅读次数:
218
一、基本概念 在某些情况下,我们必须处理相当大的一个整数,运用类型int、long int、long long int 类型均无法对其进行存储。要解决这样的问题,我们就需要自己编写相应的处理程序。在处理大数的时候,可以将其作为字符串读入,然后一个数字一个数字的存储到数组中,然后编写相应运算操作的处....
分类:
其他好文 时间:
2014-08-23 20:21:11
阅读次数:
228
/*
中文题目 勇士斗恶龙
中文翻译-大意http://download.csdn.net/detail/lingclingc/6563601 详细解释
第一个n表示有几条大龙、第二个数字m表示屠龙勇士的人数,后面有n行表示大龙的血量,m行表示勇士的攻击力也表示向国王要的钱数(能力强的拿钱多),求让国王付出最少的钱
解题思路:将大龙的血量按从小到大排序,同样屠龙勇士的攻击力也要从小到...
分类:
其他好文 时间:
2014-08-23 14:04:00
阅读次数:
222
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4907题目意思:给出工作表上的 n 个任务,第 i 个任务需要 ti 这么长的时间(持续时间是ti ~ ti+1)来完成。有m 个询问,每个询问是一个数字q,表示q 时间上有一个非 n 个任务之外的任务请...
分类:
其他好文 时间:
2014-08-23 11:09:50
阅读次数:
347
【问题】
题目:数组中有一个数字出现的次数超过了数组长度的一半,找出这个数字。
【分析】
解法1:
先排序,排序后数组中间的那个元素就是要找的那个数字。时间复杂度O(n*logn)。
解法2:
既要缩小总的时间复杂度,那么可以用查找时间复杂度为O(1)的hash表,即以空间换时间。哈希表的键值(Key)为数组中的数字,值(Value)为该数字对应的次数。然后直接遍历整个hash表,...
分类:
其他好文 时间:
2014-08-22 21:13:09
阅读次数:
265
链接:http://poj.org/problem?id=1465
题意:给一个数字n,和m个数字,找一个由这些数字组成的最小的n的倍数,如果不存在输出0。
思路:这题怎么想都想不到bfs上去,看了别人的解题报告,其实是用bfs来枚举,但是加了一个牛逼的剪枝:同余。即如果A%X==B%X,则(A*10+K)%X==(B*10+K)%X。
我们枚举m中每一个数字做这个K,实际上是枚举了...
分类:
其他好文 时间:
2014-08-21 22:55:55
阅读次数:
435