![](https://img-blog.csdnimg.cn/23b3fcc186cd46488eb34c8fdb3ece18.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
洛谷
文章平均质量分 67
洛谷の题库
EschatonAyane
风会带走我曾经存在过的证明
展开
-
【洛谷P1541】乌龟棋【DP】
小明过生日的时候,爸爸送给他一副乌龟棋当作礼物。乌龟棋的棋盘是一行NNN个格子,每个格子上一个分数(非负整数)。棋盘第1格是唯一的起点,第NNN格是终点,游戏要求玩家控制一个乌龟棋子从起点出发走到终点。乌龟棋中MMM张爬行卡片,分成4种不同的类型(MMM张卡片中不一定包含所有444种类型的卡片,见样例),每种类型的卡片上分别标有1,2,3,41,2,3,41,2,3,4四个数字之一,表示使用这种卡片后,乌龟棋子将向前爬行相应的格子数。游戏中,玩家每次需要从所有的爬行卡片中选择一张之前没有使用过的爬行卡片,控原创 2022-06-29 16:57:48 · 168 阅读 · 1 评论 -
【洛谷P4391】Radio Transmission 无线传输【KMP】
linklinklinkkmpkmpkmpnextnnext_nnextn就是最长公共的前缀后缀部分 所以直接n−nextnn-next_nn−nextn就是答案原创 2022-06-16 21:45:14 · 230 阅读 · 0 评论 -
【LGR-109】B.华胥之梦
分析:赛时题解i−>ji->ji−>j边权=ai−2×aj+c=a_i-2\times a_j+c=ai−2×aj+c 要最短就要使 aia_iai 小 aja_jaj 大由于是简单路径 直接按点集内点的aia_iai从小到大走就可以了CODE:#include<iostream>#include<cstdio>#include<algorithm>#include<cstring>#include<...原创 2022-05-14 17:31:35 · 148 阅读 · 0 评论 -
【LGR-109】A.走在夜晚的莲台野
分析:赛时题解每次尽可能用银的装满容器 然后填一个金的 每填一次容量就会减111所以用xxx个金木板可以填的银木板数 可以等差数列求和看剩下的银木板和金木板能否填满容器即可CODE:#include<iostream>#include<cstdio>#include<algorithm>#include<cstring>#define reg registerusing namespace std;typedef long lon...原创 2022-05-14 17:25:27 · 124 阅读 · 0 评论 -
【洛谷P1300】城市街道交通费系统【dfs】
linklinklink分析:dfsdfsdfs剪枝向右向后向左转分别为 右转1/2/31/2/31/2/3次设向E/S/W/NE/S/W/NE/S/W/N的方向分别为0/1/2/30/1/2/30/1/2/3 注意导航的方向也是E/S/W/NE/S/W/NE/S/W/N的顺序CODE:#include<iostream>#include<cstdio>#include<algorithm>#include<cstring>#inclu..原创 2022-05-04 10:52:33 · 225 阅读 · 1 评论 -
【洛谷P4933】大师【区间DP】
linklinklink分析:区间dpdpdp(设fi,wf_{i,w}fi,w表示等差数列以iii结尾 公差为www的方案数那么fi,ai−aj=fi,ai−aj+fj,ai−ajf_{i,a_i-a_j}=f_{i,a_i-a_j}+f_{j,a_i-a_j}fi,ai−aj=fi,ai−aj+fj,ai−aj公差可以为负数 所以可以加上一个数处理 最后加上∑i=1ni\sum_{i=1}^ni∑i=1ni 因为一个数也算合法CODE:#include<ios.原创 2022-05-02 20:48:35 · 338 阅读 · 0 评论 -
【洛谷P5495】Dirichlet 前缀和【数论】
linklinklink分析:可以先暴力 枚举倍数:for(reg uint i=1;i<=n;i++) for(reg uint k=1;k*i<=n;k++) b[k*i]+=a[i];for(uint i=1;i<=n;i++) ans^=b[i];但这样显然过不了 在枚举下标时会多次无意义枚举关于唯一分解定理:iii 和 kkk 都可以分解为 ∑i=1npici\sum_{i=1}^np_i^{c_i}∑i=1npici 和 ∑i=1mpici..原创 2022-03-07 21:24:53 · 160 阅读 · 0 评论 -
【洛谷P1403】约数研究
linklinklink分析:对于每个数k (k<=n)k~(k<=n)k (k<=n) 共有 n/kn/kn/k 个数的约数中有kkk 对答案的贡献也是n/kn/kn/kCODE:#include<iostream>#include<cstdio>#include<algorithm>#include<cstring>#define reg registerusing namespace std;t.原创 2022-02-26 11:07:16 · 216 阅读 · 0 评论 -
【洛谷P1090,SSL1040】合并果子【堆】
分析:找最小的加入堆stl Code:stl~Code:stl Code:#include<iostream>#include<cstdio>#include<algorithm>#include<cstring>#include<queue>#define reg registerusing namespace std;typedef long long ll;int n,ans;priority_q.原创 2022-01-20 10:47:52 · 322 阅读 · 0 评论 -
【洛谷P1183,SSL1213】多边形的面积【计算几何,叉积】
分析:套多边形面积公式:::相邻点叉积之和绝对值/2/2/2 定一个原点就好了注意判线段相交 即不合法CODE:#include<iostream>#include<cstdio>#include<algorithm>#include<cstring>#include<cmath>#define reg registerusing namespace std;int n;double ans;struct node{..原创 2022-01-15 14:35:01 · 155 阅读 · 0 评论 -
【洛谷P2742】圈奶牛Fencing the Cows【二维凸包】
linklinklink分析:凸包模板 GrahamGrahamGraham算法 复杂度O(nlogn)O(nlogn)O(nlogn) 极点存在a1a_1a1CODE:#include<iostream>#include<cstdio>#include<algorithm>#include<cstring>#include<stack>#include<cmath>#define reg registerus.原创 2022-01-17 11:26:18 · 160 阅读 · 0 评论 -
【洛谷P2785】物理1(physic1) - 磁通量【计算几何,叉积】
linklinklink分析:先叉积求多边形面积 磁通量 === 磁感应强度 ×\times× 面积CODE:#include<iostream>#include<cstdio>#include<algorithm>#include<cmath>#define reg registerusing namespace std;const int N=1e5+5;int n;double b,ans; struct node{ dou.原创 2022-01-15 17:01:10 · 179 阅读 · 0 评论 -
【洛谷UVA1619】Feel Good【单调栈】
linklinklink分析:单调栈枚举最小值aia_iai 找左边第一个比当前小的lil_ili 右边第一个比当前大的rir_iri 前缀和sumisum_isumi区间即[li+1,ri−1][l_i+1,r_i-1][li+1,ri−1] 和为sumr−suml−1sum_r-sum_{l-1}sumr−suml−1 对这个的乘积取maxmaxmax注意没有spjspjspj 要保证区间最短 还有一些奇怪的格式CODE:#include<iostream>.原创 2022-01-14 11:44:48 · 87 阅读 · 0 评论 -
【洛谷P3987】我永远喜欢珂朵莉~【卡常】
linklinklink分析:此题为弱化版 暴力卡常可过除数为 111 可以跳过 为 222 可以位运算 加上一个强力的快读 以及循环展开 大力卡常最后就可以在 c++11c++11c++11 和 O2O_2O2的加持下ACACACCODE:#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>#include<queue>#defin..原创 2022-01-13 15:02:30 · 192 阅读 · 0 评论 -
【51nod P3120】小陶的疑惑【树状数组】
linklinklink分析:单点修改区间查询 树状数组CODE:#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>#include<stack>#define reg registerusing namespace std;typedef long long ll;const int N=2e5+5;ll n,Q,c[N];l..原创 2022-01-13 09:35:02 · 189 阅读 · 0 评论 -
【洛谷P4392】Sound 静音问题【线段树】
linklinklink分析:线段树枚举[i,i+m][i,i+m][i,i+m]区间中minminmin和maxmaxmax 然后看它们的差是否<=c<=c<=c即可CODE:#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>#include<queue>#define reg registerusing namesp.原创 2022-01-12 21:22:35 · 69 阅读 · 0 评论 -
【洛谷P3801】红色的幻想乡【树状数组】
Problem linkProblem~linkProblem link分析:树状数组维护迷雾数量 横坐标开一个 纵坐标开一个 这样就可以存区间的迷雾用异或记录抵消 抵消了就−1-1−1 否则+1+1+1最后统计答案 即横坐标迷雾数×\times×长度+++纵坐标迷雾数×\times× 长度 再减去重复的CODE:#include<iostream>#include<cstdio>#include<cstring>#include&.原创 2022-01-12 16:10:09 · 110 阅读 · 0 评论 -
【洛谷P2158】仪仗队【欧拉函数】
linklinklink分析:方阵是关于对角线对称的 所以只用求出半个方阵能看见的人 再×2\times 2×2即可还有333个特殊点 即对角线和两边 有333个能被看见的人(i,j)(i,j)(i,j) 需满足gcd(i,j)=1gcd(i,j)=1gcd(i,j)=1 因为他一定可以把所有(kx,ky)(kx,ky)(kx,ky)挡住然后欧拉函数CODE:#include<iostream>#include<cstdio>#include<cstring.原创 2022-01-12 10:39:07 · 164 阅读 · 0 评论 -
【洛谷P1993】小 K 的农场【差分约束】
Problem linkProblem~linkProblem link分析:差分约束信息有三种形式:b≤a−cb≤a-cb≤a−ca≤b+ca≤b+ca≤b+ca≤b+0a≤b+0a≤b+0或b≤a+0b≤a+0b≤a+0那就可以分别连边 然后差分约束图未保证联通 所以 建立超级源点n+1n+1n+1 与 iii 相连距离为000CODE:#include<iostream>#include<cstdio>#include<c.原创 2021-12-25 16:52:40 · 91 阅读 · 0 评论 -
【洛谷P2865】Roadblocks G【次短路】
Problem linkProblem~linkProblem link分析:次短路经典题disi,1dis_{i,1}disi,1 表示到iii的最短路 disi,2dis_{i,2}disi,2 表示到iii的次短路 更新最短路前 把次短路更成最短路 再更新新的更新时不能用 disxdis_xdisx 代指 q.top.disq.top.disq.top.dis 因为可能是到xxx的最短路 或次短路注意边可以重复走CODE:#include<iostre..原创 2021-12-25 11:41:43 · 558 阅读 · 0 评论 -
【洛谷P3106】Dueling GPSs S【最短路 变式】
Problem linkProblem~linkProblem link分析:以nnn为起点 跑两次spfaspfaspfa 记录两个GPSGPSGPS的最短路径最后再做一遍spfaspfaspfa对于统计不在最短路上 可以先建边权为222的图 跑最短路 遇到相同的−1-1−1即可CODE:#include<iostream>#include<cstdio>#include<cstring>#include<algorith..原创 2021-12-25 09:38:30 · 212 阅读 · 0 评论 -
【洛谷P3003】Apple Delivery S【Dijk+堆】
Luogu linkLuogu~linkLuogu link分析:最短路看先走到PA1PA_1PA1近还是PA2PA_2PA2近 记短的距离为dis1dis1dis1然后分别以更近的点为起点 走到另一个点 记距离为dis2dis2dis2答案即 dis1+dis2dis1+dis2dis1+dis2stlstlstl小根堆不要用firstfirstfirst存下标!!!CODE:#include<iostream>#include<cstdio..原创 2021-12-24 21:28:18 · 553 阅读 · 0 评论 -
【洛谷P4824】Censoring S【KMP】
linklinklink分析:KMPKMPKMP典中典在匹配过程中 如果匹配了TTT 就可将TTT删除 用栈维护删完后从栈顶能匹配的最大位置开始 继续KMPKMPKMPCODE:#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>#include<queue>using namespace std;typedef long long l.原创 2021-12-18 15:55:34 · 113 阅读 · 0 评论 -
【洛谷P3946】ことりのおやつ【最短路】
分析:直接上spfaspfaspfa松弛时先看雪是否过厚 再选择入队CODE:#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>#include<queue>using namespace std;typedef long long ll;const int N=5e5+5;int n,m,s,t,g,q,tot;int vis[..原创 2021-12-18 11:02:41 · 69 阅读 · 0 评论 -
【洛谷P5057】简单题【线段树】
linklinklink分析:区间异或 单点查询CODE:#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>#include<queue>using namespace std;typedef long long ll;const int N=1e5+5;int n,m,a[N<<2];void down(int x,..原创 2021-12-18 09:52:52 · 88 阅读 · 0 评论 -
【洛谷P7960】[NOIP2021] 报数【筛法】
Problem linkProblem~linkProblem link分析:筛子当前数xxx如果被标记 就跳过 看xxx是否含有777 如果有就把xxx的倍数都标记记录下下一个报的数即可CODE:#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>using namespace std;typedef long long ll..原创 2021-12-18 09:31:25 · 343 阅读 · 0 评论 -
【洛谷P4826】Superbull S【最大生成树】
Problem linkProblem~linkProblem link分析:把每两队看做两个点 跑最大生成树即可CODE:#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>#include<queue>using namespace std;typedef long long ll;const int N=2005.原创 2021-12-17 22:05:47 · 275 阅读 · 0 评论 -
【洛谷P3870】开关【线段树】
Problem linkProblem~linkProblem link分析:线段树找手感每次下传时懒标记xor 1xor~1xor 1 新开的个数 即总数减掉上次开的个数CODE:#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>#include<queue>using namespace std.原创 2021-12-17 20:22:59 · 275 阅读 · 0 评论 -
【洛谷P3831】回家的路【分层图最短路】
Problem linkProblem~linkProblem link分析:大意:每个点之间距离为222 给出mmm个点可以转向 费用为111 问最短路分层图最短路上下两层对应点距离为111 层内就连222即可 然后spfaspfaspfaCODE:#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>#include<q..原创 2021-12-11 10:05:26 · 268 阅读 · 0 评论 -
【洛谷P3014】Cow Line S【康托展开】
Luogu linkLuogu~linkLuogu link分析:题目大意:若输入PPP 则输出 111~nnn 全排列中第 xxx 个若输入QQQ 则输出 x[]x[]x[] 在 111~nnn 全排列中的排名这个东西就是康托展开和 逆康托展开PPP就是逆 QQQ就是普通的这题的NNN很小 可以直接暴力展开CODE:#include<iostream>#include<cstdio>#include<cstring>#in..原创 2021-11-27 10:36:42 · 206 阅读 · 0 评论 -
【洛谷P1948】Telephone Lines S【分层图 最短路】
Luogu linkLuogu~linkLuogu link分析:题解区咋都是二分spfa?spfa?spfa? 分层图最短路就做完了注意这个求的是最长路上的最小值 所以把dijdijdij改一下就可以了CODE:#include<iostream>#include<cstdio>#include<algorithm>#include<cstring>#include<queue>using namesp..原创 2021-11-18 20:36:38 · 396 阅读 · 0 评论 -
【洛谷P4822】冻结【分层图最短路】
Luogu linkLuogu~linkLuogu link分析:分层图最短路然后注意可以使用000 ~ kkk次SpellCardSpellCardSpellCard 最后要在000 ~ kkk中取minminminCODE:#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>#include<queue>using..原创 2021-11-16 21:16:14 · 242 阅读 · 0 评论 -
【洛谷P4568】飞行路线【分层图最短路】
Luogu linkLuogu~linkLuogu link分析:分层图最短路免费飞kkk次 相当于将图分成kkk层 从i−1i-1i−1到iii连一条费用为000的无向边第iii层图内就正常连边然后跑从sss到t+n×kt+n\times kt+n×k的最短路即可CODE:#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>#i.原创 2021-11-16 20:22:12 · 256 阅读 · 0 评论 -
【洛谷P1253】扶苏的问题【线段树】
Luogu linkLuogu~linkLuogu link分析:线段树 主要在于懒标记下传CODE:#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>using namespace std;typedef long long ll;const int N=1e6+5;ll n,T,a[N];struct SegmentTre.原创 2021-11-06 15:46:10 · 332 阅读 · 0 评论 -
【洛谷P1349】广义斐波那契数列【矩阵乘法】
Luogu linkLuogu~linkLuogu link分析:显然矩乘普通斐波那契 转移矩阵:∣1,1∣∣1,0∣|1,1|\\|1,0|∣1,1∣∣1,0∣那么只需要把系数加上:∣p,1∣∣q,0∣|p,1|\\|q,0|∣p,1∣∣q,0∣以及递推矩阵改为[a2,a1][a_2,a_1][a2,a1]即可CODE:#include<iostream>#include<cstdio>#include<cstring>.原创 2021-11-06 11:53:53 · 121 阅读 · 0 评论 -
【洛谷P7076】[CSP-S2020] 动物园【位运算】
Luogu linkLuogu~linkLuogu link分析:考虑位运算先找所有已有的位 再记录所有有要求的位 再去找有哪些位 是可以满足要求的这样就会剩下一些 有要求 但是不能满足的位 设有ppp个 那么就有2p2^p2p种情况 减去全是000的 就是2p−12_p-12p−1其余位置即2k−p2^{k-p}2k−p种 注意这是不能要的 最后用总方案数2k−1×22^{k-1}\times 22k−1×2减去即可开unsigned long l..原创 2021-11-05 20:43:33 · 250 阅读 · 0 评论 -
【洛谷P3609】Hoof,Paper,Scissor G【DP】
Luogu linkLuogu~linkLuogu link分析:dpdpdp 设fi,j,0,1,2f_{i,j,0,1,2}fi,j,0,1,2表示前iii轮变换jjj次手势 最后出0/1/20/1/20/1/2 最多能赢轮数 000代表HHH 111代表SSS 222代表PPP转移显然f[i][j][0]=max(f[i][j][0],max(f[i-1][j][0]+H[i],max(f[i-1][j-1][1]+H[i],f[i-1][j-1][2]+H[i]))).原创 2021-10-16 11:06:57 · 80 阅读 · 0 评论 -
【洛谷P3917】异或序列【位运算】
LuoguLuoguLuogu linklinklink分析:记录前缀异或和sum0...nsum_{0...n}sum0...n 那么就是统计有多少个区间异或值为111只需要统计sum0...nsum_{0...n}sum0...n中111和000的个数 个数相乘就是区间个数CODE:#include<iostream>#include<cstdio>#include<algorithm>#include<cstring>using .原创 2021-10-10 16:41:00 · 182 阅读 · 0 评论 -
【洛谷P3909】异或之积【数论】
Luogu linkLuogu~linkLuogu link分析:原式 =>=>=> ∑i=1nai∑j=1i−1aj∑k=1j−1\sum_{i=1}^na_i\sum_{j=1}^{i-1}a_j\sum_{k=1}^{j-1}∑i=1nai∑j=1i−1aj∑k=1j−1就可以先算出∑k=1j−1ak\sum_{k=1}^{j-1}a_k∑k=1j−1ak 再更新∑j=1i−1aj∑k=1j−1ak\sum_{j=1}^{i-1}a_j\su.原创 2021-10-10 09:20:09 · 263 阅读 · 0 评论 -
【洛谷P4310】绝世好题【位运算DP】
Luogu link\textcolor{pink}{Luogu~link}Luogu link分析:有一个简单dpdpdp 跟LISLISLIS求法类似 条件不同#include<iostream>#include<cstdio>#include<algorithm>#include<cstring>using namespace std;typedef long long ll;const int N=1e5+5;.原创 2021-10-09 21:22:53 · 135 阅读 · 0 评论