LXNHB
LXNHB
全部文章
题解
c++基础(2)
三分法(1)
二分法(2)
操作系统(7)
算法(2)
归档
标签
去牛客网
登录
/
注册
LXNHB的博客
蒟蒻一枚
全部文章
/ 题解
(共11篇)
题解|#D. Array and Operations# codeforces round 760
来自专栏
如果a<b,那么a/b=0。 交换数组元素的位置不影响结果,所以可以贪心的去做。 一个小的元素一定会带走一个适当大的元素,这样才是最优的,所以k次操作之后,数组在下标n-k之后的元素都是将会被消耗掉的,而消耗者就是n-k之前的元素,而且一定是在n-k之前的大元素来消耗,这样才会保证k次操作后剩...
C++
思维
贪心
2023-12-13
0
241
题解|#D. Friends and the Restaurant# codeforces 820
来自专栏
这个题要求最多可以在餐厅待多少天,人数一共就那么几个,而且至少两人一组,那么如果可以分两人一组就尽量两人一组,这样组的总数才会多,然后就是贪心的思想了,最大的带一个他可以带的最小的,如果带不了,就放弃这个人,这样还能留出更多选择的余地。这个操作用尺取法就ok了。 #include<bits/s...
C++
思维
贪心
尺取法
2023-12-12
0
319
题解|#加法删除博弈#
来自专栏
这个题wolxy需要先把可以删除的最大的数删掉,因为下一轮他的“攻击力”会减少,如果不在前一回合把当时可以删掉的最大数删掉的话,下一轮可能就删不掉这个数了,而achhh需要把当前最小的数变大,将最小的数变大以后,wolxy就永远不可能有足够的“攻击力”把这个数消灭掉了。 有人可能会有疑问,我为什么不...
C++
贪心
排序
数学
2023-12-04
0
311
题解 | #奇♂妙拆分#
来自专栏
这道题思路,很简单,要求最多几个自然数能乘出一个数来,那一定是从最小的数开始尝试,去重或者不去重都无所谓,i是递增的,本来就保证了不会重复。 #include<bits/stdc++.h> using namespace std; typedef long long ll; const ...
C++
贪心
数学
2023-12-04
0
224
题解 | #排座椅#
来自专栏
这道题的思路是贪心,为什么是贪心呢,因为能划分的行、列过道都是有限个数,要是想在有限个数里面选取最优解,那显然是找同一个两行里面交头接耳人数最多的两行中间加过道,列也是如此。 不过这里有坑点,就是他要求输出时候下标要升序排序,样例也是鸡贼,不对下标排序的话能过,然后我就开心的提交了,然后就G了,所以...
C++
贪心
排序
2023-12-03
0
246
题解 | #毒瘤xor#
来自专栏
这道题思路就是,预处理前i个数字,二进制位上的1的总数。 因为要求找到一个x对区间内的a[i]做异或操作,使得异或后的区间和最大,而异或运算是这样的0^1=1 0^0=0 1^1=0,我们要想使得区间和最大,显然要让每一个位上的1的数量最大化,所以当1的数量比0少时,就对该位异或1,把0,1数量交换...
C++
贪心
位dp
位运算
2023-12-01
0
261
题解 | #矩阵消除游戏#
来自专栏
这个题不能胡乱选择行或者列,因为你一旦选择了一列以后,接下来选一行一定会受到影响,不符合贪心的特点,就是子问题的求解不影响其他部分。所以可以枚举行,然后贪心列,这样列和列之间不会相互影响,可以贪心的来做,然后就是位运算枚举每一种行的选择情况。 这道题被坑了,主要还是基础知识不扎实,deal函数我直接...
C++
贪心
前缀和
枚举
位运算
2023-12-01
0
259
题解 | #[USACO 2007 Jan S]Protecting the Flowers#
来自专栏
一道简单的套路题,假设有两头牛a,b,这两头牛交换位置不影响前面的情况和后面的情况,因为无论怎么交换,他们的时间消耗总和都是一样的,可以推导出:当满足ta/da<=tb/db时,a牛在前的情况更优,所以按上述推导的公式从小到大排序,n处的结果就是最后答案。看这个题的数据比较大,又需要乘法,所以...
C++
贪心
前缀和
2023-11-29
0
303
题解 | #[NOIP2012]国王的游戏#
来自专栏
首先来看怎么确定高精度的位数,最多有1000各大臣,每个大臣左手数字最大为10000,所以相乘的最差结果就是10^4000,也就是至多是一个4000位的数(大臣手中数字不包括10000)。然后就是基本的高精度乘法和高精度除低精度的除法。 #include<bits/stdc++.h> u...
C++
贪心
数学
2023-11-27
2
370
题解 | #活动安排#
来自专栏
本题可以转化成最多不重叠区间覆盖问题,要想使最多,就要对右区间从小到大排序,然后要对左区间进行特判,找出第一个左边界大于等于上一个区间的右边界的区间作为下一个区间。 #include<bits/stdc++.h> using namespace std; int n; const int...
C++
贪心
2023-11-27
0
297
首页
上一页
1
2
下一页
末页