自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 AiRC0S 的博客索引

个人博客索引

2022-03-23 10:45:14 382

原创 OI模板 欧拉函数

欧拉函数(),即φn表示的是小于等于n和n互质的数的个数。nφnnφnnφn。

2023-01-31 13:17:44 311 1

原创 题解 [ABC020D] LCM Rush

题解 [ABC020D] LCM Rush

2023-01-25 20:08:38 757

原创 AtCoder Regular Contest 148

AtCoder Regular Contest 148

2023-01-24 17:48:04 1375

原创 AtCoder Regular Contest 149

AtCoder Regular Contest 149

2023-01-24 14:52:49 1561

原创 题解 P8757 [蓝桥杯 2021 省 A2] 完美序列

是多少,显然对于一个完美子序列,第一个元素的质因数越多,它往后能延伸的完美子序列最长。而什么样的数质因数最多呢?易证可能的情况就只有这两种。因为题目非常良心,不让求方案数只让求和,所以我们设。个位置作为完美子序列,阶乘代表着其他位置可以随便放置。感觉难度应该就绿,在学校五分钟想出来了。然后再来考虑怎么构造出长度为。

2022-11-01 19:17:24 470

原创 题解 斜率优化经典题 任务安排*6

斜率优化

2022-10-16 16:02:16 270

原创 题解 [Codeforces1156D] 0-1-Tree

题目来源:Codeforces Educational Round #64tag:树形 DP,计数。

2022-08-28 09:24:31 129

原创 题解 【LGR-087】洛谷 7 月月赛 Div.2

qwq

2022-08-20 09:27:35 378

原创 题解 Codeforces Round #814 (Div. 1/2)

Codeforces

2022-08-17 17:50:22 281

原创 题解 Codeforces div4 压轴题合集

qwq

2022-08-17 14:32:36 148

原创 题解 Codeforces Round #811 (Div. 3)

qwq

2022-08-02 13:36:22 296

原创 OI模板 快速傅里叶变换(FFT)

代码】OI模板快速傅里叶变换(FFT)

2022-07-20 13:39:39 161

原创 题解 [CodeForces1705D] Mark and Lightbulbs

现在来考虑步数问题。一次操作现在看起来是什么令一个连续极长。全部都不能改变,所以可以得出对一个连续极长的。段向任意一侧扩张一格,或从任意一侧缩小一格。段从左往右一一对应。那么我们的目标就是把。答案很显然设对应段在。段,不能将它拆分长两个连续极长的。段,显然在这一段中,只有两端的。段经过若干次扩张、缩小从而变成。同理,对于两个中间只隔有。所以得出结论若一个串。当然,还要再判断一下。...

2022-07-18 10:10:40 112

原创 题解 Codeforces Round #806 (Div. 4)

Codeforces round 806

2022-07-13 13:36:47 116

原创 题解 [CF327C] Magic Five

luogu 题目链接这种题都要写好久,wtcl。下文下标从 000 开始。nnn 为原序列长度。考虑 k=1k=1k=1 的情况,显然要以 或 结束,前面随便选多少个,后面全不选。若前面有 ppp 个数,方案数为 2p2^p2p。若 k≠1k\neq 1k​=1,设 mul=∑i=0k−12inmul = \sum\limits_{i=0}^{k-1}2^{in}mul=i=0∑k−1​2in,答案乘上 mulmulmul 即可。为什么呢?若原序列中第 ppp 位为 或 ,那么总序列中它会出现在 p

2022-07-10 11:06:24 128

原创 题解 [LuoguP3426][POI2005]SZA-Template

kmp 字符串算法

2022-06-27 16:33:15 109

原创 题解 [CF1682D] Circular Spanning Tree

题解 CodeForces1682D

2022-06-25 18:56:18 157 1

原创 题解 [CF946D] Timetable

dp

2022-06-22 14:05:22 84

原创 题解 [CodeForces1692H] Gambling

dp

2022-06-20 12:27:15 224 1

原创 题解 [CF724E] Goods transportation

模拟网络流

2022-06-09 22:47:46 142

原创 题解 [Luogu P6596] How Many of Them

计数dp

2022-06-02 23:29:14 127

原创 题解 有标号无向连通图计数

计数dp

2022-06-01 19:14:24 796

原创 OI模板 AC自动机

OI模板 AC自动机trie 树上算失配指针,感觉和kmp没啥关系简单版://P3808#include <bits/stdc++.h>using namespace std;const int N = 1e6 + 10;struct AhoCorasick_Automaton{ struct node{ int ch[26], end, fail; } T[N]; int cnt; void init(){ for(int i = 0; i < N; ++ i)

