随笔分类 - 贪心
摘要:题:https://codeforces.com/contest/1407/problem/D 题意:给定n个数的高度,若位置 i 能跳到位置 j 得满足以下任一条件: i+1=j max(hi+1,…,hj−1)<min(hi,hj) max(hi,hj)<min(hi+1,…,hj−1) 问最少
阅读全文
摘要:题意:给定n,p,k n个数,然后取连续的一段,让着一段的sum%p<=k,然后求满足条件的最大sum/p 思路:见注释 /* 取一段[L,R]让这个区间和取模后小于等于k 切记,取模操作符合减法的分配定律 条件可以转化为(sum-pre[L]-suf[R])%p<=k >(sum%p-pre[L]
阅读全文
摘要:题:https://codeforces.com/contest/1257/problem/E 题意:给定3个数组,可行操作:每个数都可以跳到另外俩个数组中去,实行多步操作后使三个数组拼接起来形成升序。 输出最小操作次数 dp: #include<bits/stdc++.h> using names
阅读全文
摘要:题:https://codeforces.com/contest/1243/problem/D 分析:找全部可以用边权为0的点连起来的全部块 然后这些块之间相连肯定得通过边权为1的边进行连接 所以答案就是这些块的总数-1; #include<bits/stdc++.h> using namespac
阅读全文
摘要:题:https://codeforces.com/contest/1245/problem/F 分析:转化为:求区间内满足a&b==0的对数(解释见代码) ///求满足a&b==0在区间【l,r】的对数 ///推导:区间[2l,2r]可由[l,r]乘3倍得来 ///原因:*2我们可以看成事左移1位,
阅读全文
摘要:题:https://codeforces.com/contest/1251/problem/D 题意:给你n个单位需要满足达到的区间,再给个s,s是要分配给n的单位的量,当然∑l<=s,问经过分配后能够达到的最大中位数是多少 题解:二分找中位数,成立原因:代码注释 #include<bits/std
阅读全文
摘要:题:https://codeforces.com/contest/1249/problem/F 题意:给一颗树,边权为1,节点有点权,问取到一个点集,俩俩之间路径超过k,是点权和最大 思路:贪心地取点,先将点按照深度经行排序,每一次,取一个点权大于0的点,然后对于这个点bfs出去的路径小于k的点减去
阅读全文
摘要:题:https://codeforces.com/gym/101911/problem/A 题意:每天工作m分钟,每次喝coffee得间隔d分钟,然后给出n个数,每个数表示想在一天中的a[i]的时刻喝coffe,问最少喝完的天数 分析:先对数组升序排,若满足间隔的d就向前一个建立联系; #inclu
阅读全文
摘要:题:https://www.cometoj.com/problem/0221 #include<iostream> #include<cstring> #include<algorithm> #include<cstdio> #include<queue> using namespace std;
阅读全文
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=5452 题意:给个图T(图G的最小生成树),然后再给定图G的剩余边,问你从图T中当且割一条边的情况再割图G中不属于图T的边,使整个图(图G)不联通,求最小割; 分析:1、只能并且要求割图T中的一条边,所以只能割叶子
阅读全文
摘要:https://codeforces.com/contest/1185/problem/E 题意:在矩阵上,用a~z代表,然后后来画的可以覆盖掉之前画的,问可行方法是怎么画的 1 #include<bits/stdc++.h> 2 using namespace std; 3 const int M
阅读全文
摘要:https://codeforces.com/contest/1154/problem/G
阅读全文

浙公网安备 33010602011771号