- 博客(351)
- 收藏
- 关注

原创 算法头文件 && 宏定义
/*Work by: ChelseaProblem: 不知名屑题Knowledge: 垃圾算法Time: O(能过)*/#include<map>#include<set>#include<stack>#include<queue>#include<cmath>#include<bitset>#include<cstdio>#include<string>#include<ve
2021-11-23 16:11:44
502
原创 leetcode134双周赛 子数组按位与值为 K 的数目「动态规划」「位运算」
leetcode134双周赛 子数组按位与值为 K 的数目「动态规划」「位运算」
2024-07-10 15:46:08
951
原创 leetcode 404 周赛 找出有效子序列的最大长度 II「暴力」「动态规划」
leetcode 404 周赛 找出有效子序列的最大长度 II「暴力」「动态规划」
2024-07-01 14:31:33
996
原创 leetcode 401周赛 执行操作可获得的最大总奖励「dp」「bitset优化」
首先,我们能发现,如果取了一个价值高的物品,那比它小的物品的价值都拿不了,所以肯定是从小的开始取,先对。是0,你可以进行任意次操作,每次操作都可以选择任意一个未被选择过的物品,而且必须满足。再仔细分析一下我们的状态转移方程,可以发现,第一维度可以用滚动数组滚掉。的数据,左右两段都是0,正好和原先的b对上了,二者取或即得到答案。由于bitset的特性,下标是从右往左计算的,所以先。的一段连续的数据,与dp数组中左侧的另一段长度为。,获得这个物品后也将获得它的价值,即。的数据,后半段全是0,再右移。
2024-06-20 20:22:56
500
原创 Suryxin’s ACM退役记
我的记忆力很差,经历过的很多事情都已经记不太清了,其中有很多美好回忆也已经消散,我很惋惜没能留存一些照片和声音或是文字供我怀念,这就像《泰坦尼克号》一样,露丝和杰克感人肺腑的爱情故事,最后也仅仅存在于暮年露丝的回忆里。这四年所经历的一切,都是我这一生可遇而不可求的美好时光,有些事情我不想忘记,也不想最后只有我记得,所以我想以文字的形式记录并怀念一下这四年的ACM生活。
2024-06-07 12:35:17
1097
8
原创 AtCoder Beginner Contest 229 「F dp」
我们可以通过枚举当前点的颜色和上一个点的颜色来进行状态转移。都存在一体指向0的带权无向边,边权为ar[i],同时从。问你形成二分图最小需要删除的边的权值之和是多少。,当然,n指向的不是n+1,是1,即是一个环。最后不要忘了计算一下n和1的颜色。假设最后形成的二分图进行染色后。也存在一条带权无向边,边权为。要形成二分图,点i可以和。的颜色相同,说明要删除。的颜色相同,说明要删除。
2023-07-04 22:06:04
321
原创 AtCoder Beginner Contest 307「E dp」
a[n]的条件,那答案就是m*(m-1)时,前i个数字中任意相邻的两个数字不相同的方案数。时,前i个数字中任意相邻的两个数字不相同的方案数。有了这个限制条件以后,我们可以用dp来解决。答案对998244353取模。表示第i个数和第一个数字。表示第i个数和第一个数字。
2023-07-04 20:31:51
247
原创 最佳牛围栏「二分答案+前缀和+双指针」
给你一个长度为n的数组a[i],你想求一段长度至少为m的连续的子数组所包含的数字和的平均值最大是多少。从m开始,判断是否满足条件,二者同时往后移动,这样保证了长度至少是。给的题面看的很抽象,半天看不懂再说什么,我简化一下。显然是要用二分答案,我们二分平均值。即可,我们可以利用双指针,一个指针。,但是难就难在check函数。从0开始枚举,维护前缀最小的。数组存在一个长度大于等于。,此时我们只需要找到一对。成功,所以我们可以对。
2023-07-02 21:54:23
208
原创 2023团体程序设计天梯赛赛时代码
string s;n += m;io;//int t;cin >> t;return 0;n += m;io;//int t;cin >> t;return 0;n += m;io;//int t;cin >> t;return 0;n += m;io;//int t;cin >> t;return 0;300050。
2023-04-24 14:15:12
1213
原创 L2-044 大众情人「最短路」
不过这个题数据范围绝对有误,说保证距离感是不超过1e6的正整数,一共才500个点,最大也就499*1e6 = 5e8左右,我上届开成1e9不给过,开再大点才给过,分别输出女性和男性中异性缘最好的人的下标,如果某种性别的异性缘最好的人存在多个,则从小到大输出下标,末行不允许有空格。明明几句话就能说明白的事情,非得写成文言文恶心人是吧。再对于两个性别分别枚举,找到最大值,存下来输出即可。n个人,有向图,有男女性别之分,我们定义异性缘为。对于每个人i,我们枚举j,找到。,数据都不会造,下次别出了。
2023-04-17 21:33:04
549
1
原创 L2-043 龙龙送外卖
所以我们对于一颗树,我们可以从每个叶子结点开始往上遍历,每经过一个点,如果这个点没有被标记,则sum+=2,并将这个点给标记掉,表示上面的边不需要再多走一遍,如果被标记了就直接跳出,进入下一个叶子的遍历。则答案是:3+1+1+2+2+3+4+5+5+6+6+4,如果按照第一张图的方法,则3和4都会被多计算一次,可以发现3和4都是作为LCA的点。所以对于每次询问,我们都从这个点开始往上遍历,如果这个点被访问过了,就return,否则就sum+2,标记这个点,然后往父节点进行遍历。给出n个点,每个点的父节点。
2023-04-17 21:16:15
498
原创 2016-2017 ACM-ICPC Nordic Collegiate Programming Contest (NCPC 2016)题解
这是和wwy组队的第一场比赛,卡牌题我读漏了个条件,导致我们的思路虽然正确,但是漏了个花色内有序,所以卡了半个小时。而且由于时间限制,比赛只打了3个小时,导致A题一眼题但是没时间写,好像还有一个欧拉降幂的题,等有时间再补了。
2023-04-10 12:31:31
502
原创 增减序列「差分+思维」
给定一个长度为n的序列,每次都可以选一个区间(l,r),使得的元素同时加1或者减1,问最少操作多少次可以使得n个数字都相同,且在保证操作次数最少的情况下,存在多少个不同的结果序列。
2023-03-29 19:39:38
341
原创 3956. 截断数组「前缀和 + 思维」
所以我们需要逆序维护,为了简单一点我们可以用map直接维护,当然也可以用一个变量num来记录。子数组,使得三段非空子数组的元素和都相等,问存在多少种划分方法。所以问题其实可以转化成,问存在多少对(i,j)使得。给定长度为n的数组,现在要将数组分成三段连续的。首先可以发现三段元素和相同,代表。,然后通过某种O(1)的方法求出。,也就是需要O(1)获得。最暴力的方法是同时枚举。其实我们只需要枚举满足。,没一顿数字和一定是。
2023-03-29 00:17:01
201
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人