2022-05-27 21:36:45 99

原创 题解 [POI2011][LuoguP3514] LIZ-Lollipop

link已知可以得到 kkk 的方式 (l,r)(l,r)(l,r),就一定有得到 k−2k-2k−2 的方式:若 al=2a_l=2al​=2,则取 (l+1,r)(l+1,r)(l+1,r)若 ar=2a_r=2ar​=2,则取 (l,r−1)(l,r-1)(l,r−1)否则 al=ar=1a_l=a_r=1al​=ar​=1,取 (l+1,r−1)(l+1,r-1)(l+1,r−1)所以我们求出能得到的最大奇数和最大偶数,设数列总和为 SSS,则 SSS是什么数(奇或偶),那么最大什么

2022-05-25 09:50:37 80

原创 题解 [SP7579] YOKOF - Power Calculus

题解 [SP7579] YOKOF - Power CalculusLuogu Link题目显然可以转化为:给出正整数 nnn,若只能使用加法或减法,输出使 111 经过运算(自己加或减自己,以及加或减运算过程中产生的中间结果)变成 nnn 的最少步数。使用 IDDFS 求解。IDDFS,即迭代加深的 DFS,就是在 DFS 过程中添加一个“最大深度值”,每次 DFS 时如果递归深度大于这个值就强制结束递归。如果没搜到答案,就令最大深度值 +1+1+1,继续搜一遍。这样虽然会重复搜搜索树上浅层

2022-05-15 12:46:14 127

原创 题解 [LuoguP4588][TJOI2018] 数学计算

题解 [LuoguP4588][TJOI2018] 数学计算link属于是没有区间的线段树了。以时间为轴建线段树,如果第 iii 个操作是 111,把第 iii 位乘上 mmm;如果是 222,把第 mmm 位改为 111。查询就直接输出根节点。//P4588#include <bits/stdc++.h>using namespace std;const int N = 1e5;int t, Q, op; long long M, T[N<<2], m;vo

2022-05-14 22:08:34 107

原创 题解 [LuoguP5607][Ynoi2013] 无力回天 NOI2017

Ynoi 线段树 线性基 树状数组

2022-05-14 21:20:59 117

原创 题解 [LuoguP4839] P哥的桶

Link \rule{20pt}{15pt}\kern{-16.5pt}\color{white}\raisebox{4.7pt}{\footnotesize\sf Link} Link单点修改,区间查询,可以想到线段树。然后在线段树的每一个节点上套一个线性基维护即可。记得:线性基查询/合并一定要从大到小遍历。//P4839 need O2#include <bits/stdc++.h>using namespace std;const int N = 5e4 + 10;inl

2022-05-11 22:39:36 89

原创 题解 [LuoguP8320]『JROI-4』Sunset

题解 P8320 『JROI-4』Sunsetlink发现第二种操作“使 aia_iai​ 为 000”,一旦操作了就不能再反悔,我们就永远失去了对这个数字原本的值的所有信息。因此这个操作的作用只有:在计算完这个数字的值后,消除这个数字对其他数字的影响,转而计算其他数字的值。因此我们考虑每次计算出序列最大值,然后把该最大值变为 000,之前的次大值就变成了现在的最大值,计算 nnn 次即可还原整个序列。看到 nnn 最大为 500500500,操作次数最大为 550055005500,所以每次计算最

2022-05-02 11:12:34 102

原创 题解 [LuoguP8319]『JROI-4』分数

