传送门 跟这道题差不多. 只不过是让权值小的儿子做权值大的儿子的父亲而已. 代码…
传送门 一道挺妙的题. 对于询问点(u,v),如右图所示,我们可以发现存在一个点m在u->v的路径中,m子树的点到u是最近的,m子树外到v是最近的.其中dis(u,m)=(dis(u,v)-1)/2,且deep[u]>deep[v] 根据这个结论,问题转换为m子树中找出距离u最大的点,在m子树外找出距离v的最大的点. 子树的信息维护最大值自然可以想到dfs序+线段树. 维护的算法步骤: 求出每个点到根节点的距离dis[i] 对所有的询问离线成2个数组ans1,ans2,ans1记录询问点对中深…
传送门 这题貌似不考智商啊. 直接按题意写就可以了. 事实上把牌从小到大排序之后写起来很舒服的. 然后就是有些地方可以人脑减代码量和判断次数. (提示:满堂红和某几种同类型的牌的大小判断) 然后注意AAA是最大的啊233. 以及它又能当141414又能当111的坑 然后貌似时间又踩标算了? 代码…
传送门 测试搜索的时候状态定义错了233. 我们把木棒从大到小排序. 然后保证每一组搜到的木棒出现的长度是从大到小递减的. 直接定义现在搜的木棒从什么位置开始,当前这一组的总长度,之前几组的总长度. 然后多剪剪枝就可以了. 代码…
传送门 直接迭代加深搜索. 发现每次最多增加一倍,最少增加一,于是果断上下界剪枝. 代码…
传送门 直接折半搜索,把所有和装到unorderedmapunordered_mapunorderedm​ap里面最后统计答案就行了. 然后考试的时候读优并没有处理有负数的情况于是爆零了 代码…
传送门 唉考试的时候忘记剪倍数的枝了666666分滚粗. 其实就是一直取lcmlcmlcm搜索,然后容斥原理统计就行了. 代码…
传送门 考虑对于每次最后全部选完之后剩下的牌的集合都对应着一种构造方法. 一个更接地气的说法: 设消耗的牌数为ttt,如果使用的牌的lll值之和也为ttt,则对应着一种构造方式让这种情形成立. 于是做01背包就可以了. 代码…
传送门 这是一道困饶了我一年的题. 其实就是去年去NOIP提高组试水的时候考的模拟题 但当时我水平不够,跟ykykyk一起杠了一个下午都没调出来. 今天终于AAA了. 其实就是一个维护最长连续010101串的变形. 分几种情况讨论下就行. 我们令最长子段的左右端点为l,rl,rl,r l=1l=1l=1,直接停在111号点. r=nr=nr=n,直接停在nnn号点. 最长子段在中间,根据题目的定义,这个时候根据题目定义它的到两边的长度应该是r−l+22\frac {r-l+2} 22r−l+2​…
传送门 好题啊. ∑i<jpi,jK∗(200−K)>X\frac{\sum_{i<j}p_{i,j}}{K*(200-K)}>XK∗(200−K)∑i<j​pi,j​​>X =>∑i<jpi,j−XK(200−K)>0\sum_{i<j}p_{i,j}-XK(200-K)>0∑i<j​pi,j​−XK(200−K)>0 =>∑i<jpi,j+2XK∗K2−XK(199−K)>0\sum_{i<j}p_{…