![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
排序·贪心·模拟
pigzhouyb
一个来自浙江的可爱的萌萌哒的肥肥胖胖的OIer
展开
-
『贪心』服务器需求
Problem\mathrm{Problem}ProblemSolution\mathrm{Solution}Solution我们设答案为xxx,那么首先答案需要满足x≥∀aix\ge \forall a_ix≥∀ai.然后我们来考虑如何分配这xxx台机器,我们发现:由于机器的使用天数是不连续的,每一台机器在每一天的贡献是独立的,因此只需要满足∑ai≤x×m\sum a_i\le x...原创 2019-11-01 19:52:39 · 109 阅读 · 0 评论 -
『二分答案·贪心』四校联考:积木大赛
Problem\mathrm{Problem}Problem为了庆祝国庆,厦门一中举办了一年一度的“积木大赛”。在2013年NOIP大赛中,夏夏同学己经搭建了宽度为n的大厦,其中第i块高度为hi。今年比赛的内容是对其NOIP2013搭建大厦进行扩建,使用的材料也都是体积为1正方体积木。今年搭建的规则是:如果要在某一个位置上放一个积木,必须满足它的左下、下方、右下都有积木(用二维坐标a表示,如...原创 2019-10-05 20:34:00 · 706 阅读 · 2 评论 -
『二分答案·贪心·树形DP』[POI2011]DYN-Dynamite
Problem\mathrm{Problem}Problem给一棵树,书上有一些关键节点,要求你选m个点,使得关键节点到这些点中距离的最小值的最大值最小,求这个值Solution\mathrm{Solution}Solution这道题二分显然,显然之后就没有然后了。我们采用自底向上的类似于树形DP的思想考虑这个问题,那么根据二分答案的套路我们就可以转化成:所有关键点到选中的关键点的路径在小...原创 2019-09-26 15:06:45 · 197 阅读 · 0 评论 -
『枚举优化·悬线法』largest submatrix
Problem\mathrm{Problem}Problem题解我们发现发现a,b和c是独立的。因此我们单独考虑某一个字母,把能变成这个字母的数字都赋值为1即可。现在问题转化成了求解最大全1矩阵。对于每一个点求解能往左的/往右的,全部为1的最边上的距离。For(i,1,n) { For(j,1,m) if (b[i][j] and b[i][j-1]) l[i][j] = l[i...原创 2019-08-27 21:22:39 · 132 阅读 · 0 评论 -
『枚举优化·数学推导』购物
题目描述visit_world 有一个商店,商店里卖N个商品,第 i 个的价格为 a[i]。我们称一个正整数 K 是美妙的,当且仅当我们可以在商店里选购若干个商品,使得价格之和落在区间 [K, 2K] 中。问:有多少个美妙的数。题解我们可以将 aia_iai 排序,求出用 1−i1-i1−i 这 iii 件物品且一定选择物品 iii 一共能够存在多少种 kkk 。我们发现这个答案的下...原创 2019-08-26 19:44:26 · 180 阅读 · 0 评论 -
『贪心·树上倍增』CF980E The Number Games
题目描述题解观察题目性质,每一个节点的权值都是2的整次幂,性质为:2k>∑i=1k−12i2^k>\sum_{i=1}^{k-1}2^i2k>i=1∑k−12i这意味着我们需要优先选择大的。从大到小枚举每一个节点,如果没有被选取就将它到根路径的每一个点都赋值为111.观察一下这样的性质,发现:某一个点被覆盖,其到根路径上的所有点也会被覆盖。因此,我...原创 2019-08-11 20:37:13 · 147 阅读 · 0 评论 -
『位运算·贪心』changing array
题目描述题解一道看了题解很好懂但是自己死都想不出来的题 。在这里,对于某一个数字取反相当于这个数⊕2k−1⊕2^k-1⊕2k−1。我们知道,一道题目可以转化为有多少个前缀和的lll和rrr满足sumr⊕suml−1=0sum_r⊕sum_{l-1}=0sumr⊕suml−1=0.我们可以一次枚举每一个rrr,如果sumi−1⊕aisum_{i-1}⊕a_isumi−1⊕ai的个...原创 2019-08-09 16:14:28 · 152 阅读 · 0 评论 -
『堆·贪心』HDU5700区间交
题目描述题解全网都是线段树的题解,其实还有优先队列的写法。这道题就是按照左端点排序,然后枚举每一个成为区间交的左端点:找到k−1k-1k−1个已经枚举过的,右端点尽可能大的右端点最小值更新答案。然后把这个点放进堆了,最小的弹出,保证每一次的堆里面只有k−1k-1k−1个元素。还是很简单的。代码如下:#include <bits/stdc++.h>#define...原创 2019-08-09 14:51:12 · 141 阅读 · 0 评论 -
『贪心』阿狸和桃子的游戏
题解显然,这道题目的点权很容易去分配,其关键便在于边权的处理上,即如何处理两种边权的情况。还有一个问题在于,什么叫做当前的最优选择,点权和边权的不同意味着有不同的选择方法,这也让这道题变得非常的棘手。我们便来思考一下,如何解决这两个问题呢?显然这个问题,每一步都要有一个固定的选择方法,即必须以一个固定的标准评判究竟那个最优。并且,这个标准只能由一个具体的数值来表现。由于每次取的是点...原创 2019-07-08 18:57:40 · 255 阅读 · 0 评论 -
『贪心·枚举优化』Ramesses and Corner Inversion
题目描述题解首先,看到题目以后很棘手,因为你无法确定一个正确的求该方式是怎样的。思考一下以前的一个问题关灯:这个问题是一行一行的更改,我们的主要思路是先固定第一行,把n−1n-1n−1行改变以后再判断最后一行是否合法。那么我们可不可以考虑借鉴上述思路,具体如下:确定左上角为(1,1)(1,1)(1,1)的矩阵,右下角为(n−1,m−1)(n-1,m-1)(n−1,m−1)的矩阵。然...原创 2019-07-08 18:45:25 · 121 阅读 · 0 评论 -
[NOIP2012]国王游戏(贪心证明·邻项交换)
ProblemDescription恰逢 H 国国庆,国王邀请 n 位大臣来玩一个有奖游戏。首先,他让每个大臣在左、右手上面分别写下一个整数,国王自己也在左、右手上各写一个整数。然后,让这 n 位大臣排成一排,国王站在队伍的最前面。排好队后,所有的大臣都会获得国王奖赏的若干金币,每位大臣获得的金币数分别是:排在该大臣前面的所有人的左手上的数的乘积除以他自己右手上的数,然后向下取整得到的结果。...原创 2019-03-13 20:36:40 · 601 阅读 · 0 评论 -
【习题·贪心】Color A Tree(贪心+数学证明)
题目描述有一棵树,需要给其所有节点染色,每个点染色所需的时间是一样的都是11.给每个点染色,还有一个开销“当前时间×ci×ci”,cici是每个节点的一个权值。(当前时间是染完这个节点的时间) 染色还有另一个约束条件,要染一个点必须要先染好其父节点,所以第一个染的点是根节点. 求最小开销。Solution可以说是非常难的一道题目了。对于为了使花费最小,如果当前能够选到所有点里那个最大的...原创 2019-03-17 15:06:39 · 383 阅读 · 0 评论 -
【算法·离散化】离散化的简单实现与运用
有关离散化有一些数值的绝对数值过大,但是数据个数相对较小,为了方便统计,且需要去重,我们引入了离散化这一概念。在离散化中,每一个绝对数值都对应的映射一个离散数值。例如有n=3时有三个数{107,108,109}\{10^7,10^8,10^9\}{107,108,109},这三个数的绝对数值较大,但是n较小,如果题目对绝对数值对答案没有意义只是起到了相对大小的比较或者统计的作用,我们可以吧这三...原创 2019-03-10 19:11:54 · 382 阅读 · 0 评论 -
Genius ACM(倍增+归并优化)
Problem【问题描述】Advanced CPU Manufacturer (ACM) is one of the best CPU manufacturers in the world. 每天, 该公司生产n台CPU并销售到世界各地。ACM公司的质检部门会对生产出的CPU进行成组测试,对一组(若干个)CPU进行测试的方法如下:随机从该组CPU中选取m 对(即2m 台),若总数不足2...原创 2019-03-14 18:13:05 · 1733 阅读 · 0 评论 -
【模拟·习题】[USACO18JAN]Lifeguards S
Problem题意翻译FJ为他的奶牛们建造了一个游泳池,FJ认为这将有助于他们放松身心以及生产更多牛奶。为了确保奶牛们的安全,FJ雇佣了N头牛,作为泳池的救生员,每一个救生员在一天内都会有一定的事情,并且这些事情都会覆盖一天内的一段时间。为了简单起见,泳池从时间t=0时开门,直到时间t=1000000000关门,所以每个事情都可以用两个整数来描述,给出奶牛救生员开始以及结束事情的时间。例如,...原创 2019-03-09 16:29:51 · 883 阅读 · 0 评论 -
【枚举·习题】拉灯游戏or费解的开关
Problem题目描述你玩过“拉灯”游戏吗?25盏灯排成一个5x5的方形。每一个灯都有一个开关,游戏者可以改变它的状态。每一步,游戏者可以改变某一个灯的状态。游戏者改变一个灯的状态会产生连锁反应:和这个灯上下左右相邻的灯也要相应地改变其状态。 我们用数字“1”表示一盏开着的灯,用数字“0”表示关着的灯。下面这种状态1011101101101111000011011在改变了最左上...原创 2019-02-23 19:56:10 · 1032 阅读 · 0 评论 -
【USACO18OPEN】Out of Sorts S
题面传送门大致思路:·根据规则,每一次操作中,原数列中的数相对于目标数列中的数,向左的每次只向左一位,向右的每一次向右多位,因此答案只和向左次数最多的那一对有关。答案就是向左最多次数那一对的位置差+1。为什么要+1呢?因为最后一次就算序列有序的话仍然要进去所以要输出一次moo。对于相同的要不要交换呢?显然不用。因此排序时不仅需要数值val作为第一关键字,还要原始序列的位置pos作为第二关键字...原创 2018-11-29 19:19:50 · 203 阅读 · 0 评论