题解 P8319 『JROI-4』分数link受上场月赛的 B 启发,设 xxx 的最小因数为 yyy,则血书女装过程为:0x→1x→...→yx,1x/y→2x/y→...\displaystyle\frac 0x\to \frac1x\to...\to\frac yx,\frac1{x/y}\to\frac2{x/y}\to...x0​→x1​→...→xy​,x/y1​→x/y2​→...然后 1x/y\frac1{x/y}x/y1​ 后面的步骤数就是 f(x/y)−1f(x/y)-1f(x

2022-05-02 11:11:19 127

原创 题解 [CSP-S2019 江西][LuoguP5689] 多叉堆

link设两棵多叉树 U,VU,VU,V,其根节点为 u,vu,vu,v,大小为 sizU,sizVsiz_U,siz_VsizU​,sizV​,各自的答案为 wU,wVw_U,w_VwU​,wV​。若此时把 UUU 合并到 VVV 上,此时的根节点 vvv 只能填 000,下面分成了两块:一块 sizUsiz_UsizU​ 个,一块 sizV−1siz_V-1sizV​−1 个,两块不影响。所以答案为 wU×wV×Cnmw_U \times w_V \times C_n^mwU​×wV​×Cnm​。然

2022-04-30 16:34:40 172

原创 题解 [LuoguP4974] 毒瘤之神秘通道

题解 [LuoguP4974] 毒瘤之神秘通道link题意原题面有点乱,这里补充个简易题面:一棵 mmm 个节点的树,初始边权为 000,根节点为 000;有 nnn 个操作,第 iii 个操作给出 ai,bia_i,b_iai​,bi​,把路径 a→0a\to0a→0 上的边权值分别加上 bib_ibi​;定义 u→vu\to vu→v 的路径长度为路径 u→vu\to vu→v 上的边权值和;求出 0→ai0\to a_i0→ai​ 的路径长度最小值,若有多个最小值,输出 aia_iai

2022-04-30 12:08:41 70

原创 OI模板 卢卡斯定理

卢卡斯定理 / Lucas\text{Lucas}Lucas定理现有问题:给定整数 n,m,pn,m,pn,m,p,求 (nm) mod p\dbinom{n}{m}\bmod p(mn​)modp,保证 p∈Pp\in\mathbb{P}p∈P。1≤n,m,p≤1051\leq n,m,p \leq 10^51≤n,m,p≤105。可以用 Lucas 定理解决。定义对于 p∈Pp\in\mathbb{P}p∈P,有 (nm) mod p=(⌊n/p⌋⌊m/p⌋)×(n mod pm mo

2022-04-26 11:42:16 116

原创 OI模板 网络流模型

网络流模型网络最大流一张图,求从源点到汇点的最大流量。Dinic\text{Dinic}Dinic注意:如果原图为无向图,正反边权值都要设为 www。const int N = 210, M = 1e4 + 10, Inf = 1 << 29;int Head[N], Edge[M], Leng[M], Next[M], tot = 1;int dep[N], now[N];void addedge(int u, int v, int w){ Edge[++tot] =

2022-04-26 11:40:46 169

原创 OI模板 最大匹配

最大匹配(二分图、一般图)二分图最大匹配匈牙利算法const int N=510;int n,m,e,Match[N],u,v,ans;bool Vis[N],E[N][N];inline int dfs(int x){ for(int i=1; i<=m; ++i) if(!Vis[i] && E[x][i]){ Vis[i]=true; if(!Match[i] || dfs(Match[i])){ Match[i]=x; retur

2022-04-26 11:39:43 70

原创 OI模板 分数规划

分数规划分数规划用来求一个分式的极值:给出 ai,bia_i,b_iai​,bi​,求一组 wi∈{0,1}w_i\in\{0,1\}wi​∈{0,1} 使 ∑i=1naiwi∑i=1nbiwi\displaystyle\frac{\sum_{i=1}^n a_iw_i}{\sum_{i=1}^n b_iw_i}∑i=1n​bi​wi​∑i=1n​ai​wi​​ 最小化或最大化,再加上一些奇怪的限制。所以背包、树形背包、最小生成树、最短路、二分图最大匹配等问题都可以套个分数规划变得毒瘤。求解二分求

2022-04-26 11:38:40 137

原创 OI模板 Tarjan与连通性

Tarjan\text{Tarjan}Tarjan 与连通性补充(很重要):关于tarjan的一些大问题:tarjan中low数组的一个问题:if(!dfn[v]){ tarjan(v); low[u] = min(low[u], low[v]);} else low[u] = min(low[u], dfn[v]);这里如果v是u的父亲,那么low[u]就能被dfn[v]更新。如果求强连通分量和割点没什么问题,但在求割边的时候就有问题。割边的判断法则是 low[v]>d

2022-04-26 11:37:19 121

原创 OI模板 树状数组

OI模板 树状数组树状数组-单点加、区间和const int N=1;struct BIT{ int bit[N],a[N],n; #define lowbit(x) ((x)&(-(x))) inline void build(){ for(int i=1; i<=n; ++i){ bit[i]+=a[i]; int j=i+lowbit(i); if(j<=n) bit[j]+=bit[i]; } return; } inline voi

2022-04-26 11:34:33 79

原创 OI模板 后缀数组

OI模板 后缀数组Build SA&RKconst int N = 1;int SA[N], RK[N], n, m;int pre[N], cnt[N];char str[N];void BuildSA_RK(){ m = 122; for(int i = 1; i <= n; ++ i) RK[i] = str[i], ++ cnt[RK[i]]; for(int i = 2; i <= m; ++ i) cnt[i] += cnt[i-1]; for(int i

2022-04-26 11:33:01 195

空空如也

空空如也

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

TA关注的人

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