Rsthhwxf
码龄4年
关注
提问 私信
  • 博客:6,253
    6,253
    总访问量
  • 26
    原创
  • 406,326
    排名
  • 0
    粉丝
  • 0
    铁粉
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:江苏省
  • 加入CSDN时间: 2020-08-02
博客简介:

weixin_49824291的博客

查看详细资料
个人成就
  • 获得5次点赞
  • 内容获得0次评论
  • 获得6次收藏
  • 代码片获得107次分享
创作历程
  • 6篇
    2022年
  • 20篇
    2021年
成就勋章
TA的专栏
  • 题解
    6篇
  • java基础
    1篇
  • 数据结构与算法
    7篇
  • 链表
    1篇
  • 排序
    1篇
  • 树状数组
    3篇
  • ST表
    4篇
  • codeforces
    2篇
  • 贪心
    2篇
  • 单调队列/单调栈
    7篇
  • 笔记
兴趣领域 设置
  • 数据结构与算法
    排序算法推荐算法
创作活动更多

超级创作者激励计划

万元现金补贴,高额收益分成,专属VIP内容创作者流量扶持,等你加入!

去参加
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

牛客多校二

Counting Triangles这道题题意是算有多少三边颜色完全相同的三角形,比赛中模拟三重循环得出答案,显然会超时正确的题解,既然要算有多少个三边颜色完全相同的三角形个数,那等同于三角形个数-有异色边的三角形个数,有异色边的三角形则是有俩个点的其中俩条边是异边,就是对于每个点算它有多少个异边相加/2,这个通过计数黑色的点的总数*白色的点的总数得到.#include<bits/stdc++.h>typedef long long ll;namespace GenHelper {
原创
发布博客 2022.03.27 ·
208 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

牛客多校四

