KidTech

Step by Step

lixiang LiuID:littlekid
8270次访问,排名12441(-1)好友0人,关注者6
~~
littlekid的文章
原创 57 篇
翻译 0 篇
转载 4 篇
评论 20 篇
littlekid的公告
最近评论
felix021:同情下。。
felix021:GXGX +U+U
Felix021:额。。你们队已经很不错了。。我们队更锉 - -|| 我只能写水题,而且经常卡在细节上。。小斌斌和杰瑜倒是不错,可惜没有找到更好的队友。。
littlekid:最好找zwz要吧,我这里不是最终版本……
simbaforrest:kid,把你们的论文发一份给我参考一下吧~~~~
文章分类
收藏
    相册
    HOHO
    。NET
    Dflying Chen @ cnblogs
    Algorithms
    C/C++
    C++ Blog
    STLchina
    Design Patterns
    J道---设计模式
    天极java设计模式专区
    IT技术网站(综合型)
    Apache Software Foundation
    Bruce Eckel's MindView, Inc.
    CSDN
    Developer
    Humor
    IBMdeveloperworks
    MSDN
    微软学生中心
    武汉软件技术交流(与同学一起维护的技术论坛)
    JAVA
    cnSDN
    Eclipse.Org
    java.net
    JavaEye
    New to JAVA Center
    SDN
    零度空间
    零度空间(java网摘)
    MyBlog
    R2
    滴水成海(我的技术网摘)
    玩ACM/ICPC的一些大牛、朋友
    aMR
    Felicia
    Felix
    Msaru
    Richardxx
    Simbaforrest
    职业工作
    职业生涯顾问Leo
    存档
    软件项目交易
    订阅我的博客
    XML聚合  FeedSky
    订阅到鲜果
    订阅到Google
    订阅到抓虾
    订阅到BlogLines
    订阅到Yahoo
    订阅到GouGou
    订阅到飞鸽
    订阅到Rojo
    订阅到newsgator
    订阅到netvibes

    原创 六月份解题日志收藏

    新一篇: 七月解题日志1 | 旧一篇: 五月份解题日志

    考试月……做题比较少……


    June_2
    http://acm.pku.edu.cn/JudgeOnline/problem?id=3026

    Borg Maze最小生成树。这个题目本来是简单题,结果由于疏忽,写了两个多小时…… 犯了一个弱智错误:数组开小了,不过由于G++不报错,得到诡异的错误……

    让我想起寒假时候HDU给我不报RE报TLE的事情了。









    June_5
    POJ1011/WOJ1212 Sticks

    经典搜索题。
    这个题目做了很久——去年暑假个人赛模拟赛第一次接触,当时没做出来,不过后来模

    仿别人程序把POJ1011过了,不过WOJ1212却是TLE。

    最近几天看了下《算法艺术与程序设计竞赛》上的减枝方法,总算弄清楚了,今天早上写了一下……

    大体框架为DFS,最重要的是减枝。
    下面是我的一些减枝:
    1、要得到的Sticks长度必定为总长度的约数——这个好想;
    2、对blocks按长度由小到大排序(原来也排了,当时不知道为什么要排——为了减枝);
    3、搜索顺序为:
    用blocks去组成sticks,
    减枝一:按照组成sticks的最长block排序(由大到小),这个可以证明的,而且剩下的blocks中最长block一定要选择;
    减枝二:组成每根sticks时按从大到小枚举,如果可行则当前方案一定是最后方案(理解这个我用了比较久,其实就是如果有另外的另两根短的blocks可替换的方案存在,那么长blocks放在后面也是对的,如果固定在前面,可减少不少);
    减枝三:对于长度相同的blocks,如果当前用其中一根组成当前sticks不能得到结果,那么当前的选择要跳过所有的这些blocks(这个从搜索树上理解就好了——画出一棵搜索树,会发现这些blocks为根的子树完全相同);

    这样就可以过了,WOJ1212 15+s, POJ1011 0MS.

    trick:由于woj1212只卡时间,我用了一个错误的减枝(很弱智,也就不说了)得到了5MS的程序(当然在POJ1011上WA了)。建议做这题要把两个地方的题目都AC了。

    要好好地理解这个题目的方法——我学到的最重要的是从状态搜索树的特点上剪枝。







    June_5
    HUST1019 A dangerous trip

    http://acm.hust.edu.cn/thx/problem.php?id=1019

    这个基本代表了一类题目了——与校赛的Path(WOJ1352)的最短奇偶路径相似。

    方法很简单:
    对每个点保存两个值,做两遍最短路:
    第一次普通最长路,
    第二遍做最短路时,对所有边枚举其缩到一半的情况,具体就是:
    Dist[p->v][1] = min(Dist[i][0]+p->len/2.0, Dist[i][1]+p->len)

    别的没什么好说的,这个题目是简单题。








    June_9

    Cashier Employment http://acm.pku.edu.cn/JudgeOnline/problem?id=1275 差分约束问题。 这种题目难的地方就是建图,这个题目特殊的地方是得到最后的不等式中第23小时不好处理,那么就枚举啦(数据范围不大,二分也是可以的)。 不过有个地方还没懂——我建图后枚举用bellman—ford后如果满足约束就返回true错了,改为冯威的论文上的!=4的约束条件就AC了——有什么trick? 总结一下差分约束问题:先对题目建立模型,然后抽出不等式,再整理成差分约束标准形,最后bellman-ford检查约束条件。 差分约束简单类题目就这么搞了,难的变化大,目前搞不定,需要多见识积累经验……










    June_29
    Reset Sequence POJ Monthly June 2008http://acm.pku.edu.cn/JudgeOnline/problem?id=3609 题目意思是有n种状态和m种命令(2<=n<=8, 1<=m<=16),然后给出一个n*m的矩阵,表示在状态i下面接受到命令j则改变到状态a[i][j]。目标是求一最短序列满足:在任何初始状态下,通过执行这一命令序列后都到达状态0。 今天状态不好(毕竟近20天没写题了),看到这个题目后没有想法,oldmaner也认为只能穷举,然后我写了上去居然WA了(没有TLE),就在考虑是否漏了情况,未果。 后来改模型,居然推出一个状态DP的模型,还好很快由此想到了图论——这个题目是个简单题。 解法:由于n很小,所以可以对在执行了一系列命令后的状态用一个顶点表示(就是一个2进制数标号,对应位为1表示当前的状态——开始时处于1111状态,最后处于0111状态)。 后面就很简单的建图:如果从某一状态u可以通过命令j转换到状态v,则在u和v间连一条边(“权”为1,标志为j)。 最后就是跑一个最短路。


    发表于 @ 2008年07月19日 10:29:00|评论(loading...)|编辑|收藏

    新一篇: 七月解题日志1 | 旧一篇: 五月份解题日志

    评论:没有评论。

    发表评论  


    登录
    Csdn Blog version 3.1a
    Copyright © littlekid