10.19刷题记录

来源:互联网 发布:分布式数据库架构 编辑:程序博客网 时间:2024/05/29 03:17

受欢迎的牛 HAOI2006

Tarjan找强连通分量 (把每个强连通分量缩成一个点之后求出度为0的分量中点的个数 注意出度为0的分量应该只有一个 否则两个之间互相不喜欢 就不是大家都喜欢的牛了)

推销员 NOIp普及组 2015 T4

方法比较奇怪(?)大概就是先找到疲劳值最高的那个一个点 之后再用两个堆分别维护左右的点 每次加入左边和右边中的最大值。(其中的一个堆 也就是左边的点 因为不需要考虑距离带来的疲劳值就可以直接使用优先队列了)
这种思想很妙的 把问题变成找左右中最小的那个。

魔法阵 NOIp 普及组 2016 T4

这个是用类似于桶排序的方法保存数轴上每个点出现的次数(对 就是把所有数想象成在一个数轴上)然后可以用他给的式子导出Xa Xb Xc Xd的关系式 从1到n/9枚举 c和d的距离len即可 (内部要分别枚举Xd的各种值和Xa的各种值来分别求出A[a]B[b]C[c]D[d])等等。老师说要用前缀和 但我没看出来什么地方是前缀和了。

表达式求值

一道大水题 没啥可说的 好像是NOIp2013普及组的一道题吧。