摘要: 1592C 题意: 给定一个有n个节点的树,要求至少删掉一条边,最多删掉k-1条边,使得剩下的连通块的各个节点的异或和相等 思路: 首先考虑异或,假如根节点的异或和为0,那么一定是通过两个相等的值异或得来,也就是说至少删掉一条边,这种情况直接输出yes,考虑其他情况,假如异或和不是0,那么至少要有三 阅读全文
posted @ 2021-10-04 23:42 指引盗寇入太行 阅读(59) 评论(0) 推荐(0)
摘要: 365C 题意: 给定一个长度为n的字符串s,组成一个数组b,其中b[i,j]=s[i]xs[j],问有多少个矩阵的和等于给定的数字a 思路: 考虑一般情况:假设子矩阵是左上角是(x,y),右下角是(xn,yn); 则这个矩阵的和可以表示为 第一行是: \(s[x]*s[y]+s[x]*s[y+1] 阅读全文
posted @ 2021-10-04 23:24 指引盗寇入太行 阅读(103) 评论(0) 推荐(0)
摘要: 1353D 题意: 起初数组都是0,第i次选择最长的0的子段中最左边的子段,然后取中间值赋值为i,一直执行n次,输出赋值后的长度为n的数组 思路: 每次取最长直接可以使用堆来维护子段的长度,取最左边可以维护每个子段的左端点,同时每次分割一个子段就会生成两个新的子段 题解: #include <bit 阅读全文
posted @ 2021-10-04 23:08 指引盗寇入太行 阅读(48) 评论(0) 推荐(0)