自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(34)
  • 收藏
  • 关注

原创 【手写线程池】Java 语言手写线程池

【代码】【手写线程池】Java 语言手写线程池。

2022-08-30 08:50:52 351 1

原创 【手写并发容器】C语言实现 Concurrent HashMap

【手写并发容器】C语言实现 Concurrent HashMap

2022-08-14 00:36:35 768

原创 C语言pthread 读写锁 自旋锁 效率比较 代码

读写锁在大量读操作(远大于写),且每次读时间开销很大的时候,效率很高。读写锁的读锁效率低于自旋锁。写锁效率远远低于自旋锁。如果不存在这种场景,自旋锁的效率是极高的。

2022-08-12 17:14:38 659

原创 【C语言手写并发容器】concurrent_vector & concurrent_queue

只是用 C 自己写了大家都懂的一些机制。自动扩容,支持并发访问。提供了如下的操作方法。

2022-08-12 17:10:11 222

原创 co_fun 社区提供 微软秋招笔试 8.6 题解

微软8.6 笔试题题解 附代码

2022-08-07 01:02:28 1403 9

原创 co_fun 校招算法 五月活动 5.9-5.11

说明:本文为co_fun算法集训活动参考答案,有兴趣参与co_fun算法集训的同学可以关注b站 “co_fun算法内推社区” 获得群号。co_fun算法集训活动,针对算法基础一般的同学,从常见考点开始训练,每日三道题,会有讲解。三个月攻坚大厂笔试面试算法题。2022.5.9-1思路:可以知道问题等价于最短路问题,bfs即可。#include<bits/stdc++.h>#define int long long#define MAXN 2000005using namespace s

2022-05-12 13:13:06 200

原创 co_fun 校招算法 五月活动 标程 5.5-5.7

说明:本文为co_fun算法集训活动参考答案,有兴趣参与co_fun算法集训的同学可以关注b站 “co_fun算法内推社区” 获得群号。co_fun算法集训活动,针对算法基础一般的同学,从常见考点开始训练,每日三道题,会有讲解。三个月攻坚大厂笔试面试算法题。2022.5.5-1思路:贪心,对于报出x的兔子来说,可以把x+1个组成一组,有不足x+1个的就补齐。#include<bits/stdc++.h>#define int long long#define MAXN 2000005

2022-05-07 21:37:24 433

原创 co_fun 力扣算法集训基础题单 标程 4.14-4.15

说明:本文为co_fun算法集训活动参考答案,有兴趣参与co_fun算法集训的同学可以关注b站 “co_fun算法内推社区” 获得群号。co_fun算法集训活动,针对算法基础一般的同学,从常见考点开始训练,每日三道题,会有讲解。三个月攻坚大厂笔试面试算法题。2022.4.14-1#include <iostream>#define int long long#define MAXN 200005using namespace std;char mp[105][205];int dp

2022-04-19 22:21:47 404

原创 co_fun 力扣算法集训基础题单 标程 4.11-4.13

说明:本文为co_fun算法集训活动参考答案,有兴趣参与co_fun算法集训的同学可以关注b站 “co_fun算法内推社区” 获得群号。co_fun算法集训活动,针对算法基础一般的同学,从常见考点开始训练,每日三道题,会有讲解。三个月攻坚大厂笔试面试算法题。2022.4.11-1#include<bits/stdc++.h>#define int long long#define MAXN 2000005using namespace std;signed main(){

2022-04-15 19:52:40 765

原创 co_fun 力扣算法集训基础题单 标程 4.8-4.10

说明:本文为co_fun算法集训活动参考答案,有兴趣参与co_fun算法集训的同学可以关注b站 “co_fun算法内推社区” 获得群号。co_fun算法集训活动,针对算法基础一般的同学,从常见考点开始训练,每日三道题,会有讲解。三个月攻坚大厂笔试面试算法题。2022.4.8-1#include<bits/stdc++.h>#define int long longusing namespace std;int gcd(int a,int b){ if(b==0)return

2022-04-11 22:57:09 499

原创 co_fun 力扣算法集训基础题单 标程 4.5-4.7

说明:本文为co_fun算法集训活动参考答案,有兴趣参与co_fun算法集训的同学可以关注b站 “co_fun算法内推社区” 获得群号。co_fun算法集训活动,针对算法基础一般的同学,从常见考点开始训练,每日三道题,会有讲解。三个月攻坚大厂笔试面试算法题。2022.4.5-1#include<bits/stdc++.h>#define int long long#define MAXN 200005using namespace std;vector<int> edge

2022-04-07 22:34:13 890

原创 co_fun 力扣算法集训基础题单 标程 4.3-4.4

