NOI
Rainbow6174
这个作者很懒,什么都没留下…
展开
-
NOI 2015 软件包管理器 题解&代码
简单的树链剖分= =不过第一次写真正意义上的树剖坑了我整整五个小时…写出来的代码也不算模板级别的思路,模板还得再找几道题习惯习惯再整理 **对了= =才没有抄过模板呢…在下的模板都是自己根据写法和记忆的难易自己整理出来的**调了两天,题目已经忘了,等我去整理一下 给出了一颗以0为根节点的Bool类型树,对于一个节点x有两个操作: 1、将该节点到根节点的路径上所有节点值都修改为1 2、将以该节原创 2015-12-11 17:43:33 · 841 阅读 · 0 评论 -
NOI 2015 荷马史诗 题解&代码
对于一些不同的单词,每个单词会给出一个出现频率 对于每个单词,给它一个唯一的字符串型的编号【不是其它字符串型编号的前缀】 其实是个贪心【噗】,按照哈弗曼树的形式将出现频率与编码长度反序排列…就好了#include<iostream>#include<queue>#include<stdio.h>using namespace std;struct node{ long long原创 2015-12-11 18:33:40 · 1170 阅读 · 0 评论 -
NOI2005 BZOJ1500 维修队列 题解&代码
题意: 维护一个数列,要求支持六种操作: 1、INSERT posi tot c1 c2 c3 c4… 在队列的第posi位按序插入tot个数字,分别为c1 c2 c3 c4… 2、DELETE posi tot 从队列的第posi位起删除tot个数字,数据保证一定可以删除tot个 3、MAKE-SAME posi tot c 从队列的第posi位起将tot个数字的值改为c,数据保证一定可以原创 2015-12-28 13:30:15 · 1245 阅读 · 1 评论 -
BZOJ1503 NOI2004 郁闷的出纳员 题解&代码
题意太傻不多解释= =就是维护一个档案队列,按节点val建树思路: 从query操作(命令F)可以看出,这棵树的顺序核心在于value而不是一般的维护队列,这样的话相同value的节点显而易见地应该放在一起,我们除了s[]记录子树大小之外,额外增加一个z[]记录节点大小(对于x节点来说每有一个与其value重复的z[x]++),注意z[]不需要维护。 然后就是喜闻乐见的标记了,这道题算是比较良心原创 2015-12-29 18:11:13 · 1538 阅读 · 0 评论 -
BZOJ4199 NOI2015 品酒大会 题解&代码
并查集维护…着急回宿舍(浪)明天再写详细题解/************************************************************** Problem: 4199 User: Rainbow6174 Language: C++ Result: Accepted Time:5992 ms Memory:29628 kb原创 2016-03-09 22:07:24 · 1157 阅读 · 0 评论 -
BZOJ3668 NOI2014 起床困难综合症 题解&代码
本题看起来完全不可做…实际上是O(n)的。 冬令营虽然挂了233333但是前一天的练手题倒是秒出…至于题解这么晚…大概是因为我今天比较闲得蛋疼… 最开始虽说选择的范围是m,但是考虑到关于攻击力的所有运算都是位运算,那么大胆猜想按位枚举出m…猜对了 按位非0即1枚举出m的情况,存入ans[] 然后由高位向低位暴力选就行辣…注意即使数字稍小一点了也不要让选出的数大于m,用flag记录当前数是否等原创 2016-03-11 20:00:31 · 802 阅读 · 0 评论