博文

Zoj 2704 Breckets(2008-02-26 19:32:00)

摘要: 2761956 2008-02-26 19:16:05 Accepted 2704 C++ 00:00.14 924K C.D.=.= 犯了一个极其低级的错误,把l = strlen(str);  for ( i = 0; i < l; i ++ )写成了for ( i = 0; i < strlen ( str ); i ++ ),结果超时无数次。当for循环足够大时,不起眼的地方积累起来,错误也会变得很显著。起初想到可能是使用STL导致的超时,于是把栈简单模拟,结果仍然。看来对这种地方还是不够敏感啊。   1#include <cstdio>
  2#include <string>
  3
  4char str[100001];
  5int s[100001], top;
  6
  7void pt ();
  8void print ( int, int );
  9
 10int main ()
 11{
 12    // '(' -1 ')' -2 '[' -3 ']' -4
 13    //freopen ( "in.txt", "r", stdin );
 14    while ( scanf ( "%s", str ) != EOF )
 15  &nb......

阅读全文(2947) | 评论:0

zoj 2301 Color the Ball(2007-03-13 15:34:00)

摘要:在线段染色之类的题目中,这是一种很常见的做法。这里还可以用到线段树,可惜我还不会:-( 事实上,这也算最简单的离散化题目了。关键在于判断何时两条线段可以合并,何时拆散,合并后对多于线段的处理也很重要。值得高兴的是我qsort可以写的很熟练...... #include <cstdio>
#include <cstring>
#include <cstdlib> typedef struct
{
    int b, e;
    char c;
} sect; sect s[2001], r[20001]; int N, r_size, mx, ans_b, ans_e; int cmp ( const void *a, const void *b )
{
    sect *A, *B;
    A = ( sect * ) a, B = ( sect * ) b ;
    return A->b > B->b ? 1 : -1;
} int gt ( int a, int b )
{
    return a > b ? a : b;
} void init ()
{
    int i;
    r_size = 0, mx = 0;
    for ( i = 0; i < N; i ++ )
    {
        scanf ( "%d %d %c ", &s[i].b, &s[i].e, &s[i].c );
        //printf ( "%d %d %c\n", s[i].......

阅读全文(5314) | 评论:3

Zju 1962 How Many Fibs?(2006-11-24 22:30:00)

摘要:    恩,把以前没做的弱题做了一遍,发现自己对繁琐细节的处理实在差劲。比如这道题不难,就是大数的加法、大数的比较。翻来覆去写了160多行,从饭前的无聊到看完书的愤懑,横跨5个多小时,假如是张白纸,早就被笔迹划成渣了。     惊奇的是,不知不觉,终于做到300题了。     请原谅我把“惊奇”“不知不觉”和“终于”这三个互相矛盾的词放在一起。(迷之音:重点,重点是「不炫耀会死」呀......)>_<     的确做了很久zoj,与此同时,考研就如悬在头顶的达摩克利斯之剑。做题只是爱好,从悲观的角度看,更像是一种逃避——好像一进入编程世界,考研就离自己好遥远了——当然,我还不曾如此悲观,我对于社会主义精神文明的热爱不逊于此。     就比作Relax吧。青罗曼纱,轻烟袅袅,眼明心净,在算法的海洋里享受无穷乐趣,打住,这不是小说。现实是,我的前方是修过三次的17寸平显,我的正下方有一个铁盒,发出持续不断的奇怪噪音,让你想起哥斯拉、大魔王、宿舍楼下的汽车修理厂。我就坐在那里,时而把脸挤成三阶矩阵,时而把手绞作二维曲线,以向入土了两百多年的数学家们致敬;至于大脑内部发生了正弦变换或者傅立叶变换,这和我无关,我也不想知道。重要的是,我做不出来,只好去看帖。     当然这是......恩,多数。少数情况下,我运指如飞,一行行闪烁着人文主义关怀的代码呈现不停。这样的题目有:1001,1001,1001,1001,1001,1001,1001,1001,1001,1001,1001,1001     ......其实一直在进步,不是么?希望考研结束的那一天,我也能这样对自己说。     大数加法模版之一:用int来代替数字位真是失败!!!!(呜,我也变成最讨厌的感叹号×4人了) #include <cstdio>
#include <string> const int max_int = 102; typedef struct long_int
{
......

阅读全文(4849) | 评论:4