NOI
文章平均质量分 57
Clove_unique
All that you have lost can be won back bit by bit as long as you wish for it.
展开
-
[NOI2002]银河英雄传说(并查集)
题目描述传送门解题思路before表示i前面还有几个元素,count[i]表示i所在的有几个元素并查集代码#include<iostream>#include<cstdio>#include<cstring>#include<cmath>using namespace std;int father[30005],before[3...原创 2020-03-10 11:24:28 · 375 阅读 · 0 评论 -
[BZOJ2435][Noi2011]道路修建(树形dp)
派桶。原创 2016-09-29 20:25:44 · 1045 阅读 · 0 评论 -
[BZOJ1407][NOI2002]Savage(扩欧)
对于热闹的镜头 你只需要平视或俯视 但对于孤独的云霞 你必须抬起头仰望原创 2016-04-02 15:43:57 · 930 阅读 · 0 评论 -
[BZOJ3668][Noi2014]起床困难综合症(贪心)
题目描述传送门题解我们需要还原初始的x,将x按二进制位分开来考虑 每一位不是0就是1,所以将0和1分别做一下下面那一坨操作(操作的数也是对应的这一位),最终得到两个数 如果0做了这一坨操作之后变成了1,那很显然这一位填0更优 否则,如果1做了这一坨操作之后还是1,那么先把这一位暂且记为1 再否则1和0都会变成0,那么毫无疑问填0 然后将每一位合起来得到了一个x 但是这个x是有可能大于m的原创 2017-02-07 19:01:08 · 579 阅读 · 0 评论 -
[BZOJ1497][NOI2006]最大获利(最小割)
题目描述传送门题解对于每一个中转站,s->i,pi,割掉表示花费pi建立中转站 对于每一个顾客,i->t,ci,割掉表示放弃ci的收益 如果一个顾客x需要某一个中转站y,那么y->x,inf,因为py和cx不能同时满足,必须选一条割掉 所有顾客的收益之和减去最小割即为答案代码#include<algorithm>#include<iostream>#include<cstring>#in原创 2017-01-30 11:09:00 · 692 阅读 · 0 评论 -
[BZOJ2005][NOI2010]能量采集(莫比乌斯反演)
罗马的伟大,在于每一个朝代都有格局完整的一流,每一项遗留都有意气昂扬的姿态,每一个姿态都经过艺术巨匠的设计,每一个设计都构成了前后左右的和谐,每一种和谐都使时间和空间安详对视,每一回对视都让其他城市自愧弗如,知趣避过。原创 2016-04-07 20:50:43 · 2530 阅读 · 0 评论 -
[BZOJ1408][Noi2002]Robot(数论+dp)
题目描述传送门题解独立数就是φ\varphi,然后老师就是约数 所以实际上就是求 所有由偶数个奇素数组成的数的φ\varphi的和 所有由奇数个奇素数组成的数的φ\varphi的和 所有约数的φ\varphi的和减去前面两个答案所有约数的φ\varphi的和用一个公式∑d|nφ(d)=n\sum\limits_{d|n}\varphi(d)=n,不算1就是n-1 因为所有的数都是互质的,所原创 2017-03-02 18:37:14 · 637 阅读 · 0 评论 -
[BZOJ1415][Noi2005]聪聪和可可(bfs+概率期望+记搜)
题目描述传送门题解这题题面有点毒 应该是求聪聪吃到可可的时间的期望bfs处理两点之间的最短路 然后预处理出来当聪聪和可可分别在哪里的时候聪聪会向哪里走令f(i,j)表示当某一秒开始时聪聪在i,可可在j一直到聪聪吃到可可的期望 容易知道当i=j时f(i,j)=0 当dis(i,j)<=2时f(i,j)=1 假设当聪聪在i,可可在j时聪聪会走到k,d(i)为i的度数,p=1/(d(i)+1)原创 2017-03-15 20:47:35 · 1113 阅读 · 0 评论 -
[BZOJ1492][NOI2007]货币兑换Cash(斜率优化dp+cdq分治)
题目描述传送门题解首先可以发现,每一天的决策一定是全部买入或者全部卖出,因为只要有利益一定最大限度地取,如果有亏损就一点不碰 然后需要说的是,每一天所有的钱数可以唯一地转化为一种A券和B券的方案,也就是说,不用管某一天手里是有钱还是有券,反正都是等价的 令f(i)表示第i天的最大收益,显然f(0)=s 假设第i天手里有xi张A券,yi张B券,那么相对应地,第i天手里的钱就是f(i)=xi*Ai原创 2017-03-25 21:26:08 · 603 阅读 · 0 评论 -
[BZOJ1493][NOI2007]项链工厂(splay)
题目描述传送门题解好久没写数据结构了 维护size、有几段sum、最左边和最右边的颜色lc和rc 需要注意的几个地方: 1、因为在开始和结尾插入了点,注意find的编号问题 2、所有标记都是对当前点已经做过但是对儿子并没有做过 3、交换的时候要同时交换lc和rc 4、提取区间之后要将根的右儿子和根都update 5、rotate和find的时候不要忘了update和pushdown原创 2017-03-17 11:14:34 · 597 阅读 · 0 评论 -
[BZOJ1565][NOI2009]植物大战僵尸(tarjan+最小割)
题目描述传送门题解首先有一些保护与被保护的关系是给出的,还有就是每一排前面的点可以保护后面的点 从保护的点向被保护的点连边 可以发现,如果一个强连通分量的大小大于1,那么这个强连通分量里的所有点都不可能被打到。并且如果有一个点不可能被打到,它能到达的点也都不可能被打到 把不可能被打到的点都剔除出去,最后只可能剩下一个DAG 那么这些点是可以选择的,但是选择某一个点的前提是,所有保护它的点都被原创 2017-03-04 19:07:52 · 817 阅读 · 0 评论 -
[NOI1999][openjudge]棋盘分割(数学相关+dp)
题目描述传送门题解NOI1999的dp都好厉害呀= = 一定要认真读题! 先看这个均方差的式子,可以进行化简: δ=∑ni=1(xi−x¯)2n−−−−−−−−−√\delta=\sqrt {\sum_{i=1}^n (x_i-\overline x)^2\over n} δ2=1n∑ni=1(xi−x¯)2\delta^2={1\over n}\sum_{i=1}^n (x_i-\over原创 2016-10-26 17:40:39 · 1162 阅读 · 0 评论 -
[BZOJ4199][Noi2015]品酒大会(后缀数组+并查集)
题目描述传送门题解别出心裁的一道sa,想了好久。。40ptsO(n2)O(n^2)的做法应该很好想吧 sa+st表就可以了qwq100pts首先求出height数组 考虑如果只求一个r的话怎么做 显然可以将height数组分组,每个组里都是height>=r的,然后对于每一个组计数+取max 那么如果有多个r呢?显然r大的要比r小的分的组少一些 换句话说就是如果已经将r分组,再将r-1分组原创 2017-02-16 11:27:34 · 631 阅读 · 0 评论 -
[BZOJ1500][NOI2005]维修数列(splay)
题目描述传送门题解splay模板题(笑 这题是我今年1月左右看到的。记得当时只调过了样例然后交上去过了一个点就用了我一天的时间。果然我还是太傻逼。 填上了好大一个坑。 前5个都是splay的基础操作,就是第6个比较麻烦。因为要维护区间最大连续子序列和,可以维护3个值:Max子树最大连续子序列和,maxl子树自左端起最大连续子序列和,maxr子树自右端起最大连续子序列和。注意这里的Max是不允许原创 2016-12-04 21:26:06 · 917 阅读 · 4 评论 -
[NOI2001][POJ1185]炮兵阵地(状压dp)
题目描述传送门题解m很小并且山地和平原、放置与不放置可以用01表示,所以一看就是状压dp。 但是炮可以打到上下两个格子这一点很烦人,这样的话不能用前一行向当前行转移,因为有可能在前一行的前一行存在一个炮和当前行的冲突。 那么我们在状态表示里至少要存两行的状态。但是210∗22^{10}*2不是有点太大了么?有趣的是,每一行的炮与炮之间至少要留两个空格,所以每一行实际的方案数要比2102^{10}原创 2016-10-31 23:34:17 · 1192 阅读 · 0 评论 -
[BZOJ1061][NOI2008]志愿者招募(费用流神题单纯形裸题)
ORZ hxy神犇原创 2016-03-15 18:37:43 · 2027 阅读 · 0 评论 -
[BZOJ4196][NOI2005]软件包管理器(链剖+dfs序)
寂寞只是一场华丽的虚张声势。原创 2016-03-22 17:23:35 · 652 阅读 · 0 评论 -
[BZOJ2434][NOI2011]阿狸的打字机(AC自动机+树状数组)
有希望在的地方,痛苦也成欢乐。原创 2016-04-04 23:11:54 · 1855 阅读 · 1 评论 -
[BZOJ1503][NOI2004]郁闷的出纳员(平衡树splay)
海水是咸的,因为它包含了人世所有的泪水;泪水是咸的,因为它承载了太多的欢乐和苦悲。原创 2016-03-23 16:07:37 · 806 阅读 · 0 评论 -
[BZOJ2436][Noi2011]Noi嘉年华(dp)
永远不要放弃你真正想要的东西,等待虽难,但后悔更甚。原创 2016-08-17 18:16:18 · 930 阅读 · 0 评论 -
[BZOJ3242][Noi2013]快餐店(树形dp+线段树)
我要有能做我自己的自由,和敢做我自己的胆量。原创 2016-08-20 16:48:47 · 1128 阅读 · 0 评论 -
[BZOJ1507][NOI2003]Editor(块状链表)
人们很少会嘲笑你的梦想,而是嘲笑你的实力。原创 2016-08-24 17:38:57 · 640 阅读 · 0 评论 -
[BZOJ1509][NOI2003]逃学的小孩(树形dp||dfs)
我们笑着说再见,却深知再见遥遥无期。原创 2016-09-27 20:40:18 · 835 阅读 · 0 评论 -
[COGS272][NOI1998] 免费馅饼(dp)
题目描述传送门题解首先预处理出val[t][loc]表示时刻t赶到loc的位置能收获的价值。 设f(i,j)表示第i时刻走到j位置是的最大收获。那么f(i,j)=max{f(i-1,j-2),f(i-1,j-1),f(i-1,j),f(i-1,j+1),f(i-1,j+2)}. 但是输出方案比较麻烦,可以记一个pre然后每一次递归统计。需要注意的是每一次更新f值的时候都要比较字典序再判断是否更新原创 2016-10-26 22:51:40 · 835 阅读 · 0 评论 -
[BZOJ2006][NOI2010]超级钢琴(st表+heap)
题目描述传送门题解首先考虑如果k=1的时候如何来做。当k=1时,也就是只选出来一个最大值就可以了,我们可以枚举区间的起点,每一个起点对应的一个区间长度合法的区间,从这段区间里找出来一个前缀和最大的然后减去起点的就可以了。 但是如果k>1的话,我们不能只找一个最大的。那么可以考虑维护一个大根堆,每次弹出堆中最大的元素来,弹k次。还是像k=1时那样,每次找出来一个最大值,然后压到堆里。每次从堆中弹出一原创 2016-11-08 08:27:07 · 646 阅读 · 0 评论 -
【NOI2000/codevs1074/tyvj1438】食物链 解题报告
【NOI2000/codevs1074/tyvj1438】食物链 解题报告描述 动物王国中有三类动物 A,B,C,这三类动物的食物链构成了有趣的环形。A吃B,B吃C,C吃A。 现有N个动物,以1-N编号。每个动物都是A,B,C中的一种,但是我们并不知道它到底是哪一种。 有人用两种说法对这N个动物所构成的食物链关系进行描述: 第一种说法是原创 2015-09-28 20:09:37 · 1130 阅读 · 0 评论