自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【题解&总结】gmoj 5740. 幻想世界

gmoj5740幻想世界题解

2022-07-09 08:35:06 177 1

原创 【题解】5063. 异或与区间加

题目大意给定序列 an{a_n}an​, 每次给出若干操作:将所有 l,r∈[st,en]l,r\in[st,en]l,r∈[st,en] 且 al⊕al+1⊕...ar=ka_l\oplus a_{l+1}\oplus...a_{r}=kal​⊕al+1​⊕...ar​=k 的所有区间区间 +w+w+w (在初始值全为0的 bbb 序列中)。求最终的 bbb 序列。思路这题还是比较恶心的。首先容易想到答案运用差分的方法解决。且 ai⊕ai+1⊕...ar=ka_i \oplus a_{i+1}

2022-01-19 07:44:33 297

原创 【题解】3747. Problem C

3747. Problem C题目大意给定一个字符串 sss 由 A,C,G,TA,C,G,TA,C,G,T 组成,求长度为 mmm 且同样由 A,C,G,TA,C,G,TA,C,G,T 组成的字符串中,与 SSS 的最长公共子序列长度 ∈[0,n]\in[0,n]∈[0,n] 的分别有几个。思路经典dp套dp。第一次接触。首先回顾求最长公共子序列的方法:设 fi,jf_{i,j}fi,j​ 表示做到长度为 mmm 的字符串第 iii 位,sss 的第 jjj 位,然后转移。本题我们设 Fi,

2022-01-17 22:05:18 314

原创 【题解】3745. Problem A

3745. Problem A题目大意给定一棵树,每条边初始颜色为0。有三个操作:将某条路径上所有边反色;将有且只有一个点在某条路径上的边反色;求一条路径上的黑边个数。总结容易想到重链剖分。我们用线段树维护 sum0sum_0sum0​ 表示区间内白边个数, sum1sum_1sum1​ 同理,valvalval 表示连向该点的所有轻边是否反转。先看操作1:在链中跳的时候显然是把每个点的 sum0,sum1sum_0,sum_1sum0​,sum1​ 翻转;在链之间跳时给跳之前链头标

2022-01-17 21:41:54 206

原创 3736. 数学题(math)

题目大意给定两个向量,求 ∣xa⃗+yb⃗∣|x\vec a+y\vec b|∣xa+yb∣ 最小,x,yx,yx,y 不同时为0。思路约定:∣a⃗∣<∣b⃗∣|\vec a| < |\vec b|∣a∣<∣b∣ ,且两个向量夹角小于 π2\frac{\pi}{2}2π​Theorem1 :两个向量的夹角如果大于等于 π3\frac{\pi}{3}3π​ ,则答案等于 min(∣a⃗∣,∣b⃗∣)min(|\vec a|,|\vec b|)min(∣a∣,∣b∣) 。Proof:

2022-01-14 16:36:26 282 1

原创 2021csp-j/s第二轮总结反思

刚刚结束了csp-j/s,不是很理想,这里总结一下,希望以后能够改进。CSP-JCSP-J题目整体来说不是难,做起来也挺舒服的。这次只用了20分钟看题,除了第二题不大确定,其余都有明确的想法。先打了T1,把题目转换成数学式子就发现是在L到R当中选择一个数,使其模n最大。转化完后就随便做了。然后打了T3,总的来说T3的细节还是比较多的,调了好一会儿是因为没看好题,没考虑全,还好大样例还是比较强的,调完之后应该是没有问题的了。打完两题大概花了1h,然后回去看T2,一直不敢打5000*8000,怕TL

2021-10-24 11:53:44 1051

原创 7321. plusminus 总结

