// 此博文为迁移而来,写于2015年4月21日,不代表本人现在的观点与看法。原始地址:http://blog.sina.com.cn/s/blog_6022c4720102vy9t.html

这次省队选拔其实是抱着玩玩的心态去参加的,尽管分数在我的意料之中,但是感觉还是有莫大的遗憾。总分75分,第一天35分,第二天40分,可以说是比较标准的暴力分(第一天其实还有10分没有去争取)

Day1:第一次参加比赛是用NOI-Linux。去年的时候,我就在魏龙的帮助下在电脑上装了Ubuntu,当时感觉不太习惯。在其他人的一些帮助以及自己的摸索下,还是用的比较习惯了。但是在第一天考试的时候,还是碰到了一些非能力的问题,也不知道是紧张还是手速太慢,我的配置文件没有打好老师就说要收了,这更是让我感到不舒服。考试的时候因为Emacs的一些版本问题,导致一些快捷键如同Ctrl+Z或是Ctrl+W出现了一些奇奇怪怪的变化——我的程序莫名其妙的少了一截,我却不知道怎么撤退。总的而言,第一天亏就亏在了状态这个问题,整个上午都在打着第二题,直到把50分的情况都打完之后才发现第三题还没动笔。我在之前看题的时候对于第三题,就有过一种想法,用拓扑排序+堆优化,但是我个人认为这只是一种比较好的暴力方法罢了,所以我还是规规矩矩的一题一题写的。当时我根本没有想到,这就是第三题的正解,而且周子栋打出来了,AC了。第一天下来,问题有很多:对于一些奇怪问题的到来,没有什么应急措施,而由此导致了时间的分配问题(我想如果我先打第三题或是有时间打第三题就不会是这种情况了吧)

Day2:第二天在状态方面还是很明显好了许多,前一天的晚上就把配置啊,撤退啊什么的都准备好了,但是由于本身的知识能力,第二天也就打了第一题,第二题的共40分,还好没有出现暴力打错的问题。第二题的话,我还是在考场上临时想出来的一个优化。由于我之前从来没有单独去写过LCA(想想也是惭愧),所以LCA是我考试时突然写出来的……一般的标准20分是求出所有点之间的距离,最后询问的时候直接求和即可。我想可以实现找出一个非叶子节点作为根节点,求出所有点到根节点的距离,最后跑LCA求出两点之间的距离,这样空间复杂度小了许多,但是由于第三个以后的测试点都非常大,所以这也只有20分,但对于我突发奇想想出一个平常没写过的东西还是比较值得庆幸的。

总而言之,现在呢还是高一,今年进省队是从没想过的,这次考试本来最大的作用就是提前有个准备,同时尽自己所能得到更多的分,75分中规中矩,但是对于Day1的第三题完全能够到手却流失于指缝,让人十分惋惜。现在要做的,就是继续努力学到更多知识,在NOIP拿一等奖的基础上,冲刺明年的省队。

随便写的算法:
 
1、亚瑟王(arthur)
 
       算法一:DFS(10分)
 
2、接水果(fruit)
 
       算法一:跑DFS/BFS求出主链,在链上求出存在的所有存在的子链,求和(20分)
       算法二:在算法一的基础上:考虑到30%数据是一条链,可以写树套树(30分)
       算法三:动态树+树分治(100分)
 
3、菜肴制作(dishes)
 
       算法一:输出impossible(15分)
       算法二:拓扑排序(40分)【有待考证】
       算法三:逆向拓扑排序(70分)
       算法四:逆向拓扑排序+堆(100分)
 
4、 落忆枫音(maple)
 
       算法一:枚举所有边,跑DFS判断是否全部到达(20分)
 
5、幻想乡开店(shop)
 
       算法一:事先求出所有点之间的距离,询问时直接求和(20分)
       算法二:任取一个非叶子的节点作为根节点,求出所有点到根节点的距离,询问时求出LCA
                    (空间复杂度明显小些,但是依旧20分)
       算法三:在算法一或算法二的基础上:考虑到有20%的数据是A=20,可以考虑树形DP(40分)
 
6、比较实验(pairwise)
 
       算法一:树形DP(100分)【有待考证】
 
       红色标记是我弱在这次考试时写的。。。好像全都是暴力(shop除外吧,感觉还是动了脑筋的呢 = =。)更多总结等发了题解再说。

