题目链接:https://gmoj.net/senior/#main/show/4279 有一棵\(n\)个点的无向树,每个点的编号在\(1\sim n\)之间,求出每个点所在的最长路。 思路 先用dp 求出每个点到其子树内路径长度最大值和其子树内最长路。 然后再次搜索每一个点,同时枚举其兄弟节点更新从子树外部连接到这一个点的最长路径。更新答...
题目链接:https://gmoj.net/senior/#main/show/53632|0思路这个异或很烦,二进制拆位搞掉。 然后两个节点能造成贡献当且仅当他们这一位下为 11。维护两棵 Trie,存二进制下这一位为 0/10/1 的所有字符串。 对于一个节点 xx,先计算它所有子树答案,然后发现需要将子树中所有节点的字符串扔到 Trie 中。
【GMOJ4016】圈地为王,题目题目链接:https://gmoj.net/senior/main/show/4016在$n$行$m$列的网格中,你要圈一些地。你从左上角出发,最后返回左上角,路径内部的区域视为被你圈住。你不可以进入网格内部,只能在边上行走。你的路径不能在左上角以外自交,但是边足够宽,
题目链接:https://gmoj.net/senior/#main/show/5363 思路 这个异或很烦,二进制拆位搞掉。 然后两个节点能造成贡献当且仅当他们这一位下为\(1\)。维护两棵 Trie,存二进制下这一位为\(0/1\)的所有字符串。 对于一个节点\(x\),先计算它所有子树答案,然后发现需要将子树中所有节点的字符串扔到 Trie ...
题目 题目链接:https://gmoj.net/senior/ main/show/4020 地图是个矩形的网格。 可以花费一定金钱在一些格子投资。 被投资的格子或者四连通的格子都被投资的话,我就可以获得该格子的收益。 利益最大化是作为商人的基本准则,但这是计算机的任务,拜托您了。 思路 这种网格
题目链接:https://gmoj.net/senior/#main/show/4279 有一棵 nn 个点的无向树,每个点的编号在 1∼n1∼n 之间,求出每个点所在的最长路。 2|0思路 先用dp 求出每个点到其子树内路径长度最大值和其子树内最长路。 然后再次搜索每一个点,同时枚举其兄弟节点更新从子树外部连接到这一个点的最长路径。更...
题目链接:https://gmoj.net/senior/#main/show/6801 给出一个长度为\(n\)的数列,支持单点修改,整体查询超过\(h\)的数字连成的区间个数。 思路 建立权值树状数组,第一棵的第\(i\)个位置表示有数列中多少数字等于\(i\);第二棵第\(i\)个位置表示数列中有多少位置\(j\)满足\(\min(a_j,a_{j+1}...
题目链接:https://gmoj.net/senior/#main/show/3860 有nn个点,mm条边,每一条边可以用(x,y,u,v)(x,y,u,v)表示,表示一条连接x,yx,y的边的长度为k1x+k2yk1x+k2y。接下来qq组询问,每次询问给出k1,k2k1,k2,求此时的最小生成树。 n≤35,m≤25000,q≤200000n≤35,m≤25000,q≤200000。
题目链接:https://gmoj.net/senior/#main/show/6826 思路 如果无法找到任意一个\(k\times k\)的正方形,显然后手胜。 如果所有\(k\times k\)的正方形的交不为空集,那么先手将交集中任意一个点点掉就胜利,所以先手胜。 否则必然存在至少两个不互相相交的正方形,考虑到当只剩下最后两个不互交的正方形时,...
题目链接:https://gmoj.net/senior/#main/show/6800 给出nn 和两个长度为 nn 的数组 a,ba,b,求 min{n∑i=1|aix+bi|}min{∑i=1n|aix+bi|} 其中x∈Rx∈R。 2|0思路 先把a=0a=0 的所有直线的 |b||b| 加到答案里。 对于剩余的直线,我们按照他们与 xx 轴交点排序,依次枚举交点区间并计算出...