- 博客(6)
- 资源 (2)
- 收藏
- 关注
原创 [TOJ] 1179 Game of Connections -- catalan数,JAVA文件输入输出
<br />给每个点编号为1~2n。写成圈儿以后,以点1为基准,发现只能连偶数号的点。依次和它们连线,把每次求出的方案数加到结果里。每连一条线就会把这个圈其余的点分成两部分,每部分对应点数的方案数是求过的,两部分方案数相乘,加到结果里去。如果跟相邻的点相连,就把剩下的点连接的方案数直接加进去。<br />推了一下前几个,发现正好是catalan数~Show Code - Run ID 954408Submit Time: 2010-08-08 19:23:16 Language: Java
2010-08-08 21:32:00 699
原创 [TOJ] 1079 Octal Fractions -- JAVA高精
<br />非常暴力,毫无技巧。<br />总觉得对JAVA了解不多。一写那种复杂一点的题目就很容易写超时,而且在我看来超时得毫无理由……<br />我看了看这题的运行列表,有0.02s的,我试着优化了一下竟然0.07了……很是YM~Show Code - Run ID 953532Submit Time: 2010-08-07 20:46:03 Language: Java Result: Accepted<br /> Pid: 1079 Tim
2010-08-07 20:59:00 540
原创 [TOJ] 3148 Light Switching -- 线段树
优化了好久好久..开始超时的程序在好多OJ交都过了,TOJ时间卡的太紧了。开始有n个灯,标号为1~n。m个操作。操作有更改某一段灯的状态(开变关,关变开)和查询某一段亮着的灯的个数 。灯开始都是关着的。我开始很纠结,怎么更改一段的灯的状态呢?有的是开,有的是关,那不是要更新到叶子结点了?想了两天终于想通其实不需要记录灯的状态,只需要知道一个区间被改过多少次就行了。一个区间的亮灯数是sum,区间里一共有灯L个。那这个区间被改之后亮灯数就变成了L - sum。而且如果一个区间被改了偶数次,和没改一样;被改奇数次
2010-08-06 19:04:00 668
原创 [PKU] 2777 Count Color -- 线段树
我是先按常规的方法把每个区间的颜色更新到位,然后在查询的时候,遇到一个颜色就标记在res上(因为最多只有30种颜色,所以可以用位运算来标记状态)。最后计算res的二进制里面有多少个1就行了。 Source Code Problem: 2777 User: yueashuxia Memory: 4844K Time: 469MS Languag
2010-08-03 11:28:00 741 1
转载 计算一个整数二进制表示时有多少位是为1的算法
C代码 int test(int n) { int nCount = 0; while(n) { nCount++; n = n & (n - 1); } return nCount; } 例如test(9999)=8; 9999的二进制为10011100001111转自:http://luckyclouds.javaeye.com/bl
2010-08-03 10:57:00 832
原创 [hdu]1394 Minimum Inversion Number -- 暴力求逆序、树状数组求逆序、线段树求逆序、归并排序求逆序
无聊都给写了.. 其实这道题的关键不是求逆序的方法,因为暴力也可以过。 题意是,给一个长度为n的序列(n 我用数组a[0~n-1]来存原始数据。只需求出原始序列的逆序数sum,然后对于a[i](0 1.暴力法。 265MS 212K 600 B Problem : 1394 ( Minimum Inversion Number ) Jud
2010-08-01 21:45:00 1983 3
C++实现九连环(改良版)
2009-07-28
STL源码剖析pdf 侯捷
2009-07-22
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人