题意:把一个正整数分成若干个互不相等正整数的和,使得分成的这些数字的乘机最大。
解题思路:把这些数分成从2开始的以1为公差的等差数列即可,如果最后一个数字不够,就从后往前将其它数字加1。
纯粹是一道数学题啊。
代码

posted @ 2013-04-06 22:26 小鼠标 阅读(172) | 评论 (0)编辑 收藏
模拟题。
用一个栈记录着访问过的url,每遇到"VISIT"就将栈内当前页面(nowp指向的页面)之后的url扔掉,然后将本次访问的url入栈。
代码

posted @ 2013-04-04 21:52 小鼠标 阅读(124) | 评论 (0)编辑 收藏
     摘要: 关于数字的题我的确不擅长,可能是抽象思维的能力太差了,多动手画画也许会好些。本以为这一题是DP,仔细分析之后才发现是模拟,原因是箱子之间的组合情况极其有限!   代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--> 1impor...  阅读全文
posted @ 2013-04-03 21:36 小鼠标 阅读(137) | 评论 (0)编辑 收藏
     摘要: 错误的解题思路:
回溯。用回溯是万万不行的,数据量是100^100。
正确的解题方式:
枚举所有的带宽b,即将所有出现的带宽指定为minb枚举一遍,对每个device,只需要选出device_b >= minb && device_p尽可能小。求出性价比最高的那个。数据量100 * 100。
  阅读全文
posted @ 2013-03-27 17:53 小鼠标 阅读(179) | 评论 (0)编辑 收藏
     摘要: 题意:十二枚硬币中有一个与其它重量不一样,用天平只称三次,请推断出哪一枚银币与其它不一样,是轻了还是重了?这是一道to satisty题目,就是去满足给定的条件。解这类题目的思路有两种:方法一、假设不知道那一枚硬币有问题,根据条件推测出有问题的硬币。方法二、依次假设硬币有问题,看那种假设满足题意。显然,这类题目用第二种方法更好做,因为可以假设的情况是很少的。只需要把所有出现的硬币都“怀...  阅读全文
posted @ 2013-03-22 22:31 小鼠标 阅读(147) | 评论 (0)编辑 收藏
传说中的约瑟夫环问题,刚开始想到的就是模拟,输入10的时候就运行了数小时!网上搜索之后才知道是DP。这里有两个重要的递推公式:
1.f[i] = (f[i - 1] + m) % i, f[1] = 0. f[i]表示人数为i时最后活下来那个人的下标(从0开始),m为基数,即每数到m就让该人出局
2.f[i] = (f[i - 1] + m - 1) % (n - i + 1), f[0] = 0,f[i] 表示第i轮出局的人的下标, n为一开始的总人数
解题用到的是第二个公式。
不过直接用递推公式还是会超时,于是乎,我只好打表了。
代码

posted @ 2013-03-21 14:34 小鼠标 阅读(187) | 评论 (0)编辑 收藏
两种日历间的转换,转换思路是将Haab日历转换为实际天数,然后再转换为Tzolkin日历。进制转换时需要注意,取模时为了避免结果为0时的特殊情况,我们要采取一个小技巧。下面我举例说明:
假设每月有30天,每月日期编号从1开始(也就是说日期号为1~30),请问今年的第11天是几号?第60天呢?第61天呢?
回答上面的问题并不困难,可是程序中我们应该怎样计算呢?
(11-1)%30 + 1 = 11,因此第11天是11号;
(60-1)%30 + 1 = 30,因此第60天是30号;
(61-1)%30 + 1 = 1,因此第61天是1号。
由上面的例子我们不难总结出下面的公式:
假设进制为D,基数为b(只有b~D+b-1这些数字),对任何一个从1开始计数的数字N,在该进制下的余数r可以表示为:r=(N-1)%D + b
代码
posted @ 2013-03-18 15:21 小鼠标 阅读(238) | 评论 (0)编辑 收藏
简单的排序题,用TreeSet实现。
TreeSet的排序方式有两种:
1.让元素自身具有可比较性,这种方法称为自然顺序或者默认顺序
2.让容器自身具有可比较性
这里是介绍第一中方法,这种方法的做法是利用元素自身的比较性,即元素实现Comparable接口,覆盖campareTo()方法
再拓展一下。我们知道set中的元素不仅是有序的,而且是不能重复的,如何判断元素是否重复呢?TreeSet和HashSet判断方法并不一样。在自然顺序时,TreeSet判断元素是否相同的依据是compareTo()是否返回0,remove()和contains()也调用此方法。
代码

posted @ 2013-03-17 21:13 小鼠标 阅读(228) | 评论 (0)编辑 收藏
     摘要: 前天刚买了一个平板,安卓4.0,被它上面各种存储器搞混了,今天抽空在网上了解一番,做出如下总结,对跟存储器相关的各种名词做出简短的解释。不到之处,还请各位指正。  阅读全文
posted @ 2013-03-16 21:33 小鼠标 阅读(1914) | 评论 (0)编辑 收藏
     摘要: 简单的字符串处理,数据量比较大(E5),查找效率不高会超时。一开始用TreeSet,可是无法解决重新插入时的次数增加问题,因为TreeSet无法索引到具体某个元素。后来改用TreeMap,问题迎刃而解。 代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/...  阅读全文
posted @ 2013-03-16 09:54 小鼠标 阅读(134) | 评论 (0)编辑 收藏
仅列出标题
共13页: 1 2 3 4 5 6 7 8 9 Last 
<2024年4月>
31123456
78910111213
14151617181920
21222324252627
2829301234
567891011

常用链接

随笔分类(111)

随笔档案(127)

friends

最新评论

  • 1. re: 线段树
  • 是这个样子的,所以在OJ有时候“卡住”了也不要太灰心,没准真的不是自己的原因呢。
    加油,祝你好运啦!
  • --小鼠标
  • 2. re: 线段树
  • 对于编程竞赛来说,Java所需时间一般为C/C++的两倍。合理的竞赛给Java的时间限制是给C/C++的两倍。
  • --伤心的笔
  • 3. re: poj1273--网络流
  • 过来看看你。
  • --achiberx
  • 4. re: (转)ubuntu11.10无法启动无线网络的解决方法
  • 膜拜大神。。查了一个下午资料终于在这里解决了问题。。神牛说的区域赛难道是ACM区域赛。。?
  • --Hang
  • 5. re: 快速排序、线性时间选择
  • 博主,谢谢你的文章。你的方法可以很好的处理分区基准在数组中重复的情况,书上的方法遇到这种输入会堆栈溢出。书上给出了解释但给的方法貌似不简洁。
  • --lsxqw2004

阅读排行榜