自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(227)
  • 资源 (1)
  • 收藏
  • 关注

原创 ACM个人模板总结

目录前言数论逆元图论并查集数据结构前言总结一些极其常用的模板,比赛前打印。慢慢总结,不着急。数论逆元//递归版本int inv(int x) { return (x == 1) ? 1 : (mod - mod / x) * inv(mod % x) % mod; }//数组版本(线性)inv[1] = 1;for (int i = 2; i <= n; i++) inv[i] = (mod - mod / i) * inv[mod % i] % mod;图论并查集数据

2021-08-16 19:54:52 389

原创 DP总结全(从基础到提高)

目录前言:刷过的题/专题:1.“kuangbin带你飞”专题计划——专题十二:基础DP12.“kuangbin带你飞”专题计划——专题十五 数位DP3.基础知识:一、背包DP参考资料:1.01背包2.完全背包3.多重背包4.混合背包5.二维费用背包6.分组背包7.泛化物品的背包8.有依赖的背包9.杂项一些DP经典经典例题1.将一个数组变成 严格&不严格,不递增&不递减 的数组的最小代价2.矩形中求最大的对称正方形3.最长上升子序列4.最长公共子序列5.双端队列带权取数+区间DP前言:感

2021-07-16 11:10:58 764 2

原创 JVM编译器与解释器

尽管并不是所有的Java虚拟机都采用解释器与编译器并存的运行架构,但目前主流的商用Java虚拟机,譬如HotSpot、OpenJ9等,内部都同时包含解释器与编译器。

2022-05-29 20:25:15 297 1

原创 泛型与类型参数

泛型:JDK1.5定义了泛型,即参数化类型,将类型参数应用到不同的类、接口、方法中,将类型作为参数进行传递,在使用时传入具体类型。使程序具有更好的可读性和安全性。另外泛型值存在于编码编译阶段,在进入JVM前,与泛型有关的信息都会被擦除掉,JVM中所有对象都是普通对象。

2022-05-23 20:03:04 550

原创 volatile相关

volatile,Java的一种同步机制,主要特性:保证了可见性、禁止指令重排序(保证了有序性)。是比synchronized更轻量的一种同步机制。

2022-05-22 10:25:15 221

原创 JVM针对synchronized进行锁优化

JVM针对synchronized进行锁优化,包含自旋锁、自适应自旋锁、锁消除、锁粗化、偏向锁、轻量级锁。

2022-05-21 22:48:32 331

原创 CPU缓存一致性相关

操作系统中的CPU缓存一致性问题,另外有伪共享问题。CPU缓存一致性还是Java并发中volatile实现的基础。

2022-05-21 14:41:46 292

原创 个人模板总结

目录前言黑科技缺省源暴力的艺术bitset用法合集应用举例(与埃氏筛结合)vector图论最短路dijkstraSPFA(放入队列中的同时vis[s]=1,取出的同时vis[now]=0,更新所有可以更新的,更新的时候放入所有能放入的即vis[x]=0的x)Floyd最短路径树(应用)最短路径树计数模板(最短路径数计数模板题):去掉途中一条边之后最短路径树大小(dis之和)是否有变化暂时就以上两个应用吧,毕竟自己没遇到过最短路计数模板分层图最短路(用分层图的几种情况)用分层图的几种情况例题1:小雨坐地铁题目

2021-11-13 13:03:13 1070 2

原创 ACM基础&黑科技

目录缺省源暴力的艺术前言题目题目1(n层完全二叉树求距离为D的点对数量&暴力枚举点对的LCA)题目2:尺取^异或值为0的区间(记录异或前缀和相同的位置即可)&一种思路:记录相同xx值(比如前缀)的位置(优雅暴力)题目3(cf*2100,与题目4要求完全相反,题目4cf*2200更难):给定n≤5e5n\le 5e5n≤5e5条线段[x,y][x,y][x,y],求有相交部分但一个线段不被另一个线段完全包含的线段对数(两个约束,当一个约束同时满足时,可二分等更复杂度极低的方法处理另一个约束)题

2021-11-13 12:39:54 552

原创 数论基础总结

