思维
文章平均质量分 53
beyond+myself
这个作者很懒,什么都没留下…
展开
-
多个串的最长公共子序列
dp补题原创 2022-11-06 11:10:48 · 953 阅读 · 0 评论 -
D - Exam Results Gym - 102769E
补题原创 2022-10-25 20:18:43 · 147 阅读 · 0 评论 -
L - Fenwick Tree Gym - 103861L
总结原创 2022-10-24 09:26:46 · 264 阅读 · 0 评论 -
D. Problem with Random Tests
补题原创 2022-10-20 09:21:08 · 87 阅读 · 0 评论 -
H - High Load Database Gym - 102411H
调和级数原创 2022-10-18 19:40:08 · 320 阅读 · 0 评论 -
H - Crystalfly Gym - 103470H
树形dp原创 2022-10-18 17:28:15 · 326 阅读 · 0 评论 -
K - Krystalova‘s Trivial Problem Gym - 103940K
线段树补题原创 2022-10-17 17:02:19 · 134 阅读 · 0 评论 -
可能是一道签到题
补题选择一个下标 ii ,令 a_iai 的值增加 xx ,然后让 xx 加 11 。仅让 xx 加 11 。对于第一种操作,每个下标 ii 至多被选择一次。你的任务是找到最小的操作次数,使 nn 个元素都能被 kk 整除。题目将会有 tt 组独立的数据。Input第一行输入包含一个正整数 tt (1 \leq t \leq 101≤t≤10),表示原创 2021-08-09 11:03:22 · 291 阅读 · 0 评论 -
尺取
尺取原创 2022-09-22 17:03:23 · 208 阅读 · 0 评论 -
B - K-th Number HDU - 6231
尺取原创 2022-09-19 22:17:02 · 131 阅读 · 0 评论 -
F - Wi Know Kattis - wiknow
补题原创 2022-09-09 21:13:11 · 177 阅读 · 0 评论 -
Making the Grade POJ - 3666
dp原创 2022-09-01 17:23:48 · 49 阅读 · 0 评论 -
Treats for the Cows POJ - 3186
dp原创 2022-08-12 14:08:07 · 92 阅读 · 0 评论 -
D. Tournament Countdown
cf补题原创 2022-08-08 21:16:24 · 137 阅读 · 0 评论 -
NIO‘s Sword(牛客多校赛)
补题原创 2022-08-01 21:56:23 · 97 阅读 · 0 评论 -
Link with Bracket Sequence II(杭电多校赛)
dp原创 2022-07-29 14:52:18 · 275 阅读 · 0 评论 -
Monkey and Banana
dp原创 2022-07-28 10:31:48 · 55 阅读 · 0 评论 -
Max Sum Plus Plus HDU - 1024
dp原创 2022-07-27 22:00:41 · 107 阅读 · 0 评论 -
C. Recover an RBS
cf补题原创 2022-07-22 16:29:14 · 518 阅读 · 2 评论 -
D - Difference HDU - 5936
补题原创 2022-07-16 21:20:02 · 125 阅读 · 0 评论 -
B - Bomb HDU - 5934
补题原创 2022-07-14 20:18:14 · 99 阅读 · 0 评论 -
C. Manipulating History
C - Manipulating History题解原创 2022-06-04 10:28:12 · 323 阅读 · 0 评论 -
F - Sum of Numerators Gym - 103660F
题目链接题意:求化简后的分子之和。题解:每次先把奇数加上,剩下偶数除以2,继续上面操作知道没有剩下数或是除以2的次数等于k。下面时AC代码:#include<iostream>#include<cstring>#include<cstdio>#include<algorithm>#include<cmath>using namespace std;#define int long longsigned main(){原创 2022-04-26 21:10:54 · 203 阅读 · 0 评论 -
L2-3 浪漫侧影 (25 分)
题目链接题解:通过后序和中序建树,然后层序遍历即可。答案就是每一层树的第一个和最后一个。。下面是AC代码:#include<iostream>#include<cstring>#include<cstdio>#include<algorithm>#include<vector>using namespace std;const int N=1010;int n;int a[N];int mid[N];int last[N]原创 2022-04-18 15:43:47 · 409 阅读 · 0 评论 -
D - Dragon Balls Kattis - dragonballs
题目链接题意:交互题,就是提问系统不超过1000次然后找到n颗龙珠,但龙珠是1颗1颗找到的并不是1次全部找到,这样就很简单了,每次循环输出1个(0,0),然后找到与远点相聚为d的所有的点,然后在分别提问,直至系统输出0为止。(题问是用cout的,系统给答案是用cin的),这个题要注意的是一定要加上换行符,下面是T0的代码:#include<iostream>#include<algorithm>#include<cstring>#include<cstd原创 2022-04-03 11:03:40 · 227 阅读 · 0 评论 -
F - Auxiliary Set HDU - 5927
题目链接题意:定义了一个辅助集合,辅助集合里面的元素满足两种情况中的至少1种:1:是重要的点,2:是两个不同重要点的最近公共祖先(LCA)。其中,在q次询问中每次给出n个点中的不重要的点。这里如果LCA不太了解的话可以看这个博客:博客题解:我们可以想一下,只要某一个点的其中两棵子数上分别有重要的点的话,那么这个点就可以算入集合。所以,我们现在就要找出是否当前节点的两个子树上是否有重要的点。所以我们可以设置一个son数组,记录当前节点的儿子有多少个。然后我们按照树的深度从大到小排序,从最深的开始。原创 2022-03-30 16:22:02 · 957 阅读 · 0 评论 -
V字钩爪。
题目链接题解:分块,就是有一些点之间是永远没有交集的,因为每一个点只与前面第k个元素以及后面那k个元素有关,所以我们应该把那些出现矛盾的点放到一起,然后进行讨论。下面是AC代码:#include<iostream>#include<algorithm>#include<cstring>#include<cstdio>#include<vector>using namespace std;#define int long long原创 2022-03-26 19:46:39 · 1012 阅读 · 0 评论 -
L2-3 清点代码库 (25 分)
上图转自新浪微博:“阿里代码库有几亿行代码,但其中有很多功能重复的代码,比如单单快排就被重写了几百遍。请设计一个程序,能够将代码库中所有功能重复的代码找出。各位大佬有啥想法,我当时就懵了,然后就挂了。。。”这里我们把问题简化一下:首先假设两个功能模块如果接受同样的输入,总是给出同样的输出,则它们就是功能重复的;其次我们把每个模块的输出都简化为一个整数(在 int 范围内)。于是我们可以设计一系列输入,检查所有功能模块的对应输出,从而查出功能重复的代码。你的任务就是设计并实现这个简化问题的解决方案。输入.原创 2022-03-25 10:52:32 · 198 阅读 · 0 评论 -
C. Increase Subarray Sums
题目链接题意:就是每次加上k个x(k∈[0,n]),然后分别求最大区段和,注意此题加上k个x并不是一个连续的动作,而是单独的,每次加上k个x然后求最大区段和,本来以为是连续的没有写出来。知道这个就很简单了,分别求出为i长度的最大和,然后分别加上n个k即可。下面是AC代码:#include<iostream>#include<cstring>#include<cstdio>#include<algorithm>using namespace std原创 2022-02-23 16:24:06 · 756 阅读 · 0 评论 -
H - SBC‘s Hangar Gym - 102861H
题目链接题意:题意很简单,就是在给定的n个数里找到m个数之和,求其在给定区间的范围内的数量。题解:首先我们要找到的是一个范围内的数,这样做的话因为有左边界,也有右边界,所以做起来很不方便,但是根据容斥定理得,假设f[r]为小于等于r的种类数,则f[r]-f[l-1]即[l,r]内的种类数,这样做起来就方便一点了,但是m个数相加仍然很不方便,这就是题中条件的应用,重量大的是小的最少倍,哪么我们可以知道是假设当前是w,则前面所有的数相加一定小于,w即 w/2+w/4+……<w,所以我们可以排序后从后往原创 2022-02-22 19:19:06 · 114 阅读 · 0 评论 -
Codeforces Round #772 (Div. 2) D - Infinite Set
题目链接题解:这个题求得是不小于2 ^ p 的情况下集合中的数的数量。在做这个题之前,我们首先要知道的是,将一个数化为二进制的话,每乘一个2就会往整体向前移动一位,整体加1位;乘以4的话也会整体向前移动两位,整体加2位。对于本题而言,x * 4满足上述条件,x * 2+1的话虽然大于 x * 2 但是两者的位数是一样的,而本题要求的是严格小于2 ^ p所以必须比2 ^ p 小一位所以对他的大小不必知道,所以也是满足以上所述。所以我们可以求得当前的数比2 ^ p小几位,然后再减1再求这样的数有几个,我们可以原创 2022-02-22 18:17:53 · 175 阅读 · 0 评论 -
C. Differential Sorting
题目链接题意:改变数字,使得数组成为一个递增序列。题解:很简单,就是分析可以发现必须是a[n-1]<a[n],否则不成立,因为最后两个数无法改变。在一个就是a[n]>=0,否则只有本来就是递增序列的才会成立,其余不成立,因为这样的话改变只会变成一个更大的数。开始的时候我没有分析出来这些,所以用了一个笨的方法,但是WA了,下面是wa的代码:#include<iostream>#include<algorithm>#include<cstring>#原创 2022-02-21 09:23:01 · 167 阅读 · 0 评论 -
ACwing亮灯时长
自习室内有一个智能灯。在 0 时刻,管理员会将打开电闸,并将灯点亮。在 M 时刻,管理员会直接拉下电闸,此时,如果灯处于点亮状态,则会因为断电而熄灭。在 0∼M 之间有 n 个不同时刻,不妨用 a1,a2,…,an 表示,其中 0<a1<a2<…<an<M。在这 n 个时刻中的每个时刻,管理员都会拨动一次智能灯的开关,使灯的状态切换(亮变灭、灭变亮)。现在,你可以最多额外指定一个时刻(也可以不指定),让管理员在此时刻也拨动开关一次。注意选定的时刻不能与 a1,a2,…原创 2021-07-21 15:38:57 · 76 阅读 · 0 评论