说明:本文为co_fun算法集训活动参考答案,有兴趣参与co_fun算法集训的同学可以关注b站 “co_fun算法内推社区” 获得群号。co_fun算法集训活动,针对算法基础一般的同学,从常见考点开始训练,每日三道题,会有讲解。三个月攻坚大厂笔试面试算法题。2022.4.3-1#include<bits/stdc++.h>#define int long long#define MAXN 1000005using namespace std;int dp[1005][1005];i

2022-04-07 10:28:22 1227

原创 微软 苏州STCA 2022暑期实习生 平行面+终面 面经

先介绍一下微软比较看重的能力这些部分是我在和一起参与面试的人沟通的时候了解到的,和大家做个分享,希望能帮助到各位。代码能力这个不用多说,代码能力越强越好。沟通能力这个点是很重要但是很容易被人忽略的一个点(包括我)。在和面试官交流的时候一定要自然主动的去做沟通,尤其是在做题的时候,要把自己的思路去展现出来。遇到不会做的题可以和面试官交流,面试官会给提示,注意一定要get到他的点,get不到的话可能就得凉凉。快速学习能力学历并不是最重要的东西,学历只能保证你能有面试机会,微软比较看重你的快速学习能

2022-01-26 11:09:24 2811 1

原创 牛客多校第九场 Eyjafjalla 树上问题 倍增 dfs序上建点权可持久化线段树

序这一场是我们学校出的,结果出的非常残暴,第二题就比较复杂。第一题是个签到,我去写了,让队友去看了第二题。第一题签了半个多小时终于一次a了,然后去问队友第二题。听懂题意以后,我说了句:诶,我感觉这个题是不是可以用可持久化。队友:???如果熟悉可持久化数据结构,这题其实就是一个sb题,不过我们三个都没怎么接触过可持久化,所以一次AC还是挺激动的。题意给你一棵树,每个点都有一个点权,而且父亲的点权大于他任意儿子的点权。让你从一个点开始走,要求只能走到点权在 l,r 范围内的点,问你能走到一共多少个点。有

2021-08-21 09:20:34 147

原创 template

Template for XCPC文章目录Template for XCPC图论链式前向星DijkstraSPFAFloyd拓扑排序Tarjan2-SAT欧拉路 无向图LCA 倍增Kruskal树的重心树链剖分 LCA树上启发式合并 CF600EDinicMCMFHungarian数据结构ST表树状数组(单点修改区间查询)线段树(lazy)DSU主席树字典树字符串KMPEX-KMPAC自动机数学快速幂欧拉定理、费马小定理除法取模线性筛欧拉函数筛法求欧拉函数矩阵扩展欧几里得龟速乘扩展中国剩余定理高斯消元卢卡

2021-07-28 23:32:40 148

原创 2020-2021年度第二届全国大学生算法设计与编程挑战赛 F题 大水题 线段树

每日一题 牛客基础 第六场 动态最小生成树 最小生成树 线段树如题所示,这是一道大水题,因为写过的线段树实在是太少了,所以来水一篇如题所示,这是一道大水题,因为写过的线段树实在是太少了,所以来水一篇思路还是挺简单的。首先开一棵线段树记录电影的总和,问题是怎么去掉包含x的所有区间的值。那其实我只需要再开一棵线段树,每次遇到一个区间的时候,记录一下删去其中一个元素的时候需要减去的值,即是整个区间的长度乘以对这个区间的值。最后用第一棵线段数1到n的总和减去第二棵线段树x的值就是答案了。上代码#inclu

2021-06-07 10:53:53 277

原创 Android开发——自定义炫酷PickerView惯性滚动魔改

Android开发——自定义炫酷PickerView快速滚动魔改最近由于课内压力的增加和安卓课设项目,由于从来没有做过开发。故没有怎么刷acm题,基本上学校要训练也就去水一波,程序设计相关内容也鸽了。这个魔改是基于别人的博客。魔改的原因是,他的动画做的不错,但是在滚动的时候没有惯性滚动的效果,即手指快速滑动之后,滑轮能继续按照惯性滑动一段距离。在强迫症的压迫之下,我实在无法接受这一不太让人舒适的操作,就开始自己研究他的代码,并自己魔改 UI 绘制操作,并进行了一部分的封装,使得这个代码的使用更加简便,也

2021-05-13 00:01:18 599 1

原创 每日一题 牛客基础 第六场 动态最小生成树 最小生成树 线段树

每日一题 牛客基础 第六场 动态最小生成树 最小生成树 线段树好妙的一题啊,自己是不太能想出来的,其中有几个点。第一个是,区间查询,那应该想到线段树,线段树的每个区间里面存这个区间的边能构成的最小生成树,当然不一定是一颗完整联通的树。然后就是区间合并的问题了,怎么把两个子区间合并成一个大区间呢,其实就是把两个子区间各自存下来的边放在一起,再跑一遍最小生成树,把边存下来。在合并的时候有个技巧,因为两个子区间存下来的边都是从小到大排好序的,那大区间把这些边加进来的时候可以用归并排序的方式,设两个指针,每

