随笔分类 - 瞎搞
摘要:传送门 骚题一道,给每个"数"一个实数值 A 来表示它们的相对大小关系 $A\in (0,1)$ 考虑如何维护它们之间的相对大小关系 有插入操作 考虑一颗二叉查找树,每个节点维护它子树的最小值$A_{min}$,最大值$A_{max}$,它本身的实数$\frac{A_{min}+A_{max}}{2
阅读全文
摘要:传送门 回忆一下经典的汉诺塔的递推公式: $f[i]=2f[i-1]+1$,然后回忆一下过程 发现经典汉诺塔的操作也是可以有优先级的 所以考虑可能其他优先级也同样可以递推 具体证明可以参照经典汉诺塔 那么设 $f[i]=kf[i-1]+b$,考虑如何求 k,b 暴力模拟n=1,2,3的情况,求出 f
阅读全文
摘要:传送门 看一下题意,树上DP? 然后考虑状态,设 f [ x ] [ k ] 表示在 x 的子树上花费 k 元时获得的最大价值 但是可能当前买的用于更高一层的合成,如果这样不能确定当前买的东西是否够更高一层的合成 所以多一维,设 f [ x ] [ j ] [ k ] ,x,k 意义同上,j 表示装
阅读全文
摘要:传送门 prufer序列 因为每个prufer序列唯一对应一颗树,所以如果能求出prufer序列的方案数就能求出树的方案数 一颗 n 个节点的树的prufer序列有 n-2 个数字,每个数字在 [1,n] 的范围内,表示节点编号 对于一个度数为 $d_i$ 的点,它会在prufer序列中出现 $d_
阅读全文
摘要:传送门 考场上把暴力都打满了,结果文件输入输出写错了.... 当时时间很充裕,如果认真想想正解是可以想出来的.. 问你 长度最小的赛道长度的最大值 显然二分答案 考虑如何判断是否可行 显然对于一个节点,它最多只能向父亲传一条路径长度 那么其它路径的合并只能在子树间进行 贪心一波,如果一段路径在子树就
阅读全文
摘要:传送门 看到最值的问题容易想到二分答案 二分答案已经有一个 log 了 考虑如何O(n) 求出每个区间和 显然前缀和,O(n) 扫一遍然后对每个区间O(1)统计答案 注意long long,然后就过了
阅读全文
摘要:传送门 观察题目数据,发现 k ≤ 8 ,可能可以从这里入手解决问题 考虑状态压缩 但是我们每次操作都会让一连串的序列改变,而序列的每个状态都是必须要知道的 很麻烦,所以考虑如何把一段区间表示地简单一些 差分,把原序列转化成差分序列,原序列亮为0,暗为1,差分时用上一个数异或下一个数 那么原数列中一
阅读全文
摘要:传送门 直接爆力BFS有80分... 讲一下BFS吧 可以发现在一个局面下我们要知道的只有空格的位置和指定棋子的位置 因为其他的不是不可移动就是普通棋子 然后以空格的位置BFS,一个棋子走到空格其实就相当于空格走到棋子并把棋子挤到原本空格的位置 我们就BFS让空格瞎跑看看跑几步可以把指定棋子带到指定
阅读全文
摘要:传送门 最显然的方法就是线段树 稍微卡一下常就过了 还有另一种方法,差分 但是有一个问题,我们怎么知道是谁使订单无法满足呢 一种直接的想法就是二分 但是复杂度为 O(nlogm) 跟线段树O(mlogn)一样,但是常数小可过此题 重点是讲 O(n+m) 的方法 同样差分,从左到右一个个扫过去 如果出
阅读全文
摘要:传送门 考虑一个节点一个节点加入树中,每次计算一下对答案的贡献 只有两个点时树的形态是唯一确定的 三个点时第三个点应该是从边上分叉出来的 那么增加的长度显然为 (dis_bc+dis_ac-dis_ab)/2 第四个点也应该是分叉出来的 但是是从哪分叉的我们还要讨论一下 可以发现,唯一合法的情况当且
阅读全文
摘要:传送门 用倍增的思想 设 A[ i ] 表示A在 i 位置走一步到达的城市以及经过的路程(这里我用结构体存A[ i ]),B同理 设 f [ i ] [ j ] 表示从 i 位置出发,走 $2^j$ 轮后到达的城市(一轮即AB各走一次) dis[ i ] [ j ] 表示从 i 位置出发,走 $2^
阅读全文
摘要:传送门 曼哈顿距离好像不好直接算,我们可以把牛的坐标转化一下以方便计算距离 (x,y) --> (x+y,x-y) 那么距离就可以表示成 $max(\left |x_1-x_2 \right |,\left | y_1-y_2 \right |)$ 自己在草稿纸上算一下就知道了,(因为之后我们会按转
阅读全文
摘要:传送门 我见过的第二恶心的题,第一是糖果传递... 以下是一堆具体的证明,自己想的,可能考虑不周,不想看也可以直接看结论 首先有一个很显然的贪心,烧开的水要尽量把热量传递出去 所以有一个比较显然的方法:每杯水烧开后都与下一杯水热传递,平衡后再把剩下的温度与更后面一杯水热传递,这样一直下去... 十分
阅读全文
摘要:传送门 考虑一个状态(a,b,c)的转移 b可以往左右跳 或者a和c中离b比较近的往中间跳 如果把当前状态看成一个节点 那么可以吧b往左右跳的情况看成当前节点的左右儿子状态 而且左右儿子状态要到父节点的状态就只能往中间跳,只有唯一的方法 那么所有可以互相转移的状态一起构成了一颗二叉树 树根就是不能往
阅读全文
摘要:传送门 感觉题意有坑 害我看了半天 题目原文: 一块墓地的虔诚度是指以这块墓地为中心的十字架的数目。一个十字架可以看成中间是墓地,墓地的正上、正下、正左、正右都有恰好k棵常青树。 本来以为要刚好 k 颗,不能多了 结果看着样例一脸懵逼 才发现多的可以不管 比如有一行有 a 颗树,那么从这 a 颗中随
阅读全文
摘要:传送门 枚举右端点 可以发现左右端点中有一个合法的咖啡店就可以了 而且为了让合法的左端点尽量多 咖啡店要尽量靠右 所以可以记录目前最右边的合法咖啡店左边每种颜色的客栈的个数 cnt[ color ] 然后如果更右边有合法的咖啡店,就更新一波 cnt 累计所有右端点的情况 复杂度 O(nk) #inc
阅读全文
摘要:传送门 显然是网络流最小割 朴素的dinic会被卡 但是如果加上玄学优化就可以过了 主要是讲另一个方法 可以发现每条路径是不会交错的 对于样例的图,我们如果从右上随便走出发一条线到左下 把线经过的边全部割掉,就是一种可行的方案 所以可以把每个平面看成点,点之间的边就是平面之间的公共边 只要我们从右上
阅读全文
摘要:传送门 首先只有一列下去 那肯定DP啦 然后想DP的时候发现 如果知道了第 1 个的状态 那么第 2 个的状态就可以从右边一列的第 1 个数推出来 然后知道了前面 2 个状态,第 3 个状态就可以从右边第 2 个数推出来 然后一直推下去 然后就全部出来了 根本就只有两种可能好吧!(第一个为雷 or
阅读全文
摘要:传送门 考虑前面7个魔法 如果前面七个魔法各不相同,那么就能完成一次帕琪七重奏 设 A=a1*a2*...*a7,S=a1+a2+...+a7,B=S*(S-1)*...*(S-6) 对于不同的施法顺序,前面七个魔法各不相同的概率总是:A/B 不同的顺序如: a1,a3,a2,a4,a5,a6,a7
阅读全文
摘要:传送门 算法 : 瞎搞...... 这种题是真的恶心.... 以下为一堆的结论和证明... (自己口胡的,比较细,实在不想看也可以直接看结论) 首先如果要让每个人最终的糖果一样多 1.那么肯定最终每个人的糖果数量为 每个人糖果数量的平均数..(显然...) 还有一个显然的结论: 2.如果 a 把糖分
阅读全文