自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 ~小结论~

逆序对:1~n排列 奇数次交换任意2元素个数为奇,偶数次交换个数为偶;若 a%m=b%m 则(a-b)%m==0长度至少为 5 的序列包含长度为 3 的非递减或非递增子序列卡特兰数 f[i]=f[i-1](4i-2)/(i+1)默慈金数 f[i]=((2*i+1)f[i-1]+3(i-1)*f[i-2])/(i+2)绕点的旋转公式:(例题:atcode Opposite)圆心(xm,ym)x=(x0−xm)∗cos(a)−(y0−ym)∗sin(a)+xmy=(x0-xm)∗sin(a)+(

2021-08-02 23:10:31 309 1

原创 常用的排序算法

【代码】常用的排序算法。

2023-02-27 17:58:32 159 1

原创 一些网址。

c++多态智能指针

2023-02-27 17:55:36 170

原创 Linux gdb 多进程,多线程调试

gdb调试常用指令。

2023-02-25 13:06:32 549

原创 VMware 卡顿 ,关闭侧通道缓解

使用VMware 时打开终端,连接ssh等会卡顿,可能时打开了侧通道缓解。关闭虚拟机,设计选项,下图打勾。

2023-02-23 11:20:29 3128

原创 进程间通信方式

进程间通信

2023-01-19 14:30:40 62

原创 2022杭电多校第二场 Slayers Come

我们将所有区间按照右端点从小到大进行排序,依次扫描每个区间,考虑一个区间[l,r]对dp数组的贡献。n个位置,m个区间,求选出的区间能够重复覆盖[1,n]的方案数。设dp[i]表示恰好覆盖了区间[1,i]的方案数。预处理计算出每个爆炸点爆炸的范围(可用st表+二分实现)用线段树维护这些dp信息(区间乘,单点加,区间求和)初始化dp[0]=1。...

2022-07-29 20:46:36 131

原创 2022杭电多校 DOS Card(线段树)

答案只会存在情况+±-或±±。

2022-07-23 10:23:52 169

原创 2022杭电多校第二场 A.Static Query on Tree(树剖)

代码】2022杭电多校第二场A.StaticQueryonTree(树剖)

2022-07-22 16:23:45 383

原创 牛客,似花还似非花(dp优化)

似花还似非花这个题实际上是求解两个排列的包含某一特定元素的情况下的最长公共子序列长度。最长上升子序列用树状数组优化//#pragma GCC optimize(2)//#pragma GCC optimize(3,"Ofast","inline")#include<bits/stdc++.h>#define int long long#define fi first#define se second#define pb push_back#define pii pair&lt

2022-05-16 16:24:42 90 2

原创 D. Toss a Coin to Your Graph...(二分)

D. Toss a Coin to Your Graph二分答案 x权值比小于等于x的点重新建图,之后拓扑排序,判断最长链是否大于等于k或者是否存在环//#pragma GCC optimize(2)//#pragma GCC optimize(3,"Ofast","inline")#include<bits/stdc++.h>#define int long long#define fi first#define se second#define pb push_back#

2022-05-16 14:50:35 179

原创 The 19th Zhejiang Provincial Collegiate Programming Contest F - Easy Fix(主席树)

F - Easy Fix//#pragma GCC optimize(2)//#pragma GCC optimize(3,"Ofast","inline")#include<bits/stdc++.h>#define int long long#define fi first#define se second#define pb push_back#define pii pair<int,int>#define yes cout<<"YES\n"#d

2022-05-13 16:06:30 703 1

原创 Junior Mathematician(数位dp)

Junior Mathematician#pragma GCC optimize(2)#pragma GCC optimize(3,"Ofast","inline")#include<bits/stdc++.h>#define ll long long#define fi first#define se second#define pb push_back#define pii pair<int,int>#define IOS ios::sync_with_stdi

2022-04-11 14:40:14 311 1

原创 E - Gojou and Matrix Game

E - Gojou and Matrix Game因为v[i][j]的值都不同 所以先找最大值,一定先手胜利(第二个人选了之后第一个人可以无限次选最大值)之后在曼哈顿距离外的点一定不能赢在曼哈顿距离内的找一点最大值(也一定赢)……………………(不断去找 且要维护菱形的面积,可以用斜线去表示菱形)#pragma GCC optimize(2)#pragma GCC optimize(3,"Ofast","inline")#include<bits/stdc++.h>//#defin

2022-03-28 15:17:06 707 1

原创 E.Rescheduling the Exam

显然可以二分答案,check里 记录a[i]-a[i-1]-1<x的数量计为nd 计即需要移动的数量如果nd>=3 则无解nd =2 这两个需要移动的数要连续nd=1 去判断是否有可以移动到的位置nd=0 一定可以(有一点细节//#pragma GCC optimize(2)//#pragma GCC optimize(3,"Ofast","inline")#include<bits/stdc++.h>#define int long long#define fi

2022-03-09 10:17:30 446 1

原创 D. Big Brush

Big Brush题意:每次涂色2×2的矩阵 (可以覆盖),给出目标矩阵,求涂色方案。思路:反过来想,最后一次涂色一定 是2×2的矩阵内颜色相同(可以多个起点),反过来bfs修改已经处理过的矩阵为0;//#pragma GCC optimize(2)//#pragma GCC optimize(3,"Ofast","inline")#include<bits/stdc++.h>#define int long long#define fi first#define se sec

2022-02-15 15:57:32 583

原创 Codeforces Global Round 19 E. Best Pair

Best Pair题意:cntx 为x出现次数 f(x,y) = (cntx+cnty)*(x+y); 求不被禁用的最大f(x,y);思路:按cnt (出现次数)分类 ,最多有 根号n类 再去枚举x,y//#pragma GCC optimize(2)//#pragma GCC optimize(3,"Ofast","inline")#include<bits/stdc++.h>#define int long long#define fi first#define se s

2022-02-13 12:29:03 746

原创 D. Range and Partition

D. Range and Partition题意:给你一个长为n的数组,让你分成k段,满足每段在[x,y]内的严格大于在在[x,y]外的,请你最小化y − x并输出切割方案。思路:若有cnt1个数在[x,y]内 cnt2个数在[x,y]外 则整个区间一定能分成cnt1-cnt2段(类似中位数分段:传送门)cnt1+cnt2=n , cnt1-cnt2=k 则cnt1=(n+k+1)/2可以用双指针求出 [x,y] 内有cnt1个数的最小区间//#pragma GCC optimize(2)

2022-01-29 16:38:45 1026

原创 F2. Game on Sum (Hard Version)

F2. Game on Sum (Hard Version)dp方程: f[i][j]=i(i==j时)复杂度nm,考虑优化,观察到转移方程和组合数的公式类似考虑 (i,i)对(n,m)的贡献 即(i,i)到(n,m)路径的数量 往下 n-i次 ,往右下m-i次 (第一次只能往下) 所以路径数为C(n-i-1,m-i) 再处理权值 初始值为i,每次向下要除以2//#pragma GCC optimize(2)//#pragma GCC optimize(3,"Ofast","inline")

2022-01-29 14:12:17 1153

原创 E. String Reversal(逆序对)

Realistic Gameplay题意:给出字符串S 求 交换相邻字符后变成 S的逆序 的最小操作。思路:给S的逆序每个字符从小到大赋值 再 对应到S中 即求S的逆序对个数比如 S:aaaza 的逆序 T:azaaa t[]=1,2,3,3,3. s[]=1,3,3,2,3//#pragma GCC optimize(2)//#pragma GCC optimize(3,"Ofast","inline")#include<bits/stdc++.h>#define int

2022-01-20 14:49:47 578 1

原创 E - OpenStreetMap

OpenStreetMap题意:数字矩阵内求 所有a*b 的子矩阵中的最小值 的和思路:最小值用单调队列维护,像滑动窗口一样//#pragma GCC optimize(2)//#pragma GCC optimize(3,"Ofast","inline")#include<bits/stdc++.h>#define int long long#define fi first#define se second#define pb push_back#define pii pa

2022-01-20 11:14:06 243

原创 E. Black and White Tree

Black and White Tree题意:n个节点的树,至少有两个黑色的节点。你可以选择任意一个黑色节点向它走一步。对于任意两个相邻的操作不能选择同一个黑色的节点。 问从某个结点出发能否到达黑色结点思路:黑色结点 和黑色结点相邻的一定可以,或者 某个结点的子节点可以且子树中有2个以上黑色结点//#pragma GCC optimize(2)//#pragma GCC optimize(3,"Ofast","inline")#include<bits/stdc++.h>#defin

2022-01-19 12:57:19 481

原创 G - MinOr Tree(按位贪心)

题意:在一个有权无向联通图上,找出一颗生成子树,使得生成子树所有边的或最小。思路:从高位到低位贪心,如果高位为1的舍去任然可以有生成子树 则可以舍去//#pragma GCC optimize(2)//#pragma GCC optimize(3,"Ofast","inline")#include<bits/stdc++.h>#define int long long#define fi first#define se second#define pb push_back#de

2022-01-12 10:52:02 277

原创 Lexicographically Small Enough(平衡树)

题意:交换相邻位子,使得s字典序比t小思路:将本位换成比原来为小的数值或将本位换成与原来位相同的数值然后继续走下去 (平衡树维护交换的位子)//#pragma GCC optimize(2)//#pragma GCC optimize(3,"Ofast","inline")#include<bits/stdc++.h>#include<ext/rope>#include<ext/pb_ds/assoc_container.hpp>#include<e

2022-01-08 15:00:34 295

原创 E.Sasha and Array(线段树+矩阵快速幂)

矩阵相乘有分配律和结合律,所以可以用线段树维护斐波那契矩阵的k次方即矩阵 jz[1][1]=jz[1][2]=jz[2][1]=1;jz[2][2]=0;的k次方#pragma GCC optimize(2)#pragma GCC optimize(3,"Ofast","inline")#include<bits/stdc++.h>#define int long long#define fi first#define se second#define pb push_back.

2021-12-06 20:16:09 175

原创 Magic Gems(矩阵快速幂优化dp)

Magic Gems由题意易得dp转移方程 : f[i]=f[i-1]+f[i-m]构造m*m矩阵(类似斐波那契数列)1 0 0……0 0 1 f[i-1] f[i] 1 0 0……0 0 0 f[i-2] f[i-1] 0 1 0……0 0 0 f[i-3]

2021-12-01 20:47:31 202

原创 E. William The Oblivious(线段树)

题意:给定只包含abc的字符串 ,q次单点修改 每次修改后问 使得不包含abc为子序列的最小操作数是多少设t[k].abc为不包含abc为子序列的最小操作数得到以下状态转移 t[k].a=t[k<<1].a+t[k<<1|1].a; t[k].b=t[k<<1].b+t[k<<1|1].b; t[k].c=t[k<<1].c+t[k<<1|1].c; t[k].ab=min(t[k<<1].a

2021-11-30 19:16:01 330 2

原创 二维三点求圆心

ld X,Y,R;struct node{ ld x,y;} t[maxn];ld dis(node x,node y){ return sqrt((x.x-y.x)*(x.x-y.x)+(x.y-y.y)*(x.y-y.y));}node sol(node a,node b,node c)//三点共圆圆心公式{ X=( (a.x*a.x-b.x*b.x+a.y*a.y-b.y*b.y)*(a.y-c.y)-(a.x*a.x-c.x*c.x+a.y*a.y-c.y*c.y)*(a.y

2021-11-29 20:53:38 194

原创 判断线段与圆是否相交

struct Point { ll x, y;} ;Point O; //圆心ll r; //半径// 判断线段是否和圆相交bool pd(Point *p_1, Point *p_2){ ll a,b,c,dist_1,dist_2,angle_1,angle_2; if(p_1->x==p_2->x) { a=1,b=0,c=-p_1->x; } else if (p_1->y==p

2021-11-29 20:52:06 243

原创 判断线段相交

struct point{ double x,y;};bool inter(point a, point b, point c, point d){ if(min(a.x,b.x)>max(c.x,d.x)||min(a.y,b.y)>max(c.y,d.y)||min(c.x,d.x)>max(a.x,b.x)||min(c.y,d.y)>max(a.y,b.y)) return 0; double h, i, j, k; h=(b.x-a.x)*(c.y-a

2021-11-29 20:43:05 51

原创 Manacher最长回文子串

//#pragma GCC optimize(2)//#pragma GCC optimize(3,"Ofast","inline")#include<bits/stdc++.h>#define int long long#define ld long double#define fi first#define se second#define pb push_back#define pii pair<int,int>#define IOS ios::sync_wi

2021-11-29 20:34:45 57

原创 约瑟夫环(klogn 和线性)

int josephus(int n, int k) //O(n) n个人 数到k删除{ int res = 0; for (int i = 1; i <= n; ++i) res = (res + k) % i; return res;}int josephus(int n, int k) //O(klogn){ if (n == 1) return 0; if (k == 1) return n - 1; if (k > n) return (josephu

2021-11-29 20:10:50 183 1

原创 2021牛客多校 Hash Function(fft或者NTT)

Hash Function题意:给出数组,求最小的mod使得 每个数取模后都不同。思路:a%p=b%p 等价于 (a-b)%p=0 ,所以p不能为数组中任意两个数的差 ,假设我们现在知道了存在哪些差值,那么我们可以枚举倍数的方法求最小的p,求所有差值可以用fft ,可以转化为(xa1+xa2+xa3+……+xan)*(x-a1+x-a2+x-a3+……+x-an) 系数大于0的那个指数就是存在的差值负数可以加个500001;#include<bits/stdc++.h>#defin

2021-11-24 20:48:13 336

原创 2021 ICPC Jinan J .Determinant

题意:给出行列式和det的绝对值 ,求det的正负取大质数mod(不是det的因子) det取模,高斯消元求出det 取模 若相等则+,否则-;(mod-det)%mod 和det%mod 当det=mod或 mod-det=det时相等#pragma GCC optimize(2)#pragma GCC optimize(3,"Ofast","inline")#include <bits/stdc++.h>#define IOS ios::sync_with_stdio(false

2021-11-15 19:57:06 257

原创 高斯消元求行列式(取模)

int gauss(int A[N][N],int n){ int ans = 1; for(int i=1;i<=n;i++) { for(int j=i;j<=n;j++) { if(A[j][i]) { for(int k=i;k<=n;k++) swap(A[i][k], A[j][k]); if(i!=j) ans=-ans; break; } } if(!A[i][i]) return 0; for(int

2021-11-15 19:51:07 725

原创 D. Treelabeling

Treelabeling结论:每个点都能是必胜点,最高位的1在相同位子则能走,否则不能走那么可以按1的最高位子来处理(最高位的1在相同位子的进行分堆) ,对树奇偶染色,同一堆的不能分开放//#pragma GCC optimize(2)//#pragma GCC optimize(3,"Ofast","inline")#include<bits/stdc++.h>#define int long long#define fi first#define se second#def

2021-11-13 12:59:59 720

原创 D. Unmerge(01背包)

D. Unmerge//#pragma GCC optimize(2)//#pragma GCC optimize(3,"Ofast","inline")#include<bits/stdc++.h>#define int long long#define fi first#define se second#define pb push_back#define pii pair<int,int>#define IOS ios::sync_with_stdio(fal

2021-11-09 19:02:59 85

原创 历史研究(回滚莫队)(add)

历史研究题意:给你一个长度为n的数组 和 q个询问 ,每次询问一个区间 l,r 内重要度最大的数字,要求 输出其重要度。一个数字 x重要度的定义为 x乘上x 在区间内出现的次数。//#pragma GCC optimize(2)//#pragma GCC optimize(3,"Ofast","inline")#include<bits/stdc++.h>#define int long long#define fi first#define se second#define

2021-11-03 18:06:07 81

原创 树的直径及中心

//#pragma GCC optimize(2)//#pragma GCC optimize(3,"Ofast","inline")#include<bits/stdc++.h>#define int long long#define fi first#define se second#define pb push_back#define pii pair<int,int>#define IOS ios::sync_with_stdio(false);cin.tie

2021-11-03 13:19:33 123

原创 Count on a tree II(树上莫队)

Count on a tree II题意:树上区间询问 x到y的不同颜色数欧拉序上查询 ,不在同一子树上要加上lca的贡献 (ed->st)在同一子树上(st->st)//#pragma GCC optimize(2)//#pragma GCC optimize(3,"Ofast","inline")#include<bits/stdc++.h>#define int long long#define fi first#define se second#defi

2021-11-02 20:03:19 175

空空如也

空空如也

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

TA关注的人

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