2021-02-25 11:39:47 214

原创 每日一题 P3092 [USACO13NOV]No Change G 状态压缩+二分

每日一题 P3092 [USACO13NOV]No Change G 状态压缩+二分这是一道和 [P3694 邦邦的大合唱站队] 非常相似的蓝色题目,前面一题刚开始不太会做,看了题解开导思路,这道题自己独立做出来了。dp[i]的下标i代表已经用了的硬币,值代表买到的最后一样东西。转移方程就是枚举比i中少一个1的状态转移到i状态,在那个状态的值往后二分搜出当前硬币能往后买到的最后面的物品编号,然后取最大值。当当前的状态可以买到所有物品后,更新答案ans。ans就是没有取的硬币的和。#include &l

2021-02-19 13:45:25 273

原创 每日一题 P1220 关路灯 区间dp

每日一题 P1220 关路灯 区间dp一道蓝题,上手给他秒了,不过我的做法不是正解,正解是三维dp,我写了个四维的。不管了,AC就行。dp[i][j][k][l]代表i到j区间内到时间点k的时候站在左端或者右端的消耗的最小值(只考虑i到j这段区间内的消耗)。#include <bits/stdc++.h>#define int long long#define endl "\n"#define MAXN 1005using namespace std;int n,c;int d

2021-02-18 13:02:46 124

原创 每日一题 P2656 采蘑菇 强连通缩点 树形dp

每日一题 P2656 采蘑菇 强连通缩点 树形dp蓝题,思路不算很难,题意可知强连通块上每条边的值都可一压榨干净,其他边最多走一次。因此先缩点,连通块内所有边的值先算出来,然后再重新构图,这时候是个无环图,跑一边动态规划输出最大值即可。#include <bits/stdc++.h>#define int long long#define endl "\n"#define MAXN 1000005using namespace std;struct EDGE{ int t

2021-02-18 10:48:38 162

原创 每日一题 P2585 [ZJOI2006]三色二叉树 树形dp

每日一题 P2585 [ZJOI2006]三色二叉树 树形dp思路挺简单的一道蓝色题目,枚举当前点的颜色与儿子颜色做转移其实可以直接在字符串上dfs,但是怕麻烦出错还是把他先按照常规建成了我熟悉的图 代码如下#include <bits/stdc++.h>#define int long long#define endl "\n"#define MAXN 1000005using namespace std;struct EDGE{ int to,next;} edg

2021-02-18 00:41:48 105 1

原创 每日一题 P1273 有线电视网 树上分组背包

每日一题 P1273 有线电视网 树上分组背包蓝色题,挣扎了一下写出来了dp[i][j]表示i节点选择j个用户的收益最大值最后求一下根节点收益不小于0的最大用户数量即可#include <bits/stdc++.h>#define MAXN 600005#define int long long#define endl "\n"using namespace std;struct EDGE{ int to,next,w;}edge[MAXN];int head[M

2021-02-17 22:29:12 85

原创 每日一题 P2680 [NOIP2015 提高组] 运输计划 LCA 树上差分 二分答案

每日一题 P2680 [NOIP2015 提高组] 运输计划 LCA 树上差分 二分答案紫题不愧是紫题,有一定难度。想到了二分答案但是没想清楚check函数怎么写。学到一点:用树上差分可以O(N)找出树上一些链的公共边,这样就比较好check了。代码写的比较垃圾,常数巨大。#include <bits/stdc++.h>#define MAXN 600005using namespace std;struct EDGE{ int to,next,w;} edge[MAXN]

2021-02-15 16:55:55 75