c题晚了一分钟交就不再多写[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xguvvWyx-1648341277048)(https://uploadfiles.nowcoder.com/images/20210726/728856466_1627312025173/249D2BDBDFCE405071D53BC3C031F075 “图片标题”)]i题 Inverse Pair比赛的时候不会归并排序减小复杂度,补个归并排序的板子void merge_sort(int st
原创
发布博客 2022.03.27 ·
401 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

杭电多校一

Maximal submatrix这道题的题意就是求已知矩阵的最大单调不下降矩阵,比赛中只会用暴力的方法,tle了看了题解,说是转化为01矩阵,然后用悬线法求出,太菜了,表示没听过,网上学了一波,先将悬线向上拓展到最大,然后尽量向左右拓展,具体运用这道题的话就是,先得出每个点的深度(指从上而下目前得不下降长度),对于每一行的点,从左至右,求出该点在深度最大的情况下的左右宽度,相乘则得出最大矩阵个数.#include<bits/stdc++.h>using namespace std;
原创
发布博客 2022.03.27 ·
211 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

杭电多校二

1001 I love cube一道数学题吧,其实比赛的时候没太看懂题,n=3,实在数不出72个等边三角形,n=4有288个,n每加一,多出n^3*8个等边三角形,这道题的规律就是对于n个结点的正立方体,1~n-1个(n-i)*8相加#include<bits/stdc++.h>using namespace std;typedef long long ll;const int mod = 1e9+7;ll n;ll ans;int main(){ int t; c
原创
发布博客 2022.03.27 ·
172 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

杭电多校三

1007 Photoshop Layers比赛的时候想着模拟,tle了,想到m[i]为1则前面无论如何都变成当前的数,结果还是tle了,最后修修整整也没想到正解,正解其实就是因为从m[i]为1从后再将每个数相加和255比较,所以提前处理,将所有的数先加起来,到每求一个区间再相减,就不想每次都再算,大大降低复杂度,还有一个就是%X十六进制的这个,比赛的时候字符串转数字再转字符串太麻烦了,也是没想到这个,学到了.下次有十六进制数的时候考虑一下这个.#include<bits/stdc++.h>
原创
发布博客 2022.03.27 ·
1028 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

杭电多校四

Calculus试了很多很多次,高数还是忘光了,没想到全部都是收敛的,知道这个就简单了#include<bits/stdc++.h>using namespace std;#define int long longstring split="+";string s[100];int pos,k;signed main() { int t; scanf("%lld",&t); while(t--) { string strs; cin>>strs
原创
发布博客 2022.03.27 ·
76 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

逆序对(树状数组实现)

树状数组求逆序对#include<bits/stdc++.h>using namespace std;#define int long longint n,m;int c[500005],a[500005]; vector<int> all;int lowbit(int x){ return x&(-x);}void updata(int i,int v){ while(i<=n){ c[i]+=v; i+=lowbit(i); }
原创
发布博客 2021.10.02 ·
117 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

树状数组板子

树状数组的俩个板子1.单点更新-区间查询#include<bits/stdc++.h>using namespace std;#define int long longint n,m;int c[500005],a[500005]; int lowbit(int x){ return x&(-x);}void updata(int i,int v){ while(i<=n){ c[i]+=v; i+=lowbit(i); }}int ge
原创
发布博客 2021.10.02 ·
148 阅读 ·
2 点赞 ·
0 评论 ·
0 收藏

P7167 [eJOI 2020 Day1] Fountain(单调栈+倍增)

P7167 [eJOI 2020 Day1] Fountain题目描述:对于一个喷泉,它有n层,每层有di的直径和ci的容量,对于m次查询,从index开始,总量有sum,问最后能流到哪一层,直径大的只能流向下一次直径比他大的或者水池.思路:先利用单调栈找到每一个圆盘能流向的下一个圆盘,通过倍增的想法存储当前圆盘流向的第二个圆盘,第四个,第八个…然后就能找到这一条流向的路,建一个二维数组保存倍增的区间和,然后对于每一次查询模拟即可#include<bits/stdc++.h>usin
原创
发布博客 2021.10.01 ·
408 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Codeforces Round #745 (Div. 2)(A~B)

A. CQXYM Count Permutations题目描述:对于给定的一个n,长度为2n的序列,值包含[1,2n]中的每一个,对于i,a(i+1)>a(i)为符合条件的点,问形成不少于n个这样点的序列有多少种排列方案思路:严格来说不能算题解,因为我是猜的,a(i+1)>a(i)与a(i)<a(i+1)其实可能性是一样的,找到一个长度至少为n,然后看的note,觉得就是累乘的一半,给的样例也足够的大,方便测试方法的更行性,直接上手敲,不过得注意取余,假如105/2对100取余,如
原创
发布博客 2021.10.01 ·
110 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Codeforces Round #744 (Div. 3)(A-E2)

首先,庆祝自己上了绿名A. Casimir’s String Solitaire题目描述:一个字符串包括A,B,C三种字符,有俩种操作可以选择1.删除一个A和一个B2.删除一个B和一个C问最后能不能将这个字符串清空思路:统计A,B,C的数量为a,b,c,b=a+c则YES,否则NO#include<bits/stdc++.h>using namespace std;#define int long longsigned main(){ int t; cin>
原创
发布博客 2021.10.01 ·
267 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

P1428 小鱼比可爱(树状数组)

P1428 小鱼比可爱题目描述:给定一个序列的????,对于每条????打印前面有多少????比它丑思路:这道题本来是一道入门水题的,因为数据量小,数据量大的话可以用树状数组写对于输入的数据将它存在数组 中,因为存在0的情况,而树状数组下标从1开始,a[1],a[2],a[3]…代表前面0,1,2出现的次数,如果该点等于x的话,则之前[1,x-1]出现的次数为该题的答案.这个可以用树状数组的区间和函数在O(logn)时间上完成,然后更新该值出现的次数,这个时间复杂度也是O(logn)#inclu
原创
发布博客 2021.09.30 ·
225 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

P2251 质量检测(ST表)

P2251 质量检测题目描述:对于n个零件,依次打印[1,m]-[n-m+1,n]的最小值思路:#include<bits/stdc++.h>using namespace std;#define int long longint f[100005][20];int a[100005];void init(int a[],int n){for(int i=1;i<=n;i++)f[i][0]=a[i]; for(int j=1;1<<j<=n;j++
原创
发布博客 2021.09.30 ·
130 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

P3865 【模板】ST 表

P3865 【模板】ST 表模板题,话不多说,之间贴代码#include<bits/stdc++.h>using namespace std;#define int long longint f[100005][20];int a[100005];void init(int a[],int n){ for(int i=1;i<=n;i++)f[i][0]=a[i]; for(int j=1;1<<j<=n;j++){ for(int i=1;i+
原创
发布博客 2021.09.30 ·
78 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

P7333 [JRKSJ R1] JFCA(st表+单调栈+二分)

P7333 [JRKSJ R1] JFCA这种区间找最近点我首先考虑使用单调栈/单调队列,因为ai与bi在不同的位置,想了一下感觉行不通,可以用st表存储ai的最大值,通过二分查找找到第一个大于所求的点下标,因为是一个环,我将数组复制三份(后面想想感觉原数组前面存储数组的后半部分,原数组后面再多存储数组的前半部分就行了吧),通过找到左边第一个和右边第一个符合条件的点,再比较一下,就可以得出该点的答案.#include<bits/stdc++.h>using namespace std;
原创
发布博客 2021.09.30 ·
234 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

leecode42. 接雨水(单调栈+前缀和)

leecode42. 接雨水题目描述:给n个高度不同的柱子(可为0),求能积水的容量思路:如果俩个稍高的柱子中有一个比它们俩低的柱子,则能积水,积水的容量为最低的柱子高度-当前的柱子高度,观察样例,发现对于当前的点找到右边第一个比它高或者等于它的点,这个时候可以得出这一区间的容量,通过单调栈可以找到右边第一个比它高或者等于它的点,通过前缀和可以得出这一区间的高度和,然后进而得出这一区间的积水量.麻烦的是找到一个最高点后,后面没有比它小或者等于它的数,所以又从n为起点来一次,算它们之间区间的积水量cla
原创
发布博客 2021.09.29 ·
146 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

leecode739. 每日温度(单调栈模板)

每日温度单调栈模板题,没啥说的,本来不想写,还是养成一题一题解的习惯吧class Solution {public: vector<int> dailyTemperatures(vector<int>& temperatures) { stack<int> sx; vector<int> ans(temperatures.size(),0); for(int i=0;i<temp.
原创
发布博客 2021.09.28 ·
95 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

java集合

java集合的概念:对象的容器,定义了对对象进行操作的常用方法.java集合不同于数组的是:数组的长度固定,而集合不固定,数组可以存储基本类型和引用类型,而集合只能存储引用类型.提到这个,就回忆一下基本类型和引用类型.集合想存储基本类型的时候可以进行装箱操作.基本类型:整数类型:long,int,short,byte浮点类型:float,double字符类型:char布尔类型:boolean引用类型:引用类型非常的多,大致包括:类,接口类,数组,枚举类型,注解类型,字符串型,总之非基本类型
原创
发布博客 2021.09.28 ·
80 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

P2422 良好的感觉(单调栈+前缀和)

P2422 良好的感觉题目描述:对于给定的序列,找到区间和与区间最小值乘积最大的区间思路:对于一个点作为最小点的话,覆盖它的区间越大则所求值越大,解决方案就是枚举每一个点作为最小值点,扩大区间,使得区间和最大,可以通过单调栈找到该点的左边界和右边界,前缀和得出该区间的区间和.#include<bits/stdc++.h>using namespace std;#define int long longint a[100005],sums[100005],lefts[10000
原创
发布博客 2021.09.28 ·
242 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

P1725 琪露诺(单调队列优化dp)

P1725 琪露诺题目描述:n+1个格子,从0开始,从当前位置可以跳到[i+l,i+r]位置,每个位置有冰冻指数,问达到n之后的位置可以得到最大的冰冻指数是多少思路:写过类似的题,考虑用dp,设j属于区间[i-r,i-l] dp[i]=max(a[i]+dp[j],dp[i]),但题目数据过大n*(r-l)有t的可能,然后发现这个递推式其实就是在[i-l,i-r]区间内找到一个最大的值,这个可以使用单调队列维护#include<bits/stdc++.h>using namespa
原创
发布博客 2021.09.28 ·
255 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏
加载更多