目录前言参考博客专题训练素数筛埃氏筛(拓展性很强)欧拉筛(线性筛)欧拉函数欧拉函数的定义欧拉函数的一些性质欧拉函数模板(单个&线性)欧拉定理扩展欧拉定理欧拉常数(貌似和欧拉函数没多大关系来着??)唯一分解定理应用1:求所有因数的个数应用2:求所有因数之和应用3:求LCM/GCD扩展欧几里得算法模板:拓展欧几里得&拓展欧几里得求逆元洛谷P1516 青蛙的约会(数论同余、扩欧)(现在我们只需要关注ax+by+c=0怎么解得x,y即可!!!)乘法逆元(3种方法)!!!一个数a与模数mod互质的时候

2021-11-13 12:08:25 539

原创 网络流基础知识学习(初级)

目录前言一、网络流基础概念二、网络流中的常见问题(最大流,最小割,费用流)三、最大流:Ford-Fulkerson 增广路算法:该方法通过寻找增广路来更新最大流,有 EK,dinic,SAP,ISAP 主流算法Edmond-Karp 动能算法(EK 算法)矩阵实现模板链式前向星实现模板Dinic算法Dinic模板(应该是最长用到到的,比ISAP慢不了多少)ISAPISAP模板(终于进入正题了?&比Dinic快的板子)& HLPP(Push-Relabel 预流推进算法)四、最小割[UVA16

2021-11-12 15:18:02 1084

原创 最小生成树复习&总结

目录前言一、前置知识——并查集模板拓展维护并查集大小:简单的很,在merge的时候操作就ok了按秩优化:虽然没啥用,但最好知道原理二、基础算法1.克鲁斯卡尔:加n-1条边2.prim:加n-1个点(不算第一个点)3.Boruvka算法(结合prim与克鲁斯卡尔)三、最小生成森林四、判断最小生成树的唯一性解决方法1:求非严格次小生成树看是否和最小生成树相等,如果不相等那么就唯一解决方法2:如果在选一个点加进来的时候,有两条及以上的路径可以选择,那么这个最小生成树就就是不唯一的五、瓶颈生成树六、次小生成树(严格

2021-11-12 14:19:30 577

原创 数据结构总结

目录前言线段树前言碎碎念算法基本思想模板(基于区间和修改&区间和查询)模板题区间乘修改+单点查询区间加修改&维护区间最小值二维线段树&区间加&区间最小值&前缀和与差分线段树维护区间GCD&单点修改&区间查询前言acm快退了,把写过的模板总结整理一下。线段树前言碎碎念之前学了一些东西,笔记写的还挺认真,可惜放在了电脑桌面上(基本不可能翻的那种,而且很多还给删了)emm。慢慢总结回来吧,竟然错在了这里:pushdown里面没有更新tag

2021-11-12 10:56:37 711

原创 最短路与环学习&总结

目录前言单源最短路dijkstra算法堆优化模板(时间复杂度O(mlog⁡m)O(m\log m)O(mlogm))(找最小的dis以及其下标)SPFA模板(放入队列中的同时vis[s]=1,取出的同时vis[now]=0,更新所有可以更新的,更新的时候放入所有能放入的即vis[x]=0的x)全源最短路Floyd模板(无脑三重循环)三、传递闭包模板四、最短路径树(应用)最短路径树计数模板(最短路计数模板题):去掉途中一条边之后最短路径树大小(dis之和)是否有变化暂时就以上两个应用吧,毕竟自己没遇到过五、最

2021-10-22 13:21:58 393

原创 CF-div2-SB-AB题(是我SB,简单题都能被卡)

目录前言题目题目1:求能满足式子∑i=1x(−1)y∗i=a\sum_{i=1}^{x}(-1)^y*i=a∑i=1x​(−1)y∗i=a,且yyy为0或1的xxx的最小值。(首先全取y=0y=0y=0满足∑i=1x≥a\sum_{i=1}^x \ge a∑i=1x​≥a,然后每次可以-2,-4,...,-2*x。即满足两个条件即可:x∗(x+1)/2≥a,x∗(x+1)/2−a为偶数x*(x+1)/2 \ge a,x*(x+1)/2-a为偶数x∗(x+1)/2≥a,x∗(x+1)/2−a为偶数)前言

2021-10-08 12:28:48 91

原创 【树的欧拉序列应用】学习&总结

目录前言前言参考博客:oi-wiki

2021-10-06 19:41:55 217

原创 缺省源(没必要为了适应xcpc而用devc++)

/*2021.10.01*/#include <bits/stdc++.h>#define pii pair<int, int>#define x first#define y second#define dbg(x) cout << #x << "===" << x << endl;#define T_void \ template <class T> \ voidT_void

2021-10-01 00:26:14 279

原创 STL进阶学习&总结

前言把所有学的知识都总结在那几个大类为主体的博客里面。STL进阶fill(v.begin(),v.end(),val):将v内所有值赋为val,至于复杂度,应该是O(n)的。

2021-09-30 14:19:17 110

原创 暴力&DFS&BFS的艺术(学习总结全)

目录前言题目题目1(n层完全二叉树求距离为D的点对数量&暴力枚举点对的LCA)前言所有学过的东西总结在一个博客里面吧。精简!没啥好总结的基础知识,就总结一些类型的题目吧。题目题目1(n层完全二叉树求距离为D的点对数量&暴力枚举点对的LCA)题目链接:E - Distance on Large Perfect Binary Tree 题意:给定一个n层的完全二叉树,求这棵树中距离为D的(i,j)点对数量 。2<=n<=1e6,1<=D<=2e6。

2021-09-28 18:49:56 154

原创 cf1574 D. The Strongest Build(BFS&STL)

题目链接:D. The Strongest Build题意:给定n<=10组数,每组数的数量为ci<=2e5,所有ci之和也<=2e5。每组数从前到后从小到大。有m个组合不能选择,求组合大小最大的能选择的组合。组合大小:下标对应的值的和。题解:首先应该知道是BFS,然后就是STL的问题了——vector可以自己比较大小 & struct不用都重构一下 & 优先队列没那么难。代码:/*题目链接:https://codeforces.com/

2021-09-23 16:53:04 195

原创 cf-gym103176 D. Drawing Circles(计算几何&精度&数学&优先队列)

题意(可以直接看代码部分,有题意翻译,os:有点简略)代码&题解啥的/*题目链接:https://codeforces.com/gym/103176/problem/D题意:最开始给两个大圆,按条件依次添加n<=3e5个圆,求每个圆的半径。 条件: 1. 所有圆(包括两个大圆)都必须与x轴相切。 2. 每次添加的圆(自然,除了两个大圆)都必须与之前的某两个圆相切而且所有圆都没有重合部分。 3. 每次添加所有满足条件的圆中半径最

2021-09-23 13:15:53 183

转载 莫比乌斯反演&整数分块

目录前言参考资料莫比乌斯反演预备知识:整数分块(感觉就是一个思想)总结莫比乌斯函数μ\muμ(数论函数也可以视作一个数列)总结莫比乌斯反演题目训练前言参考资料peng-ym-莫比乌斯反演莫比乌斯反演预备知识:整数分块(感觉就是一个思想)参考博客:peng-ym-整除分块总结一般形式:∑i=1n[n/i]\sum_{i=1}^{n}[n/i]∑i=1n​[n/i]过程:r=n/(n/l),然后不断枚举l,求得r,[l,r]部分的值是一样的,不必遍历,直接得到长度*数。复杂度:由

2021-09-17 14:51:49 187

原创 cf1562D2. Two Hundred Twenty One (hard version)(数学&思维)

收获题目D2. Two Hundred Twenty One (hard version)题意:给定一个只包含'+'和'-'且长度为nnn的字符串,qqq次查询,每次查询为[l,r],要求输出最少需要删除多少个数(删除的数立即合并,补上空隙)满足条件,同时输出删除的这几个数字的下标。sis_isi​为'+'时aia_iai​为1,为'-'时aia_iai​为-1。cans=∑i=lr(−1)iai=0cans=\sum_{i=l}^{r}(-1)^i a_i=0cans=∑i=lr​(−1)i

2021-09-17 11:21:17 97

原创 cf1566E. Buds Re-hanging(图论&dfs删除满足条件的点)

总结收获1. 这种有很多很多操作,求最终状态的问题:先通过一些操作把它转化为最最最基本的形式(不用考虑操作,只需要考虑它的**最基本的形式**)。2. dfs删除满足条件的点。==这个需要对树的结构有很清晰的认识,同时需要在赛场上的思维灰常清晰!!!==题目E. Buds Re-hanging题意:一棵树,树的芽满足以下条件,每次可以剪掉一棵芽(去掉芽和它的父亲中间的边)放在其他任意节点上,求任意次操作之后叶子节点的数目的最小值。芽的定义:不是根不是叶子节点所有节点均为叶子节点

2021-09-15 21:28:33 238

原创 FFT学习&总结(模板:见kuangbin)

目录前言题目题目1(模板题):[cf-gym-首尔icpc-H](https://codeforces.com/gym/102920/problem/H)前言zxy大佬给我讲了讲,冲一波吧。参考博客:【zxy大佬给我讲了一个模板题】题目题目1(模板题):cf-gym-首尔icpc-H题意:y=-1,0,1这条直线上分别有一些点,三条直线上各取一个点,在一条直线上的组合有多少。x维为整数,在[−3e4,3e4][-3e4,3e4][−3e4,3e4]范围内。题解:只看-1,1上

2021-09-13 21:49:25 123

原创 后缀自动机学习&总结

目录引入oi-wiki先了解算法(写的又好又全,就是有点难理解)其他通俗博文帮助小白理解(相对小白好理解一点)b站学算法:简单地理解后缀自动机 SAM(理解了很多东西&果然要视频与文献结合)遇到过的一些题目题目1:E. Rescue Niwen!(cf.div2.E.当场价值2750.83个人AC)引入oi-wiki先了解算法(写的又好又全,就是有点难理解)地址:OI Wiki后缀自动机 (SAM)其他通俗博文帮助小白理解(相对小白好理解一点)地址:史上最通俗的后缀自动机详解b站

2021-09-05 15:14:39 129

原创 atcoder.F-Make Pair(区间DP&括号匹配&排列组合&去重)

总结收获题目传送门题意:N表示人的个数为2*N,M表示不同的好朋友的对数。(N<=200)最开始2N个人排列成1,2,…,2N,每次操作可以去掉一对相邻的好朋友,中间空隙补上,求能把所有人都去掉的次数总和。两次不同:存在1≤i≤N1\le i\le N1≤i≤N,使得这两次在第 i 次操作去掉两个人不完全相同。题解:首先dp[i][j]表示取完区间i~j所有的数的不同操作顺序种数。很像括号匹配,所以就是区间DP,然后现在考虑怎么转移;在求区间[i,j]的时候,所有小的区间

2021-09-05 14:08:48 312

原创 F - Max Sum Counting(下标集合:max(ai)>=sum(bi)的集合个数&暴力&01背包)

题目F - Max Sum Counting 题意:求满足的集合S的个数,S为非空下标集合输入与限制:提示:对A进行排序,然后枚举i(防止重复的基本操作),得到前面的数能组成0~A[i]-B[i]的总个数(背包)。另外注意数据范围,保证了能暴力!!!代码:#include <bits/stdc++.h>// #define ll long long#define dbg(x) cout << #x << "===" << x

2021-08-30 10:29:14 193

原创 2021CCPC“网络”选拔赛第一场 F(思维题:x^2-(x+1)^2-(x+2)^2+(x+3)^2恒等于4)

提示:x2−(x+1)2−(x+2)2+(x+3)2≡4x^2-(x+1)^2-(x+2)^2+(x+3)^2 \equiv 4x2−(x+1)2−(x+2)2+(x+3)2≡4

2021-08-29 15:44:56 155

原创 2021CCPC“网络”选拔赛第一场 G题(暴力枚举g(x))

提示:暴力枚举g(x)

2021-08-29 14:27:53 89

原创 今后再也不花大时间补题了,真浪费时间——还是刷专题靠谱

题目1:数学?思维?反正现在都没看懂D2. Two Hundred Twenty One (hard version)上午划水看这题看了三个小时,终究不是我的菜,那就先去刷专题积累吧。刷专题!!!最高效

2021-08-27 14:07:08 83

原创 “kuangbin带你飞”专题计划——专题十六 KMP & 扩展KMP & Manacher

目录前言题目(kmp算法实际应该称为前缀函数算法)1. Number Sequence HDU - 1711 (KMP模板题:在另一个字符串中找一个字符串出现的位置)2. Oulipo HDU - 1686 (KMP模板题:求一个子串在另一个子串中出现的次数)3. 剪花布条 HDU - 2087 (KMP模板题:求另一个字符串中最多可以在剪出多少个该字符串)4. Cyclic Nacklace HDU - 3746 (前缀函数模板题:求字符串周期n-pi[n-1])5. Period HDU - 1358

2021-08-26 12:17:14 309

原创 字符串学习&总结(感觉主要是总结模板)

目录前言字符串hash(hash yyds)导读HASH模板(哈希&双哈希)hash应用(hash牛逼克拉斯):::::::::::::::0. 核心操作:求子串哈希值1. 字符串匹配2. 允许k次失配的字符串匹配3. 最长回文子串(hash操作简单,可解决的问题有点多啊!!!nice)4. 最长公共子字符串(m个总长不超过n的非空字符串的最长公共子串)5. 确定字符串中不同子字符串的数量hash实战题目1:E. Compress Words(合并字符串&合并的时候前后缀去重)前言大二

2021-08-25 11:42:22 1377

原创 牛客练习赛87.B-k小数查询(如果绝对思路没问题,请换种写法,换种更简单的写法)

总结&收获如果绝对思路没问题,请换种写法,换种更简单的写法。太久没写题了,手真的生疏emm题目传送门题意:注意a[]是一个排列题解:枚举pos前面<x的个数和后面<x的个数即可。os:当然需要提前处理一下数据。代码://如果绝对思路没问题,请换种写法,换种更简单的写法#include <bits/stdc++.h>#define int long long#define dbg(x) cout << #x <&lt

2021-08-21 10:41:33 71

原创 牛客练习赛87.C-牛老板(记忆化搜索&当前最优选择&贪心)

收获&总结抓住关键点:每次选择最优解。一击即中。题目传送门题意:题解:应该关注的点:每次选择最优的情况,而最优的情况一定在选择最大的6i6^i6i或者9i9^i9i中,然后我们记忆化搜索即可。os:其实好像记忆化搜索也没必要,这题数据很少。(不行,如果不记忆化的化很重复访问很多很多很多很多次)。代码:#include <bits/stdc++.h>#define int long long#define dbg(x) cout << #

2021-08-21 10:24:40 516 4

原创 树链剖分学习&总结

树链剖分性质&板子&一些板子题

2021-08-16 20:43:38 526

原创 cf1557-D. Ezzat and Grid(离散化&线段树&pair复杂度&很多数据结构的基本操作)

传送门题意:n*1e9的01阵,m条线段(i,l,r)表示第i行[l,r]都为1,线段可能重复。一个漂亮矩阵定义为任意连续两行都至少有一列在这两行中都为1,求最少删去多少列,能使剩下的矩阵为漂亮矩阵。题解:不难想到,遍历每一行,每一行的上面一行应该是行数最多的漂亮矩阵的最后一行,然后线段树维护即可(具体的看代码)2.1 离散化:用unique而不用map。2.2 pair<int,int>:能用就用,不用自己搞个结构体(大佬都在用pair),另外{x,y}似乎可以等价于make_pa

2021-08-11 11:38:59 212 2

原创 cf1557-C. Moamen and XOR(二进制,排列组合,pow)

传送门题意:给定n,k,求数组所有元素为非负数且<2^k,且满足条件的数组个数。题解:2.1 从高位到低位,分为平局和必胜,然后找规律。2.2 注意要分情况讨论emm,我大意的认为某一位都为1(更高位1的个数相等)的话一定胜利,要分奇偶讨论!2.3 pow(a,p,mod)和pow(a,p)为什么pow(2,200000)是错的???而pow(2,200000,mod)就是对的。不纠结,但是一定要注意!!!破案了,pow和内置函数冲突了,改成qpow(a,p)就没有一点点问题emm

2021-08-10 09:20:48 477

原创 2021牛客暑期多校训练营8-D.OR(二进制)

传送门题意:题解:2.1 二进制的题目应该首先思考二进制方法去做代码:#include <bits/stdc++.h>using namespace std;const int N = 1e5 + 5;long long n, b[N], c[N];long long ans;int main() { cin >> n; for (int i = 2; i <= n; i++) cin >> b[i]; for

2021-08-09 19:15:28 125

原创 刷题计划一:概率&期望&统计

前言不一定非要跟kuangbin大大的题单的,遇到想要学的东西,也可以自己去找题,去深入。洛谷题单官方题单8题:【数学2-3】概率与统计大佬题单:xzy的概率期望题单题目1.洛谷官方题单传送门:官方题单8题:【数学2-3】概率与统计1. P3802 小魔女帕琪P3802 小魔女帕琪2.P1297 [国家集训队]单选错位P1297 [国家集训队]单选错位3.P1654 OSU!P1654 OSU!4.P1850 [NOIP2016 提高组] 换教室P18

2021-08-01 17:04:45 183

数位dp——某次队内分享任务

好不容易做的,放在电脑中不小心删了咋整

2021-07-21

空空如也

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

TA关注的人

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