原创 每日一题 P6869 [COCI2019-2020#5] Putovanje 树上差分

P6869 [COCI2019-2020#5] Putovanje 树上差分树上差分的模板题,写的时候第二遍dfs写错了,wa了好多好多次5555#include <bits/stdc++.h>#define MAXN 500005#define int long longusing namespace std;struct EDGE{ int to,next,c1,c2;} edge[MAXN];int head[MAXN],ptr;void add_edge(in

2021-02-15 15:06:28 333

原创 每日一题 P3128 [USACO15DEC]Max Flow P LCA倍增 lazy离线处理做法

每日一题 P3128 [USACO15DEC]Max Flow P LCA倍增 lazy离线处理又是一道树上倍增的绿题,思路依旧很简单。常规的求倍增lca就不说了,主要是每条路径上面所有的点的值都需要+1。倍增每次网上跳一段距离,这边我们借用lazy tag的思想,每次lca向上跳的时候把跳的那一段做一个标记,最后询问的时候统一下放到每个点,更新的方式和预处理倍增差不多,只不过反过来进行操作了,具体见代码。这样就可以在nlogn的时间内得到答案。#include <bits/stdc++.h&g

2021-02-15 12:26:46 144

原创 每日一题 P1967 [NOIP2013 提高组] 货车运输 最大生成树 LCA倍增

每日一题 P1967 [NOIP2013 提高组] 货车运输 最大生成树 LCA倍增这道题虽然是蓝色题,但是其实不难想,代码量有点大。debug了很久,还是wa,最后发现又是小错误。先用DSU+Kruskal跑最大生成树,然后用LCA倍增的方式,处理出一个点网上2^i步的点和这两个点之间所有边的最小值,然后就可以很方便的改改倍增的板子来求解了。对板子的熟悉程度不够,导致了一些小bug,最后是对着别人代码看找出来的问题。#include <bits/stdc++.h>#define MA

2021-02-14 19:58:55 136

原创 每日一题 P1351 [NOIP2014 提高组] 联合权值 树上问题

P1351 [NOIP2014 提高组] 联合权值 树上问题 每天都得做做水题拿点ac才有动力写下去。看到这题是绿题,马上上手给他秒了,不过因为写错一个变量还wa了一发。思路很简单,每个点能构成联合权值的,只有他的兄弟和他的爷爷。因此只要跑一遍dfs就可以计算出来。数组的含义 :son一个节点的儿子的和 smax 一个节点的儿子的最大值。因为算联合权值的时候两个节点(a,b)互换一下位置(b,a)也应该算在答案内,所以最后ans我们需要给他*2。#include <iostream>

2021-02-14 17:27:43 179

原创 每日一题 POJ 2486 树形dp 树上背包

POJ 2486 树形dp 树上背包代码并不难写,关键是要想清楚。树形dp的第一个比较完整写完的题,是比较经典的题,来纪念一下。一开始没想清楚是因为对背包问题的滚动数组优化的理解不够,自然在树上的问题也没思考清楚。同时因为每个case过后忘记清零,导致re了一发,以后需要注意。//AC代码 耗时188MS#include <iostream>#include<cstring>#define MAXN 205using namespace std;struct EDG

2021-02-13 20:03:33 154

原创 Codeforces 成长之路 Educational Codeforces Round 100 (Rated for Div. 2) 题解

@[TOC](Codeforces 成长之路 Educational Codeforces Round 100 (Rated for Div. 2) 题解)比赛地址https://codeforces.ml/contest/1463A. Dungeon题目大意给你a、b、c三个数,你每次操作可以选择其中一个数减去1,每逢7的倍数次操作,三个数都减去1。问是否可以在某一轮三个数同时变成零。解题思路要让最后一次是三个数同时减1,那么总次数一定是7的倍数,每一轮7次一共减去的值是9,先判断三个数的总

2020-12-18 16:05:57 393

原创 Codeforces 成长之路 #689 div2 题解

Codeforces 成长之路 #679 div2 题解比赛地址A. String Generation题目大意解题思路AC代码B. A New Technique题目大意解题思路AC代码C. Random Events题目大意解题思路AC代码D. Divide and Summarize题目大意解题思路AC代码比赛地址https://codeforces.ml/contest/1461A. String Generation题目大意输出一个只能由小写字母a、b、c组成的长度为n且最长子回文串长度

2020-12-12 18:05:58 1156 5

原创 Codeforces 成长之路 #679 div2 题解

Codeforces 成长之路 #679 div2 题解比赛地址A. Finding Sasuke题目大意解题思路AC代码B. A New Technique题目大意解题思路AC代码C. Perform Easily题目大意解题思路AC代码D. Shurikens题目大意解题思路AC代码比赛地址https://codeforces.ml/contest/1435A. Finding Sasuke题目大意给你一个向量(a1,a2,…,an) ,n为偶数,让你找出一个向量b,使得他们的内积为零。解题

2020-11-11 12:24:31 234

原创 Codeforces 成长之路 Educational Codeforces Round 97 题解

Codeforces 成长之路 Educational Codeforces Round 97 题解比赛地址A. Marketing Scheme题目大意解题思路AC代码B. Reverse Binary Strings题目大意解题思路AC代码C. Chef Monocarp题目大意解题思路AC代码D. Minimal Height Tree题目大意解题思路AC代码比赛地址https://codeforces.ml/contest/1437A. Marketing Scheme题目大意某种商品可以

2020-11-11 00:55:06 219

原创 codeforces 成长之路 #668 div2 题解

#668 div2A. Permutation Forgery题目大意解题思路AC代码B. Array Cancellation题目大意如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入A. Permutation Forgeryhttps://codeforces.ml

2020-11-10 22:07:37 224

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除