Mar 9

POJ 不指定

felix021 @ 2009-3-9 16:43 [IT » 程序设计] 评论(2) , 引用(0) , 阅读(6650) | Via 本站原创
前些天从某网站下载到了POJ的程序(不是源码) ( @ http://www.dssz.com/250473.html )
要1个积分的。1个积分要1个大洋的。一次性最少充10个积分的。于是我就少了10个大洋。于是就down到了POJ。
down下来是12MB,解压后大几十MB,发现里面带有一个3.4.2版的gcc,40+MB,Orz。去掉那个gcc打包,2MB。
在自己机器上架起来了。Windows(XP) + Tomcat(5.5.27) + JDK(6)。可以正常运行。
反正某一次我去申请了,填了个表,但是PKU那边根本没回复。
刚刚到POJ上面去看了一遍,貌似以前的申请已经被通过了,再次点开那个页面就可以下载了,我囧。
下载下来一看,12.9MB,gcc还是3.4.2。原来是我浪费了10个大洋。

down下来的包里面有一个license.txt,全英文的(真无聊。。),之前down下来懒得看
这回直接贴到translate.google.com,然后看到超搞笑的翻译:

引用
...the source code of the Software.  ----  ...源代码的软件

引用
5. LIMITATION OF LIABILITY
In no event will PKU ACM Team be liable for any damages, including but not limited to any loss of revenue, profit, or data, however caused, directly or indirectly, by the Software or by this Agreement. 
5 。责任限制
在任何情况下,北京大学计算机小组须承担任何赔偿,包括但不限于任何损失的营业收入,利润,或数据,但是造成的直接或间接的软件或通过本协定。

看来那个站点还是违反的这个license的,嗯。

看到第六点:
引用
6. DISTRIBUTION
No distribution is to be made of the Software by the Licensee.  The Licensee may make one copy of the Software for backup purpose only.
//Google的翻译
6 。分布
没有分配将软件由持牌人。持牌人可一复制的软件,如备份用途。


看来还是不允许随便流传的。。。
Mar 8

whuacm - oak - warmupII 不指定

felix021 @ 2009-3-8 23:56 [IT » 程序设计] 评论(2) , 引用(0) , 阅读(6030) | Via 本站原创
今天下午在实验室一个人做的。
一共写了5题,3AC,1WA,1没交。

A, Problem 1398 - Stock Exchange
最长递增自序列。因为是n <= 100000的数据量,所以显然N^2的程序是不行的,
google到了一个Nlog(N)的程序,基本上看懂了,自己写了一遍,AC,顺便贴在后面吧。

B, Problem 1399 - Sky Code
不会,嗯。完全没思路。我讨厌纯数学题=.=

C, Problem 1400 - Perfect Election
暴力写了个,没过样例,于是没交。
——2SAT问题,合取,析取,范式,DFS,强联通分量。晚上跑步的时候feli说的。不很懂,详见Baidu Or Google

D, Problem 1401 - Lucky Cities
没看,貌似图论,想必是不会。

E, Problem 1402 - Build Your Home
顺序(顺时针或者逆时针)给出多边形(不一定是凸多边形)的顶点,求面积。
用三角形的方法写了一个,WA了。后来张文说他用的梯形写的,AC了,于是改了一下,我也AC了。
看来还是要注意,sqrt尽量少用,嗯。代码也贴后面吧。

F, Problem 1403 - Quick Answer
并查集,看起来不难阿,代码也写得蛮快,就TMD的总是wa,我郁闷。回头学习下别人的代码吧。。WA的代码就不贴了
@2009-03-09 AC了,我的思路是基本上是正确的,有2个小错
  a. 输入有点小问题;因为题目的输入数据有一些trailing space,囧。
  b. q x y,当x==y的时候输出的是NO。
  代码也附在后面吧,我不会标准的并查集写法,这是按自己的想法写的。

G, 没看。

H, Problem 1406 - Internet Service Providers
纯数学题,蛮简单,代码贴后面,不写什么了。

I,  Problem 1405 - GCD Determinant
没做,看群里的说法,也是纯数学题=.= 貌似是把欧拉函数乘起来就好了,不要算行列式,嗯。

Mar 8

uva - 2191 - Potentiometers 不指定

felix021 @ 2009-3-8 01:32 [IT » 程序设计] 评论(0) , 引用(0) , 阅读(5292) | Via 本站原创
抽象题意:给出最多200,000个不超过1000的非负整数,对最多200,000次以下两类操作进行处理
1.  M x y   ——求第x到第y个整数之间的所有整数的和。
2.  S x v   ——将第x个整数的值置为v。

显然,硬搞要TLE的,稍微想了一下,就知道应该用线段树(或者树状数组?)来完成。
关于线段树可以参考 http://acm.whu.edu.cn/blog/read.php?26 以及 http://acm.whu.edu.cn/blog/read.php?51

简单的说,就是用一个平衡二叉树来存储这些东西,
每个叶节点存放一个整数(一个单位"线段"),
而每个分支节点存放的是一条"线段"

在M操作的时候,只要递归地将线段xy分割,能够在logN的时间内查询出
在S操作的时候,只要递归地找到对应的叶节点更新,并在返回的时候一层层更新涉及到的分支节点即可,也是logN。

好久没有写稍长的代码了,这个线段树的具体实现也忘得差不多了,还是去翻了一下yyt的论文。
不过这次写得顺利多了,思路比较清晰。
具体的代码为
Mar 4
ooxx的X3100阿,死活不肯就范。
在Fedora8下面,虽然可以进入X,但是有个ooxx的SELinux,烦死人。
打开包管理器,卸载SELinux,爽,顺便把什么东西都卸掉了, ls 和 init 都不行了,sigh。强制关机。

正好,张文那里用着Debian5,在Dom0下正常。
于是把vmlinuz、initrd、/usr/src/ooxx、/lib/modules/ooxx拷过来
apt-get安装了一个 ubuntu-xen-desktop
然后在/boot/grub/menu.lst里面加了一个title,kernel ,module,module。。。
然后启动:找不到这个和那个。囧。
然后发现是在module /boot/vmlinuz那个地方忘了加上内核参数,没有root=ooxx  =.=
好吧,root=/dev/sda3
启动,哦也,进入了XWindow!声音 网卡都正常,但是Atheros的无线网卡不对劲。
于是重新编译madwifi,make、make install、modprobe ath_pci,重启,还是不行=.=
找了跟网线插上去,也不能上网:网卡被当成网桥了。
brctl delif还是brctl delbr来着,反正删掉了个什么东西,剩下一个peth0,就可以上网了,嗯。

$ xm list
看到dom0,哦也。

然后开始整domU,上网找到一个脚本超赞的,指定一个分区,或者一个文件
它可以自动从源里面下载东西,制作好一个完整的可以作为的domU跑的分区。大约需要400MB空间。

$ dd if=/dev/zero of=ooxx.img bs=1M count=1 seek=1024  #创建一个镜像,当然你也可以用分区,就免掉这一步
$ mkubuntu.sh ooxx.img
等那么一段时间,然后就OK了

然后把脚本输出的东东存为一个xen的配置文件,比如ubuntu.xenrc

$ xm create -c ubuntu.xenrc

然后就看到启动信息拉~
Mar 2

新手机就位。 不指定

felix021 @ 2009-3-2 13:23 [IT » 手机] 评论(4) , 引用(0) , 阅读(14830) | Via 本站原创
很漂亮。
我要的是黑色版的。
横屏,很爽。
看视频看网页看FLASH比竖屏爽。
有些程序会有点诡异,不过屏幕方向可以通过CeleTask旋转过来。
Intel PXA270 416MHz的处理器
确实比以前的OMAP 850 200MHz爽
视频,700kbps的基本上没问题。更高的没测试过。
Show Good 的 Flash动画,如果画质是中或者低 基本上就不卡
打开程序也比原先那个586w来的快。
在PocketDOS下面跑QBasic和TurboC2,也顺畅多了。
外放声音够大。
摄像头200Mega,Auto-Macro
但是貌似不是自动对焦,需要手动选择远景和近景
远景适合拍摄风景,近景适合拍摄文字,配合蒙恬名片王可以读取名片的信息。
QWERTY键盘,输入确实很爽。快捷键的自定义功能也做得很好很强大。
继续试用,嗯。
Feb 28
当然,前提是不缺胳膊少腿、功能正常。

主要是从这两个方面入手:

1. 使用动态库,这是默认的,只要在编译的时候不加上 -static 参数就行了
2. 去处不必要的.symbol和.debug的信息,在编译的时候加上-s参数即可;或者在编译以后运行strip a.out。

strip能清除执行文件中不必要的标示符及调试信息
可减小文件大小而不影响正常使用,但是不能调试了
所以用于不需要调试的场合
Feb 25

Tomato的日志 不指定

felix021 @ 2009-2-25 20:46 [IT » 硬件] 评论(0) , 引用(0) , 阅读(6308) | Via 本站原创
看了一下日志,还挺有意思,不过最后有点小可怕:bad swap file。
于是赶紧还是把swap关掉,就用ram。
看来升级RAM才是王道阿,改天和feli一起去淘内存颗粒。
--
Jan  1 08:00:12 wl-520gu syslog.info syslogd started: BusyBox v1.12.3
Jan  1 08:00:12 wl-520gu authpriv.info dropbear[113]: Running in background
Jan  1 08:00:12 wl-520gu user.notice kernel: klogd started: BusyBox v1.12.3 (2009-02-10 00:46:12 EST)
Jan  1 08:00:12 wl-520gu user.warn kernel: CPU revision is: 00029029
Jan  1 08:00:12 wl-520gu user.warn kernel: Primary instruction cache 16kb, linesize 16 bytes (4 ways)
Jan  1 08:00:12 wl-520gu user.warn kernel: Primary data cache 16kb, linesize 16 bytes (2 ways)
Jan  1 08:00:12 wl-520gu user.warn kernel: Linux version 2.4.20 (root@tomato) (gcc version 3.2.3 with Broadcom modifications) #2 Tue Feb 10 00:53:58 EST 2009
Feb 25

How To Read C Declarations 不指定

felix021 @ 2009-2-25 16:02 [IT » 程序设计] 评论(1) , 引用(0) , 阅读(9442) | Via 本站原创
这篇看起来忒有意思,回头有空了我翻译一下。

How To Read C Declarations

zz from http://blog.chinaunix.net/u1/36290/showart_443799.html

Even experienced C programmers have difficulty reading declarations that go beyond simple arrays and pointers. For example, is the following an array of pointers or a pointer to an array?
int *a[10];

What the heck does the following mean?
int (*(*vtable)[])();

Naturally, it's a pointer to an array of pointers to functions returning integers. ;)

This short article tells you how to read any C declaration correctly using a very simple technique. I am 99% certain that I read this in a book in the late 1980s, but I can't remember where. I doubt that I discovered this on my own (even though I've always been delighted by computer language structure and esoterica). I do remember, however, building a simple program that would translate any declaration into English.
The golden rule

The rule goes like this:
引用
    "Start at the variable name (or innermost construct if no identifier is present. Look right without jumping over a right parenthesis; say what you see. Look left again without jumping over a parenthesis; say what you see. Jump out a level of parentheses if any. Look right; say what you see. Look left; say what you see. Continue in this manner until you say the variable type or return type."

The degenerate case is:
分页: 49/99 第一页 上页 44 45 46 47 48 49 50 51 52 53 下页 最后页 [ 显示模式: 摘要 | 列表 ]