oi

  • 17th April 2010

ZJU 1638. Greedy Island

Read more →
  • 13th March 2010

XV Olimpiada Informatyczna - Etap 1 - klo

题目大意:有一个长为 N 的整数数列,每次可以把一个数增减一,求最少次数使得有连续 K 个数相同。 下面程序用 Size balanced tree 实现,卫星数据是子树节点数和子树关键字和。

…

Read more →
  • 11th February 2010

checker

Read more →
  • 22nd January 2010

USACO JAN10 Gold

Read more →
  • 19th December 2009

称球问题扩展——根据当前已知信息选择最优称量方案

似乎是某个TopCoder SRM的题目。

N 个球,有一个是坏的,坏球重量与好球不同(略轻/重于好球)。有一个天平,可以告知左右两边孰重孰轻,最小化最坏情况下称量次数,给出称量方案。下面讨论该问题的一个扩展——如何通过已知信息(即之前称量结果,之前的称量结果可能不是最优的)选择下一步称量方案,最小化最坏情况下的称量次数。

根据已有信息把所有球分为4类:

  • 肯定是好球
  • 不可能比好球轻(不能确定是否为坏球)
  • 不可能比好球重(不能确定是否为坏球)
  • 不知道任何信息

每个球必定属于以上四类中的某一类。我们只需知道每一类的数目即可,具体编号无关紧要。令\(s[nh][nl][nu]\)表示有\(nh\)个1类球,nl 个2类球,nu 个3类球,最坏情况下需要称量的次数。枚举一边放置的各类型球数 lh(1类),ll(2类),lu(3类),枚举另一边放置的各类型球数 rh(1类),rl(2类),ru(3类),re(0类)。如果两边都有0类球,那么我们可以在两边各移去一个。我们可以保证0类球只出现在一边,不妨设为 rh(1类),rl(2类),ru(3类) 一边。

…

Read more →
  • 23rd November 2009

Dancing Links+Algorithm X求解数独

Read more →
  • 23rd November 2009

NOIP 2004 数字游戏(虫食算)

下面程序可计算如下形式的式子:

one
+  nine
+ fifty
+twenty
-------
eighty

a
+a
--
bc

方法是枚举进位+解方程,涉及的字母以及各个位上的进位作为变量,然后解方程。这样可以用 各个位上的进位 和 字母变量中的自由变量 表示 其他字母变量。枚举 各个位上的进位 和 字母变量中的自由变量 以求出 其他字母变量,以此得到各组解。使用方法:根据要求解的式子设置各个变量,N、M设置得大点没关系,L要正好等于式子的行数,然后输入L行字符串

…

Read more →