7321. plusminus 总结题目大意给一个大小为 n×mn\times mn×m 的矩阵,从 (1,1)(1,1)(1,1) 出发,能从 (x,y)(x,y)(x,y) 到 (x+1,y)(x+1,y)(x+1,y) 或 (x,y+1)(x,y+1)(x,y+1) ,矩阵上有一些 数,分别为 +1,−1+1,-1+1,−1 ,走到矩阵的任意位置,走过的路上的数之和 xxx 满足 0≤x≤t0\le x\le t0≤x≤t 。现在已知矩阵上的 kkk 个位置上的数,求满足要求的矩阵的个数。其中

2021-10-19 21:21:04 138 2

原创 【题解&总结】 gmoj 4744 同余

题目大意给定一个长度为 nnn​ 的序列 {an}\{a_n\}{an​}​ ,有 mmm​ 个询问,每次给出 l,r,p,ql,r,p,ql,r,p,q​ ,求区间 [l,r][l,r][l,r] 中有多少个 aia_iai​ 满足 ai≡q (mod p)a_i\equiv q\ (mod\ p)ai​≡q (mod p) 。题解显然题目其实是要求 ai=kp+qa_i=kp+qai​=kp+q 个 iii 的个数。我们考虑当 p≤100p\le 100p

2021-08-10 20:44:27 94

原创 【题解&总结】P1829 [国家集训队]Crash的数字表格

题目大意给定 n,mn,mn,m ,求∑i=1n∑j=1m[i,j]\sum_{i=1}^n\sum_{j=1}^m[i,j]i=1∑n​j=1∑m​[i,j]题解我们约定 n<mn<mn<m先把 lcmlcmlcm 换成 gcdgcdgcd ,则∑i=1n∑j=1mij(i,j)\sum_{i=1}^n\sum_{j=1}^m\frac{ij}{(i,j)}i=1∑n​j=1∑m​(i,j)ij​常规套路,枚举 (i,j)(i,j)(i,j) ,得∑d=1n∑i=

2021-08-07 22:12:21 139 1

原创 【学习笔记】杜教筛

杜教筛前置知识积性函数若 fff 为数论函数,a⊥ba\perp ba⊥b ,且 f(ab)=f(a)f(b)f(ab)=f(a)f(b)f(ab)=f(a)f(b)​ ,则​函数 fff 为积性函数特别的,若对于任意的 a,ba,ba,b ,都有 f(ab)=f(a)f(b)f(ab)=f(a)f(b)f(ab)=f(a)f(b) ,则函数 fff 为完全积性函数。常见的积性函数 :φ(n)\varphi(n)φ(n):111 ~ nnn 中与 nnn 互质的数的个数μ(n)\mu(n)μ

2021-08-04 12:21:03 129

原创 【题解&总结】 P3327 [SDOI2015]约数个数和

