
算法
文章平均质量分 81
Dklau-c
本科在读,致力于C/C++方向的学习
展开
-
【算法2-1】前缀和、差分与离散化
本题可以采用并查集,将每一个i,j视为一个独立的集合,如果相等,则将两个集合相连互通,反之,则不操作,(tips: 本题有个小技巧是,先进行排序,让相等的在前面,等相等的全部建立好连接之后再进行不相等,如果不相等的中出现了相等的,则直接输出NO,然后跳出循环)其实就是,我们将所有的i,j 单独放进一个数组里面,这个数组的大小也就是n的二倍,因为要存两个值嘛,之后我们再进行。,然后我们这个数组就算是离散化完了,此时我们所放进去的i,j,就被我们映射成了数组下标,之后我们需要什么数,就可以在这个数组中通过。原创 2024-04-08 17:37:16 · 263 阅读 · 0 评论 -
Codeforces Round 929 (Div. 3)- ABCDEFG
将每个数从小到大排序,判断最小值是否有两个,如果最小值只有一个的话,正常取模下来,结果就是最小值,如果最小值有两个的话,取模下来,结果就是0,所以如果最小值有两个的话,我们就遍历一遍之后的所有数,如果有一个数%最小值之后,不为零,那么就可以把他放到两个最小值之间,取模之后,得到就是更小的最小值,所以最后结果也不为零。BFS模拟,我们不可能考虑每一个石头每次走的位置,这样复杂度太高,所以我们可以根据相对论,机器人向下走一格,也就意味着石头全部都想上走了一格,所以只需要模拟机器人和终点的移动即可,原创 2024-03-09 13:52:45 · 927 阅读 · 0 评论 -
牛客小白月赛87 -ABCDEF
因为Alice 拿到石头的总数要严格大于Bob 且石头数量是升序排序的,所以他们如果想赢的话,就必须要拿当前石头中数量最多的那一个,所以我们就可以模拟这个过程,最后比较大小就可以。这里因为石头总数以及是升序了,后面的数量最大,所以可以开一个栈,来模拟,会方便很多。原创 2024-02-24 08:21:10 · 868 阅读 · 0 评论 -
2024牛客寒假算法基础集训营2 -ABEFIJ
签到题,可以直接模拟,也可以找到规律,简化代码。原创 2024-02-10 22:59:40 · 1004 阅读 · 0 评论 -
2024牛客寒假算法基础集训营3 -BDGH
思维题,本题题意N个数组首尾相连,然后当某两个相邻数组和为偶数时,交替拿走,并在选择两个数字交换位置,直到没有可以操作的数字为止。我们可以考虑,数字具有奇偶性,那么数字之和,同则偶,异则奇,那么当数组个数为奇数时一定是可以操作的,比如偶偶奇,奇偶偶,这种,一定是可以操作一次,而偶数是不一定可以操作的,所以玩家输掉游戏的时候,数组的个数一定是偶数,同时,拿走操作是交替进行的,所以第一次操作的时候数组个数是奇数,那么他进行操作的时候,数组个数就会一直是奇数,所以我们只需要看谁是第一个拿偶数的,谁就输掉游戏。原创 2024-02-22 19:27:56 · 837 阅读 · 0 评论 -
【算法2-1】前缀和、差分与离散化-2
思路:模板题,用前缀和,差分求解。构造一个差分数组,使得每一个数组元素加上之前的所有数组元素,等于本元素位置所对应的学生成绩,求出最小值输出即可代码:时间复杂度o(n)原创 2024-02-07 22:35:00 · 411 阅读 · 1 评论 -
【算法2-1】前缀和、差分与离散化
洛谷算法训练原创 2024-02-05 21:18:01 · 433 阅读 · 1 评论 -
【算法1-1】模拟与高精度
先全部读入一个数组里面,之后依次遍历开始比较,加分,需要注意的是:结束输出的条件是也就是10: 11 不会停止输出,而是会继续打,当为两边的分值相减取绝对值之后大于等于2时,才会输出。时间复杂度o(n);原创 2024-02-04 19:24:55 · 386 阅读 · 1 评论 -
2024牛客寒假算法基础集训营1- ABCEGM
竞赛链接⬆。原创 2024-02-03 18:10:38 · 1033 阅读 · 1 评论 -
2024牛客寒假算法基础集训营1 -LIC
如题,求太阳在何位置上,所散发的光,在经过W墙之后,所形成的阴影面积最大。通过生活中,我们可以发现,当太阳中午的时候,影子是最小的,但当太阳在下午的时候,影子是最大的,同时我们可以想象,当太阳高度高于W墙时,总会有光是可以穿过W墙的上方,减小阴影面积,增加了光穿透的可能,但当太阳越低时,则会减少了光穿透的可能,所以,由题意,我们可以得当光的位置最低的时候,阴影面积最大。于是我们画出当太阳最低时的俯视图为:所以,我们要求的面积就是我所画的黄色部分也就是个梯形,梯形面积为(上底+下底)*高 除以2。原创 2024-02-06 21:10:34 · 982 阅读 · 0 评论