HNOI2015总结的更多相关文章

  1. 【BZOJ4008】[HNOI2015]亚瑟王 期望

    [BZOJ4008][HNOI2015]亚瑟王 Description 小 K 不慎被 LL 邪教洗脑了,洗脑程度深到他甚至想要从亚瑟王邪教中脱坑. 他决定,在脱坑之前,最后再来打一盘亚瑟王.既然是最 ...

  2. BZOJ4009: [HNOI2015]接水果

    4009: [HNOI2015]接水果 Description 风见幽香非常喜欢玩一个叫做 osu!的游戏,其中她最喜欢玩的模式就是接水果. 由于她已经DT FC 了The big black,  她 ...

  3. 【BZOJ】【4011】【HNOI2015】落忆枫音

    拓扑排序+DP 题解:http://blog.csdn.net/PoPoQQQ/article/details/45194103 http://www.cnblogs.com/mmlz/p/44487 ...

  4. 【BZOJ】【4010】【HNOI2015】菜肴制作

    拓扑排序 这题是要求N个点的一个拓扑序,且满足以下条件:编号1的位置尽可能靠前,在此基础上编号2的位置尽可能靠前…… 我看到这题的第一感觉:将拓扑排序用的队列改为优先队列,编号越小越早出来. 但是连样 ...

  5. bzoj 4010: [HNOI2015]菜肴制作 拓扑排序

    题目链接: 题目 4010: [HNOI2015]菜肴制作 Time Limit: 5 Sec Memory Limit: 512 MB 问题描述 知名美食家小 A被邀请至ATM 大酒店,为其品评菜肴 ...

  6. HNOI2015滚粗记

    HNOI2015滚粗记 经过两天的苦战,艰难的HNOI终于结束了.感觉这次HNOI自己还是收获了许多. \(Day1\)打的很是艰难,题目一下就有种晕头转向的感觉.开场\(20min\)自己还在读题时 ...

  7. BZOJ 4008: [HNOI2015]亚瑟王( dp )

    dp(i, j)表示考虑了前i张牌, 然后还有j轮的概率. 考虑第i+1张牌: 发动的概率 : p = dp(i, j) * (1 - (1-p[i+1])^j) 没发动的概率 : dp(i, j) ...

  8. BZOJ 4011: [HNOI2015]落忆枫音( dp )

    DAG上有个环, 先按DAG计数(所有节点入度的乘积), 然后再减去按拓扑序dp求出的不合法方案数(形成环的方案数). ---------------------------------------- ...

  9. BZOJ 4010: [HNOI2015]菜肴制作( 贪心 )

    把图反向,然后按拓扑序贪心地从大到小选, 最后输出.set比priority_queue慢... --------------------------------------------------- ...

  10. HNOI2015 Day 2题解

    昨天做了HNOI day 2,感觉好像还是可做的,想当年什么splay还是高级算法,现在点剖什么就老考了简直丧病,虽然第二题还没写那就先当下嘴巴选手吧= = T1:[HNOI2015]落忆枫音 描述: ...

随机推荐

  1. Eclipse集成Git做团队开发:代码管理

    在日常开发工作中,我们通常使用版本控制软件管理团队的源代码,常用的SVN.Git.与SVN相比,Git有分支的概念,可以从主分支创建开发分支,在开发分支测试没有问题之后,再合并到主分支上去,从而避免了 ...

  2. Java自学-异常处理 Exception

    Java 异常 Exception 异常定义: 导致程序的正常流程被中断的事件,叫做异常 步骤 1 : 文件不存在异常 比如要打开d盘的LOL.exe文件,这个文件是有可能不存在的 Java中通过 n ...

  3. python基础05day--函数

    一 函数知识体系 什么是函数?为什么要用函数?函数的分类:内置函数与自定义函数如何自定义函数 语法 定义有参数函数,及有参函数的应用场景 定义无参数函数,及无参函数的应用场景 定义空函数,及空函数的应 ...

  4. 聊一下domain和entity

    这段时间在负责海外事务,今天带着客户端走海外商店的支付流程.因为在国内接的大多数是渠道聚合的SDK,客户端就很少关注支付业务流程,只是按照以前的接的demo然后按照渠道提供的参数就直接上了.先po一张 ...

  5. uni-app学习

    1. 学习uni-app 1.1. 概述 号称一次编写多端运行的前端框架,架构图如下 对某些不同平台的特殊功能,可以通过条件进行自动编译,也就是写两套代码,不同的环境会选择不同代码编译 1.2. 推荐 ...

  6. Java学习之:Spring的扩展配置

    1.在配置文件applicationContext.xml中,引入相关的配置文件方式: 2.使用Jndi数据源的方式改造配置文件applicationContext.xml: 3.注释配置文件appl ...

  7. android studio打印

    写入打印语句 System.out.println("hello furong"); 添加打印过滤 指定过滤规则 Filter Name:随便写 Log Tag:日志标志 Log ...

  8. Linux 常用命令(根据自己的理解随时更新)

    1. linux 目录解释系统启动必须: /boot:存放的启动 Linux 时使用的内核文件,包括连接文件以及镜像文件. /etc:存放所有的系统需要的配置文件和子目录列表,更改目录下的文件可能会导 ...

  9. Kubernetes学习之路(28)之镜像仓库Harbor部署

    Harbor的部署 官方文档 Harbor有两种安装的方式: 在线安装:直接从Docker Hub下载Harbor的镜像,并启动. 离线安装:在官网上下载离线安装包其地址为:https://githu ...

  10. scrapy框架之代理的使用

    首先我们检测ip是否可用: 1.对于免费代理的检测 #免费代理或不用密码的代理 url = 'http://httpbin.org/get' proxy = '127.0.0.0:8000' prox ...