题目大意设 d(x)d(x)d(x) 表示 xxx 因数个数,给定 n,mn,mn,m ,求∑i=1n∑j=1md(ij)\sum_{i=1}^n\sum_{j=1}^md(ij)i=1∑n​j=1∑m​d(ij)题解首先有一个奇妙的结论:d(ij)=∑x∣i∑y∣i[gcd(x,y)==1]d(ij)=\sum_{x|i}\sum_{y|i}[gcd(x,y)==1]d(ij)=x∣i∑​y∣i∑​[gcd(x,y)==1]证明如下:根据定义,d(ij)=∑p∣ij1d(ij)=\sum_{

2021-07-29 21:25:53 187

原创 【题解&总结】 P3704 [SDOI2017]数字表格

这道题真是本人切的第一道黑题,我还是太弱了题目大意给定 n,mn,mn,m ,求 ∏i=1n∏j=1mfgcd(i,j)\prod_{i=1}^n\prod_{j=1}^mf_{gcd(i,j)}i=1∏n​j=1∏m​fgcd(i,j)​ 其中,fff 为斐波那契数列。题解考虑枚举 d=gcd(i,j)d=gcd(i,j)d=gcd(i,j) ,思考会存在多少个 fdf_dfd​ ,即 ∑i∑j[gcd(i,j)==d]\sum_i\sum_j[gcd(i,j)==d]∑i​∑j​[gcd(i,j

2021-07-22 20:22:08 122

原创 【刷题总结】 P2568 GCD

题意求 ∑d∈prime∑i=1n∑j=1n[(i,j)==d]\sum_{d\in prime}\sum_{i=1}^n\sum_{j=1}^n[(i,j)==d]d∈prime∑​i=1∑n​j=1∑n​[(i,j)==d]题解除以 ddd ,得∑d∈prime∑i=1⌊nd⌋∑j=1⌊nd⌋[(i,j)==1]\sum_{d\in prime}\sum_{i=1}^{\lfloor\frac{n}{d}\rfloor}\sum_{j=1}^{\lfloor\frac{n}{d}\rfloor}

2021-07-21 22:11:33 84

原创 【学习笔记】极其美妙的算法——FFT(快速傅里叶变换)

文章目录前言FFT是什么?多项式表示法系数表示法点值表示法初步想法问题解决问题2复数定义运算复平面单位圆前言最近学会了FFT,一个极其美妙的算法!众所周知FFT英文全称是 Fast Fast TLE Fast Fourier TransformFFT是什么?FFT(快速傅里叶变换)是DFT(离散傅里叶变换)的优化,用于加速多项式乘法。即:设 F(x)=∑i=0nfixiF(x)=\sum_{i=0}^nf_ix^iF(x)=∑i=0n​fi​xi , G(x)=∑i=0ngixiG(x)

2021-07-20 08:09:01 4236 5

原创 【题解&总结】 「NOI2018」屠龙勇士

题目大意题解考虑把题目转换一下,假设我们把杀每条龙所要用的剑求出来了(用平衡树或线段树预处理一下),设当前的剑的攻击力为 AiA_iAi​那么题目就可以转换为:找到一个最小的 xxx ,使得对于 ∀i∈[1,n]\forall i\in[1,n]∀i∈[1,n] ,都有 Ai⋅x≡ai (mod pi)A_i\cdot x\equiv a_i\ (mod\ p_i)Ai​⋅x≡ai​ (mod pi​)发现这与excrt很像,我们考虑化成其一般形式。但我

2021-07-18 19:46:00 291

原创 【题解&比赛总结】gmoj6683 我图呢

题目大意给你一个二分图,并告诉每个点的点权要求二分图的最大独立集并使得权值最大,同时输出任意一组方案。题解是一道经典的二元关系最小割的问题。我们要求二分图最大独立集,那么我们就可以考虑求最大匹配,即最大独立集=点数-最大匹配,具体证明为:二分图的独立数等于顶点数减去最大匹配数,很显然的把最大匹配两端的点都从顶点集中去掉这个时候剩余的点是独立集,这是|V|-2*|M|,同时必然可以从每条匹配边的两端取一个点加入独立集并且保持其独立集性质。——百度百科为了方便计算答案,我们可以考虑求最小点覆盖

2021-07-14 21:21:47 116 5

原创 【题解&总结反思】 gmoj4496 互补约数

题目大意已知 n≤1011n\le10^{11}n≤1011 ,求 ∑i=1n∑d∣igcd(d,id)\sum_{i=1}^n \sum_{d|i} gcd(d,\frac{i}{d})i=1∑n​d∣i∑​gcd(d,di​)总结一道高质量的题目,恶补了一下莫反,明白了之前很多不懂得东西原式可以理解为选择两个数 i,ji,ji,j 使得 i⋅j≤ni\cdot j\le ni⋅j≤n,然后求gcd的和,即∑i⋅j≤ngcd(i,j)\sum_{i\cdot j\le n}gcd(i,j)i⋅j≤

2021-07-13 19:41:42 84 1

原创 【题解&总结反思】 gmoj3454 表白(love)

题目大意总共有 nnn 个人,要将这 nnn 个人分成两队,要求第一队有 n1n1n1 人,第二队有 n2n2n2 人。第 iii 个人排到第 jjj 队则会获得 qj,iq_{j,i}qj,i​ 和 cj,ic_{j,i}cj,i​ ,要使得 qqq 的和与 ccc 的和的比值最大。思路求比值,应当想到0/1分数规划。常规套路,先二分一个答案(注意精度),然后进行判定。设二分出来的答案为 ddd则 ∑i∈n1q1,i+∑i∈n2q2,i≥d(∑i∈n1c1,i+∑i∈n2c2,i)\sum_

2021-07-11 07:56:14 107

原创 【题解&比赛总结】gmoj5698 密码

题目大意给你一个长度为n的序列A,每次选择一段区间,在模m的意义下整体+1或-1,问最少需要多少次操作才能使序列A变为0思路看到对于区间整体加减,应当要想到差分我们设 a0=an+1=0a_0=a_{n+1}=0a0​=an+1​=0, bi=ai−ai−1b_i=a_i-a_{i-1}bi​=ai​−ai−1​ (mod m)(mod \ m)(mod m) (0≤i≤n+1)(0\le i \le n+1)(0≤i≤n+1)设 a0=an+1=0a_0=a_{n+1}=

2021-07-11 07:23:14 122

原创 3400. 【GDOI2014模拟】旅行

#include<queue>#include<cstdio>#include<cstring>#include<iostream>#include<algorithm>using namespace std;const int N=1e4+5;struct node{ int to,next,w;}e[2*N];int cnt,n,k,m,INF;int head[N],g[1<<10],f[N][1<&l

2021-07-07 16:53:21 95 5

原创 【题解&比赛总结】【GDOI2004】可怜的绵羊

题目描述Description阿里是一个老实巴交的牧羊人,他有一块地,这块地周边插着一些树桩,阿里用一根粗绳顺次将这些树桩连结起来,构成一个凸多边形,这个多边形就是他的牡羊场了。阿里就是靠自己辛勤的劳动卖羊毛挣钱的。过冬了,今年特别冷所以羊毛的销量特别好,阿里看着自己的绵羊心里十分高兴。然后住在附近的财主见到了阿里的收成十分眼红,他在阿里的牧地里某些地方下了毒药,想毒死阿里的绵羊。阿里知道了这件事情,但他知道自己斗不过这个财主,他只能忍受着,他所能做的就是把自己的牧羊场缩小,即挑选出一些树桩,用绳子把牡

2021-04-04 12:24:36 152

原创 GDKOI 普及/提高 比赛反思总结

6天的GDKOI终于结束了,考得还行吧(有点意外),这里做做总结。普及组整个普及组我好像是745分第9名,自我感觉还不错吧。Day1这一天总的来说还是有些遗憾的,本来也许应该有400的,不过T1出了一些小意外。T1一个比较签到的题,不过比赛的时候我不小心把前缀异或的行列打反了,然后少判断了1,n和n,1的情况,炸剩20分,有点难受。T2一开始看完题目看样例的时候感觉很奇怪,我一直搞不懂,后来点下发文件的时候才发现样例错了。一开始没什么思路,简单化简了一下柿子,发现要找x左右两边第一个>

2021-02-05 20:20:57 330 3

原创 OI生涯 失误总结

GDKOI每天都出现了许多不该出的错误,丢了很多分,这里总结一下,希望能够改进。 1.1.1. 行列打反(PJ-Day1T1) 2.2.2. 考虑不周全(PJ-Day1T1) 3.3.3. 漏打模数(PJ-Day2T2) 4.4.4. 文操打错(PJ-Day3T4) 5.5.5. 数组未开够(TG-Day1T2) 6.6.6. 未知错误(TG-Day1T1)...

2021-01-31 16:34:49 148 1

原创 【GDKOI 2021提高组DAY2】群岛

一道需要动动脑的题,需要把题目转换一下,然后才好维护。Description题解对于ai<ia_i<iai​<i 的情况,我们发现iii是一定能到达a[i]a[i]a[i]的。那么说,我们假设把所有的[ai,i][a_i,i][ai​,i]当做线段,那么我们每次的查询就是找与[i,n][i,n][i,n] 相交最前的左端点。用线段树维护,支持区间加以及找前缀区间最后一个0的位置。特别的,为了避免把[x,y],[y+1,z][x,y],[y+1,z][x,y],[y+1,z]两

2021-01-30 21:43:19 246 1

原创 【GDKOI 2021提高组DAY2】 游戏

比赛时A了这道题,感觉很有意思。一道期望dp,比较好玩。DescriptionData Constraint题解期望dp多为逆推,我们从逆推的方向去想一想:设f[i]f[i]f[i]表示从iii颗星到n颗星的期望局数。容易推出方程:f[i]=p[i]f[i+1]+(1−p[i])f[i−1]+1f[i]=p[i]f[i+1]+(1-p[i])f[i-1]+1f[i]=p[i]f[i+1]+(1−p[i])f[i−1]+1发现有后效性,仔细观察得出:f[n]=0,f[n−1]=(1−p[

2021-01-30 18:47:32 225

原创 【GDKOI 2021普及组DAY2】我的世界

题目描述数据范围限制题解比赛的时候我发现了一个有用的规律:如果走传送门只会下一次上一次然后这个其实比较难找,我比赛时就把路径抽出来,O(n)枚举,用单调队列优化,时间复杂度O(nq)O(nq)O(nq) 40分。其实我们可以分类讨论一下:1.1.1.不走传送门时答案为:8(dis[u]+dis[v]−2dis[lca])8(dis[u]+dis[v]-2dis[lca])8(dis[u]+dis[v]−2dis[lca])2.2.2.走一个传送门(x)在u到lca的路径上,另一个(y)在

2021-01-28 21:00:36 257

原创 【学习笔记】数据结构:无旋Treap(二)区间操作

学了无旋Treap的普通操作后,就学了一下区间的一些操作,然后打了一道极其恶心的题目:[NOI2005]维护数列这里通过这道题来好好讲一讲平衡树的区间操作。First of all首先我们得理解此时的平衡树维护什么,它维护的是每个数下标的大小关系,因此,这棵平衡树的中序遍历就是这个序列。那假如说又要维护值又要维护下标呢?算了吧,好好打树套树。Second好,进入正题,我们来看看这道题用无旋Treap怎么做。首先,我们先看看它的两个核心操作:split和merge。//分裂void spli

2021-01-24 15:11:01 306

原创 【学习笔记】数据结构:无旋Treap

最近学习了一下无旋Treap,发现无旋Treap真的太好打了,而且也很好理解,很好用。Treap?什么是Treap?顾名思义:Treap=Tree+heap,即“树堆”,“树”指的是二叉查找树,“堆”就是堆。那二叉查找树跟堆有什么关系呢?当输入的数据十分恶心的时候,普通的二叉查找树的时间复杂度就会由 nlog2nnlog_2nnlog2​n 退化到 n2n^2n2 级别,时间复杂度难以让人接受。而我们现在考虑优化,我们可以在每一个节点上多放一个数,然后使得这棵树既满足二叉排序树的性质也满足堆的性

2021-01-02 15:07:00 970

原创 【题解&比赛总结】NOIP 2020正式赛 字符串匹配 (string)

题面Sample Input3nnrnnrzzzaabmmlmmloSample Output8916数据范围题解First of All我们首先先考虑一个朴素的暴力算法:我们枚举一个 ABABAB,然后求出 (AB)i(AB)^i(AB)i 那么此时 CCC 也就确定了。然后我们再枚举出A,然后判断是否可行,统计答案即可时间复杂度 θ(Tn3)\theta(Tn^3)θ(Tn3)优化我们发现这个方法的时间复杂度实在是难以令人接受了。我们考虑优化。枚举AB是少不了

2020-12-26 22:08:05 450 1

原创 【题解&比赛总结】简单题(easy)

Description小 P 完成了签到之后就开始了比赛,他看了眼第一题,第一题的题意是这样的:KCZ 王国有 NNN 个城市,被 MMM 条双向道路连接。每条双向道路都有一个维修费用。国王 KCZ 想要去掉尽可能多的边,使得留下来的边依旧能使王国的任意两个城市之间都有经过一条或多条边的路径。在所有的方案中,国王 KCZ 希望留下来的边的维修费用之和最小。现在,国王 KCZ 准备调整一些边的维修费用来影响最后留下的边的结果。对于每条边,他希望你告诉他,在保证这条边有希望被留下来的同时,这条边的维修费用最

2020-11-28 22:07:25 418

原创 【题解&比赛总结】图形变换

好久没有打题解了,今天做了一套好题,收获良多。Description翔翔最近接到一个任务,要把一个图形做大量的变换操作,翔翔实在是操作得手软,决定写个程序来执行变换操作。翔翔目前接到的任务是,对一个由n个点组成的图形连续作平移、缩放、旋转变换。相关操作定义如下:Trans(dx,dy)Trans(dx,dy)Trans(dx,dy) 表示平移图形,即把图形上所有的点的横纵坐标分别加上dx和dy;Scale(sx,sy)Scale(sx,sy)Scale(sx,sy) 表示缩放图形,即把图形上所有点

2020-11-14 21:30:51 148

转载 2020CSP初赛试题答案解析

转载转载于https://blog.csdn.net/zsjzliziyang/article/details/109060410#2.CSP-J%E7%AD%94%E6%A1%88%EF%BC%88C%2B%2BA%E5%8D%B7%EF%BC%89

2020-10-16 14:40:13 3469

原创 【题解&比赛总结】GMOJ5348心灵治愈

【题目描述】题目太生草了,我给读者们简化一下。给定一个长 N+1N+1N+1 的序列 aaa 的第 N+1N+1N+1 位,求满足 ∑i=1nai⋅xi+M⋅xn+1=1\sum_{i=1}^{n}a_i·x_i+M·x_{n+1}=1∑i=1n​ai​⋅xi​+M⋅xn+1​=1 (xi∈Z)(x_i\in \mathbb{Z})(xi​∈Z) 的序列 aaa 有多少个。【思路】我把我比赛时的思路说说,可能能帮助理解。首先看到 N=1N=1N=1 的情况,即 a1x1+Mx2=1a_1x_1+

2020-10-08 17:05:11 96

原创 【题解&刷题总结】青蛙的约会

题目描述两只青蛙在网上相识了,它们聊得很开心,于是觉得很有必要见一面。它们很高兴地发现它们住在同一条纬度线上,于是它们约定各自朝西跳,直到碰面为止。可是它们出发之前忘记了一件很重要的事情,既没有问清楚对方的特征,也没有约定见面的具体位置。不过青蛙们都是很乐观的,它们觉得只要一直朝着某个方向跳下去,总能碰到对方的。但是除非这两只青蛙在同一时间跳到同一点上,不然是永远都不可能碰面的。为了帮助这两只乐观的青蛙,你被要求写一个程序来判断这两只青蛙是否能够碰面,会在什么时候碰面。我们把这两只青蛙分别叫做青蛙A和青

2020-09-20 09:32:33 963 1

原创 【题解&比赛总结】字符串距离

Description给出两个由小写字母组成的字符串 X 和Y ,我们需要算出两个字符串的距离,定义如下:1)我们可以在字符串的头、尾、中间插入若干空格,组成一个新的扩展串2)对X扩展成扩展串X1,对Y扩展成扩展串Y1,并且令X1和Y1具有相同的长度3)定义X1、Y1的距离为每个对应的字符的距离之和,其中两个空格的距离为0,两个非空格字符的距离为其ASCII码之差的绝对值,一个空格字符到任意非空格字符的距离为K4)对于字符串X、Y,必然存在两个等长的扩展串X1、Y1,使得X1、Y1的距离达到最少,

2020-09-13 07:33:13 173

原创 【学习笔记】数据结构:树状数组(二)区间修改

目录前言区间修改单点查询查询修改CodeCodeCode区间修改区间查询查询修改CodeCodeCode总结前言上一次我讲了树状数组的单点修改,这次我打算讲一讲树状数组的区间修改。区间修改单点查询似乎毫无头绪。我们知道,树状数组的思想是前缀和,那我们是不是可以用一下前缀和的逆运算:差分呢?首先我们设 bi=ai−ai−1b_i=a_i-a_{i-1}bi​=ai​−ai−1​ ,那我们看一下:查询我们首先考虑查询。我们要求 aia_iai​ 那么我们就只用求 ∑j=1ibj\sum_{j

2020-09-06 08:13:10 538 1

原创 【学习笔记】数据结构:树状数组(一)单点修改

目录前言什么是树状数组?一二总结前言平常打线段树是不是打得烦了?代码量长 ,难修改?那就学学树状数组吧!单点修改:树状数组 303030 行,线段树 505050 行区间修改:树状数组 404040 行,线段树 100100100 行看到没有,这就是差距!什么是树状数组?树状数组又名二进制查找树,为什么呢?让我们来看一看吧。(以下图片来自网络)乍一看好像没什么头绪,刚才说了,树状数组又名二进制查找树,把它的编号转成二进制看看?显然:一二设当前编号末尾有 xxx 个0那么总

2020-08-27 10:32:57 391

原创 【学习笔记】数论/递推/矩阵/倍增:斐波那契数列

到现在,斐波那契数列对于OIer们可谓无人不知无人不晓了可是,对于大多数初初学者来说,他们只知道一个简单的递推式而对于一些初学者来说(包括我在内),也只懂得一个矩阵快速幂去优化事实上,还有一个 O(1)O(1)O(1) 时间复杂度的做法:黄金比例(虽然我看不懂证明过程)那么我们就来讲讲斐波那契数列吧斐波那契数列举个例子,一个很普通的递推:这里有 nnn 层楼梯,每次你可以向上爬1层或2层,你现在在第1层楼梯,问你爬到第 nnn 层楼梯有多少方案。很显然,递推式就是 Fn=Fn−1+Fn−2F_

2020-08-19 12:22:58 361

原创 【题解&刷题总结】ZJOI 2007 仓库建设(斜率优化dp)

又刷了一道斜率优化dp题目题目描述输入格式输入的第一行是一个整数 n,代表工厂的个数。第 2 到 (n + 1) 行,每行有三个用空格隔开的整数,第 (i + 1)行的整数依次代表 xi,pi,cix_i,p_i,c_ixi​,pi​,ci​输出格式仅输出一行一个整数,代表最优方案的费用。输入输出样例输入30 5 105 3 1009 6 10输出32样例输入输出 1 解释在工厂 1 和工厂 3 建立仓库,建立费用为 10+10=20 ,运输费用为 (9−5)×3=12,总

2020-08-17 21:54:34 163

原创 【题解&刷题总结】荒岛野人(扩展欧几里得)

题目题解&思路我们可以把题目稍微转换一下:设有 mmm 个洞穴,对于两个野人,他们要互相攻击得满足什么?很明显,若第 iii 个野人与第 jjj 个野人要相互攻击,则 ci+pi⋅x≡cj+pj⋅x(modc_i+p_i·x \equiv c_j+p_j·x(modci​+pi​⋅x≡cj​+pj​⋅x(mod m)m)m)稍微移一下项: (pi−pj)x≡cj−ci(mod(p_i-p_j)x \equiv c_j-c_i(mod(pi​−pj​)x≡cj​−ci​(mod m)m)m

2020-08-16 14:34:37 208

空空如也

空空如也

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

TA关注的人

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