上一页 1 ··· 3 4 5 6 7
摘要: city 题意: n个点m条边,有q次询问每次给当一个p,当两个点之间的边权小于p时,这条边就会被摧毁掉,问每次给定p的时候有多少对点相互连通; 思路: 每次查询,都要遍历一遍所有的点,判断这条边是否大于p,时间复杂度远不够,假设p1<p2,当一条边大于p2的时候一定大于p1,所以可以由大到小做,这 阅读全文
posted @ 2021-10-05 23:03 指引盗寇入太行 阅读(61) 评论(0) 推荐(0) 编辑
摘要: https://www.luogu.com.cn/problem/P4447 题意: 把每个数字尽可能分到一个组中,从这些组里面选出长度最小的分组;分组规则是连续的数字比如1234 思路: 可以先将数组排序,同时要满足数字连续,以及尽量让数组长度较大,所以可以每次选择长度最小的数组进行拼接,同时还要 阅读全文
posted @ 2021-10-05 22:40 指引盗寇入太行 阅读(177) 评论(0) 推荐(0) 编辑
摘要: 1592C 题意: 给定一个有n个节点的树,要求至少删掉一条边,最多删掉k-1条边,使得剩下的连通块的各个节点的异或和相等 思路: 首先考虑异或,假如根节点的异或和为0,那么一定是通过两个相等的值异或得来,也就是说至少删掉一条边,这种情况直接输出yes,考虑其他情况,假如异或和不是0,那么至少要有三 阅读全文
posted @ 2021-10-04 23:42 指引盗寇入太行 阅读(48) 评论(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 指引盗寇入太行 阅读(88) 评论(0) 推荐(0) 编辑
摘要: 1353D 题意: 起初数组都是0,第i次选择最长的0的子段中最左边的子段,然后取中间值赋值为i,一直执行n次,输出赋值后的长度为n的数组 思路: 每次取最长直接可以使用堆来维护子段的长度,取最左边可以维护每个子段的左端点,同时每次分割一个子段就会生成两个新的子段 题解: #include <bit 阅读全文
posted @ 2021-10-04 23:08 指引盗寇入太行 阅读(32) 评论(0) 推荐(0) 编辑
摘要: 1475D 题意: 有n个软件,每个软件都有一个内存空间和重要度,重要度只有1和2,现在至少要减少m的内存,问最少减少的重要度是多少; 思路: 每个软件可以有选和不选两种情况,但是数据范围太大没法直接做,注意到只有两种重要度,那么,可以枚举一种重要度的物品,然后得出另一种物品至少需要多少,使用二分+ 阅读全文
posted @ 2021-10-02 01:04 指引盗寇入太行 阅读(43) 评论(0) 推荐(0) 编辑
摘要: 1359C 题意 有两种水,高温为h,低温为c,数量不限,分别把他们导入一个无限深的桶中,试问倒多少杯水的时候平均温度最接近t,必须是先h后c 分析 1.当h==t的时候,res=1 2.h+c==t*2的时候,res=2 3.average>t*2,需要加c 4.average<t*2,需要加h 阅读全文
posted @ 2021-09-30 01:02 指引盗寇入太行 阅读(45) 评论(0) 推荐(0) 编辑
上一页 1 ··· 3 4 5 6 7