- 博客(40)
- 收藏
- 关注
原创 csp2019游记 公开版
csp2019游记 公开版这次的题目.....是真的有意思、、、后来考试也爆炸恨死张源DAY??秋游离队DAY???得知自己初赛爆炸还进入复赛,十分高兴DAY0睡觉DAY1真好玩,就我一个人走西门去文渊的?大叔以为我是打网球的然后找人,只招到20181235俞越神仙,ORZ一波考试前高兴地吃巧克力密码是Ren2Zhen0Si1Kao9?认真思...
2019-11-20 22:06:46
293
原创 (luogu)同余方程
同余方程就是让我们解方程 ax+by≡1 求x直接上 exgcd 做完然而要记得,最后求得的答案一定对,但是不一定最小或者满足正整数还要变换一下std#include<bits/stdc++.h>using namespace std;int a,b,x,y;void exgcd(int A,int B){ if(B==0){ x=1; ...
2019-06-02 13:33:12
378
原创 拓展欧几里得
二线工程=exgcd拓展欧几里得就是一件事:x=y’ y=x-(A/B)*y’好的,做完了例题同余方程也十分简单就不讲了在excrt中exgcd还起到了打辅助的作用厉害吧最后放上贝祖等式:ax+by=gcd(x,y)贝祖定理是代数几何中一个定理,其内容是若设a,b是整数,则存在整数x,y,使得ax+by=gcd(a,b),(a,b)代表最大公因数,则设a,b是不全为零的整数...
2019-06-02 13:25:56
167
原创 费马小定理及其应用
费马小定理及其应用同步发行在luogu思考一下费马小定理:a^(p-1)≡1(mod p) (当gcd(a,p)=1且p为素数时)它是怎么成立的?它是可以由欧拉定理证明的欧拉定理:若正整数 a , n 互质,则 a^φ(n)≡1(mod n) 其中 φ(n) 是欧拉函数(1~n) 与 n 互质的数。那么当gcd(a,p)=1且p为素数时φ§=p-1,成立所以从另一方面...
2019-06-01 23:03:36
2183
原创 文章总数35祭+tarjan的多种用法:求强连通分量,缩点,割点、桥,LCA,点双连通图、边双联通图、2-SAT问题
文章总数35祭+tarjan的三种用法:求强连通分量,缩点,割点和桥tarjan算法十分奇妙,有许多不同的运用。下面我们一起看看。0.背景知识先度娘一下tarjan:Robert Tarjan,计算机科学家,以LCA、强连通分量等算法闻名。他拥有丰富的商业工作经验,1985年开始任教于普林斯顿大学。Robert Tarjan他还在多所大学担任学术职务,如:康奈尔大学(1972-1973年...
2019-02-12 22:50:32
532
1
原创 Debug Team Round 1# & Lunar New Year
Debug Team Round 1# & Lunar New Year出题人:QYJ第一名:奖励MASTER称号并rank+100第二名:rank+60第三名:rank+30T1枚举每个,暴力判断。时间复杂度O(N)T2枚举:O(N^2)前缀和优化:O(N)T3暴力O(N^2)简单的线段树O(NlogN)T4HQH的时间一定,线性dpQYJ的时间,时间复杂度...
2019-02-11 22:05:50
187
原创 ZROI 欢度新春娱乐赛
ZROI 欢度新春娱乐赛WOW!T1:十分easy?考场上预处理+gcd大致思路是一个点x-1和y-1互质,那么这个点一定看得见170分,原因是要从1枚举到1001才行,因为(如题源代码#include<bits/stdc++.h>using namespace std;const int N=1005;int T; int c[N][N]={0};int ...
2019-02-06 10:59:53
212
原创 【JLOI】02金猪贺岁-贪心策略
【JLOI】02金猪贺岁-贪心策略贪心策略!NOIP普及组重点题型然后,别以为算法很基础,IOI都在考贪心策略!你问我贪心策略是啥?那就是:局部最优解就是最优解【引入例题】P1031 均分纸牌思考:【算法1】如果你是大神,你可以发现N很小,然后你就可以N^3地dp【算法2】考虑贪心。我们可以用转化法,令opt为原数组的平均数,让每个数字-=opt,然后当a[i](第i堆纸牌与平均数...
2019-02-04 11:06:31
328
原创 【JLOI】01新年首讲-二分答案
【JLOI】01新年首讲,不是吗?二分答案!CCF NOIP 普及组基础知识接下来我们将用2节课时间来讲一下二分以及二分答案【引入例题】给定一个长度为n的序列,保证是从小到大排的。有m次询问,每次询问数组中x第一次出现的位置。如果没有出现x就输出-1n、m<=100000【思路】普通做法无脑n×m模拟,时间复杂度O(nm),0分高级做法二分答案首先二分是有局限性的:...
2019-02-03 17:48:45
203
原创 CF620E New Year Tree
CF620E New Year Tree我爱卡常数~首先一看:哇!数颜色(普通莫队),带修(带修莫队),在树上做(树上莫队)然后你会发现时间复杂度简直是天方夜谭所以…你要用DFS序+线段树但是我总是TLE第51个点怎么办?呼叫卡常数国国王!1.i++写成++i2.循环里用register int3.能不开LL就不开LL4.程序压行5.while比for好6.cin优化...
2019-02-03 11:00:10
216
原创 文章总数30祭+CF383C Propagating tree
文章总数30祭+CF383C Propagating tree题意:给出一棵n个结点的树,每个结点有一个权值,有m个操作,一个是给x结点加上val,并且给x的子节点加上-val(这里有传递性,子节点还要给其子节点加上-(-val))。另一个操作是查询某个结点的值。还有,根是1
2019-02-02 16:58:56
200
原创 CF877E Danil and a Part-time Job
CF877E Danil and a Part-time JobDFS序神题首先你得了解DFS序是什么有谁知道吗?好,那就有请小Y同学来给我们讲讲DFS序及其运用吧!ERR,有意思,那就举个例子吧!傲!所以…它有那些特别之处呐?看来神犇被黑洞吸走了。请自行前往密室寻找剩下的性质我们的题解开始了。由于是子树修改、查询,只要运用性质一即可这里要结合线段树使用push...
2019-02-01 16:55:09
317
原创 CF86D Powerful array
CF86D Powerful array题意:给出一个n个数组成的数列a,有t次询问,每次询问为一个[l,r]的区间,求区间内每种数字出现次数的平方×数字的值 的和。 输入:第一行2个正整数n,t。 接下来一行n个正整数,表示数列a1a_1a1~ana_nan的值。 接下来t行,每行两个正整数l,r,为一次询问。 输出:t行,分别为每次询问的答案。思路:一眼莫队搞清楚维护啥维护出现次数...
2019-02-01 16:23:29
238
原创 CF220B Little Elephant and Array
CF220B Little Elephant and Array小小莫队题目描述 小象喜欢和数组玩。现在有一个数组a,含有n个正整数,记第i个数为ai 现在有m个询问,每个询问包含两个正整数lj和rj(1<=lj<=rj<=n),小象想知道在Alj到Arj之中有多少个数x,其出现次数也为x 输入格式 第一行n和m,n表示数组大小,m表示询问个数,下一行为数组的值,再下m行,每...
2019-02-01 10:58:28
222
原创 CF940F Machine Learning(一道带修莫队)
CF940F Machine Learning(一道带修莫队)蒟蒻第一次做带修莫队,觉得好简单带修莫队,简单来讲有三个指针:L,R,time然后进入奇异博士时刻!带修莫队与普通莫队有什么不同呢?时间指针又是啥?所以如何转移时间指针?所以我们可以写出时间转移函数void RE(int pos,int val){ if(pos>=l&&pos<=r...
2019-02-01 10:50:36
221
原创 文章总数25祭+莫队略解
文章总数25祭+莫队略解莫队,啥东东?就是“排序巧妙优化复杂度,带来NOIP前的最后一丝宁静。几个活蹦乱跳的指针的跳跃次数,决定着莫队算法的优劣……”所以,莫队几乎可以解决一切区间问题比如这道题哈哈其实是一道莫队入门题我们先来想离线算法如图:那么…我们如何从第一次询问转移到第二次询问呐?很简单我们定两个指针:l和r然后,就有好玩的事发生了!两个区间的转移:事实上是...
2019-01-31 09:32:10
154
原创 差分、树上差分略解
差分、树上差分略解哈哈差分? 先来看一道题: 题目描述: –给定包含 n个数的数组 a1,a2,…,an.有 k次操作 每次操作把区间[l,r]加上v。最后求出数列每个位置的数。 输入格式 –第一行,n.第二行,a1,a2,…
2019-01-30 19:56:28
183
原创 luogu P1849 [USACO12MAR]拖拉机Tractor
luogu P1849 [USACO12MAR]拖拉机Tractor感谢Chevalier提供的好思路我在Chevalier思路的基础上做了改进其实就是问至少要穿过几个环如图:帅气~所以…影响的可能性只有围绕起点的草堆环数所以思路出啦!每次从原点BFS一遍,碰到边缘就停下、删除、记录,直到回到原点但是…这算法好慢啊!实测1662ms还不如其他的!但是,我们可以优化它。...
2019-01-25 20:16:36
310
原创 luogu P3855 [TJOI2008]Binary Land
luogu P3855 [TJOI2008]Binary Land有意思话说我家也有任天堂的机子,只不过是swich,不是红白机下面进入题解环节乍一看:吓死!事实上:水题!BFS即可第一次到终点就可以了记住:有蜘蛛网!有蜘蛛网!!有蜘蛛网!!!(used判重不要忘记)(还有墙的事)std:#include<bits/stdc++.h>using name...
2019-01-24 10:10:50
296
原创 期末考试+竞赛班选拔考试
期末考试+竞赛班选拔考试莫名其妙?DAY -∞今天起到期末不能碰电脑了!┭┮﹏┭┮DAY -30今天食堂晚饭好好吃!有鸡翅之类的,一定助我竞赛班升级!然后到考场,发卷老师有点小凶。。。。。。数学还简单,应该错了一道填空,大题6种情况只考虑了2种。。。。。。科学贼难!2~3道没做!20分没了!(看来食堂的鸡翅不能拯救我,可能啊航宇也要上了)DAY -1疯狂复习道社!DAY 1...
2019-01-24 09:27:17
352
原创 (文章总数20祭)luogu P3256 [JLOI2013]赛车
luogu P3256 [JLOI2013]赛车P3256 [JLOI2013]赛车 小小模拟 每次枚举i,对于每个j判断一次 时间复杂度:O(n^2) std:#include<bits/stdc++.h>using namespace
2018-12-31 21:23:30
238
原创 luogu P2462 [SDOI2007]游戏
luogu P2462 [SDOI2007]游戏还没人用01BFS?那我来一发题解。初始建图:方案一:枚举i,j,暴力判断时间复杂度:O(n^2✖26),妥妥地爆炸方案二:枚举i,➕或➖一个字母时间复杂度:O(n*26),可以承受,但是要hush跑最长路:方案一:dp 时间复杂度:未知,但会爆方案二:dijkstra 时间复杂度:O((n+m)logm)但是好像一般方案三:S...
2018-12-30 22:04:18
169
原创 luogu P1637 三元上升子序列
luogu P1637 三元上升子序列十分有意思的一道线段树首先:哇!30000!暴力!然后…63我们来考虑优化!用线段树考虑每次加入一个数前先计算比它小的数的个数可以用f[i]表示i这个数字的出现次数答案=f[0]+…+f[i-1]比它大的也这样算答案=l[1]*r[1]+…+l[n]+r[n]l[i]表示在i左边且比a[i]小的个数r[i]表示在i右边且比a[i]大...
2018-12-30 19:56:40
135
原创 luogu P3831 [SHOI2012]回家的路
luogu P3831 [SHOI2012]回家的路有人用dijkstra吗?估计没…思路就是分层图最短路f[pos][k]表示在第pos位且在第k层所用最短路初始化全部为-1(到不了)然后堆优化的dijkstra记住:没标记的点无卵用!就是这样!至于有一个点卡了我超级久:我是这样:dan’shi但是!90所以它的打开方式是:见洛谷...
2018-12-24 20:51:18
255
原创 luogu P1306 斐波那契公约数
luogu P1306 斐波那契公约数结论题gcd(f[a],f[b])=f[gcd(a,b)]玄学优化一下然后ACstd:#include&lt;bits/stdc++.h&gt;using namespace std;typedef long long ll;#define p 100000000//gcd(f[a],f[b])=f[gcd(a,b)]ll a,b;ll...
2018-12-22 16:01:53
242
原创 luogu P2801 教主的魔法
luogu P2801 教主的魔法谜之分块初学分块,找题练练手大概分块示意图:分块大法好!std:#include&lt;bits/stdc++.h&gt;using namespace std;#define rep(i,a,b) for(int i=a;i&lt;=b;i++)#define FOR(x) while(x--)const int N=1000005;st...
2018-12-15 21:31:19
184
原创 BMHOJ 1439: 选择我自己的算法
BMHOJ 1439: 选择我自己的算法看:数据多小!水题!搜索一交:80pts天哪,有毒吧!那。。。就dp令f[i][j]表示用了i个值为j可不可能达到转移很简单当然,滚动数组一开就好了—》f[j]=1,则f[j+a[k]]=1,f[j*a[k]]=1;std:#include<bits/stdc++.h>using namespace std;#defi...
2018-12-14 21:38:29
636
原创 luogu P1156 垃圾陷阱
luogu P1156 垃圾陷阱动态规划没错f[i][j]表示第i个时刻还有j的生命值能叠的最大值好写但垃圾所以滚!std:#include<bits/stdc++.h>using namespace std;struct Trbs{ int t;//投放的时间 int tim;//维持的时间 int h;//高度 }s[101];int...
2018-12-10 21:39:36
116
原创 luogu P4009 汽车加油行驶问题
luogu P4009 汽车加油行驶问题网络流!(可惜我不会)最短路!(可惜我打不好)dp!(可惜码量太大)BFS!(终于来一哥么儿可写)大力一发BFS记忆化:f[i][j][k]表示到达i,j这个点,油量还有j的最小花费然后应该没人会傻到油没用完就去建油库的~记住:自己建油库的花费=油库花费+加油花费!(否则你建了油库不加油,傻么?)还有:到了终点你不管有油没油、有...
2018-12-09 15:29:37
289
原创 luogu P3871 [TJOI2010]中位数
luogu P3871 [TJOI2010]中位数平衡树模板?貌似是的写个插入和左右旋以及查询Kth就可以了std:#include&lt;bits/stdc++.h&gt;using namespace std;const int N=2000000;struct node{//结构体重建树 int l;//左儿子 int r;//右儿子 int k;//...
2018-12-07 21:44:37
231
原创 (文章总数10祭)luogu P2814家谱
P2814 家谱垃圾并查集?是的!还要哈希一下字符串哈希操作是pj的,简单所以这题挺水std:#include&lt;bits/stdc++.h&gt;using namespace std;#define ch char#define str stringconst int N=500005;int f[N];str s[N];int lf=-1;//lf为上个输入的...
2018-12-07 20:47:12
159
原创 luogu P5057 [CQOI2006]简单题
luogu P5057 [CQOI2006]简单题一个线段树提供一个新的思路:对于操作一:给l,r之间所有数+1对于操作二:看作询问a[x]的奇偶性奇数输出1偶数输出0就成一个模板题了std:#include&lt;bits/stdc++.h&gt;using namespace std;#define ll long long#define LB l,mid,num&lt...
2018-12-05 21:15:18
185
原创 luogu P1169 [ZJOI2007]棋盘制作
luogu P1169 [ZJOI2007]棋盘制作最大子矩阵这题两问1.最大子正方形2.最大子矩阵对于最大子矩阵有几个东东:1.l[i][j]:i,j这个点向左拓展能到的最远点2.r[i][j]:i,j这个点向右拓展能到的最远点3.u[i][j]:i,j这个点向上能拓展几格就可以愉快地计算了!std:#include<bits/stdc++.h>using n...
2018-12-05 20:53:25
117
原创 luogu P2513 [HAOI2009]逆序对数列
luogu P2513 [HAOI2009]逆序对数列动态规划f[i][j]表示前i个数有j个逆序对的方案数f[1][0]=1然后80分#include<bits/stdc++.h> using namespace std;#define mod 10000const int N=1005;int n,m;int f[N][N]={0};//f[i][j]表示前i个...
2018-12-05 19:14:32
319
原创 luogu P2051 [AHOI2009]中国象棋
luogu P2051 [AHOI2009]中国象棋简单dp?f[i][j][k]表示dp了前i行,有j列放了1个棋子,有k列放了2个棋子的方案数转移自己手写(太长了)注意:转移时记得排列组合f[0][0][0]初始化为1!std:#include&lt;bits/stdc++.h&gt;using namespace std;#define mod 9999973 cons...
2018-12-05 18:00:05
255
原创 luogu P2014 选课
luogu P2014 选课42行代码或成此题最X题解?一看:树形dpf[i][j]表示以i为根的子树选了j个课所获得的最大学分等等,课可以重复选!要用背包搞搞喽每次枚举子节点对每个子节点先进行树形dp再对父节点进行背包这里可以把0看成一个假根,可以不选所以对于每个不是假根的节点,一定要选自己怎么选?先背包,背包好了后f[x][i]=f[x][i-1]+s[i]完美~s...
2018-12-03 20:42:55
286
原创 luogu P1627 [CQOI2009]中位数
luogu P1627 [CQOI2009]中位数36行或成此题最长题解?看题先想暴力暴力~O(n^2) 赤裸裸地爆炸考虑优化重要思想:前缀和有请前缀和!我们只要关心相对大小即可:比m大:赋值为1比m小:赋值为-1和m相等:赋值为0暨求一段奇数个元素的子序列,使它的值的和=0有请前缀和!我们知道一个区间总能表示成s[i]-s[j-1],其中s为前缀和数组我们预处理出前...
2018-12-02 21:45:47
210
原创 luogu P2602 [ZJOI2010]数字计数
P2602 [ZJOI2010]数字计数一眼:数位dp等等,先来个暴力再说枚举l~r的数字对于每个数字求出它每位位值时间复杂度 O(k(r-l)) k为数字位数(常数,最大12)#include&lt;bits/stdc++.h&gt;using namespace std;#define ll long longll l,r;ll a[11];void add(ll u){...
2018-12-01 12:57:42
302
原创 luogu P2216 [HAOI2007]理想的正方形
** P2216 [HAOI2007]理想的正方形**首先当然考虑暴力确定左上角后就搜一遍整个正方形,时间复杂度O(abn^2),20pts#include&lt;bits/stdc++.h&gt;using namespace std;const int N=1005;int n,m,s;int a[N][N];int ans=2147483647;int main(){ ...
2018-11-29 22:06:19
152
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人