
基础模板
文章平均质量分 58
河林山
这个作者很懒,什么都没留下…
展开
-
bfs+剪枝(一点到另一点,求的是最短/最少)
题目1:拯救行动计蒜客提交链接解题思路:理论上深搜一定可以得出答案,但会超时,即使加2个剪枝也会超时。剪枝1:当前步数>=最小步数,返回;剪枝2:此刻经过点(x,y)的步数>之前经过该点时的步数,返回。如果用广搜需要解决这个问题:骑士层层向外搜索第一次找到公主时不一定花费的时间最少,只能说是路径最短。即广搜过的点有可能会再次被利用,进入队列。如何判断该点需不需要再次被利用。用到深搜中的剪枝2思想,即当小于等于时让该点进队列。上述问题已解决。为了更节省时间,剪枝1也用。代码1(原创 2021-05-08 12:25:38 · 576 阅读 · 0 评论 -
多源最短路+二分
题目:Travel Expense牛客提交链接邀请码:ayit606示例1输入3 21 22 331 2 51 3 52 3 2输出512题意:第一行:n,m接下来m行,表示u,v相连接下来Q次询问:s,t,b表示起点,终点,和手中的金钱。对于每次询问,需求出从s到t最多可带的东西数量。收费须知:假如你带k件东西,s到t为距离3应付综费:k + k * k + k * k * k。代码:#include<stdio.h>#include&原创 2021-05-05 10:53:34 · 128 阅读 · 0 评论 -
求i与[i+1,n]互质的个数例题模板
题目:A Simple Math Problem牛客提交链接题目描述 :输入描述:输出描述:题意:——F(j)函数表示各位数字之和举个例子来讲题意吧:假设n=5i: j1: 12: 1 23: 1 2 34: 1 2 3 45: 1 2 3 4 5——找出i与j互质的j,求F(j)累加之和。解题思路:不能使用2层for循环求互质个数,首先要想到欧拉函数(求n与[1,n]互质的个数),发现不行,不能只单单知道个数,还需知道具体到某个数。转化题意:j:原创 2021-05-05 09:12:48 · 267 阅读 · 0 评论 -
Roadblocks(spfa+邻接表,双向边邻接表的构建)
vjudge提交链接题目Bessie has moved to a small farm and sometimes enjoys returning to visit one of her best friends. She does not want to get to her old home too quickly, because she likes the scenery along the way. She has decided to take the second-shortest r原创 2021-03-09 20:48:21 · 298 阅读 · 0 评论 -
单源最短路:bfs()+邻接表模板(邻接表2种方法构建)
题目:On Average They’re Purple牛客提交链接示例1输入3 31 31 22 3输出0示例2输入7 81 21 32 43 44 54 65 76 7输出3题意:——求1到n的最短路,再减1即可。题意可能不太容易明白,多琢磨琢磨。代码1:(vector容器构建邻接表)#include<stdio.h>#include<string.h>#include<algorithm>#inc原创 2021-05-05 10:30:24 · 182 阅读 · 0 评论 -
线段树基础模板
线段树C国的死对头A国这段时间正在进行军事演习,所以C国间谍头子Derek和他手下Tidy又开始忙乎了。A国在海岸线沿直线布置了N个工兵营地,Derek和Tidy的任务就是要监视这些工兵营地的活动情况。由于采取了某种先进的监测手段,所以每个工兵营地的人数C国都掌握的一清二楚,每个工兵营地的人数都有可能发生变动,可能增加或减少若干人手,但这些都逃不过C国的监视。中央情报局要研究敌人究竟演习什么战术,所以Tidy要随时向Derek汇报某一段连续的工兵营地一共有多少人,例如Derek问:“Tidy,马上汇报第原创 2020-12-05 12:07:25 · 102 阅读 · 0 评论 -
queue队列模板
题目链接:https://codeforces.com/problemset/problem/540/C题意:这是一个多级冰洞,洞的每一层都是相同的平面一个平面由完整冰和裂缝冰组成, 在一个平面上你可以4个方向进行移动如果移动到裂缝冰,你便会向下跌一层,如果移动到完整冰,你仍可以在这个平面上进行移动,但在走过的完整冰会变为裂缝冰最后,如果可以到达终点Yes,否No思路:(简单的广搜即可)需要注意的是:当你走到终点时,该冰必须为破裂冰,因为你需要从终点跌落下去,如果是完整冰,那你必须再一次走到终原创 2020-09-27 19:31:01 · 211 阅读 · 0 评论 -
欧拉降幂,快速幂模板
**求a^b%p**1.b不是很大,直接用快速幂板子来写即可**快速幂板子**ll quickpow(ll x,ll y ll z){//x^y%z ll ans=1; while(y) { if(y&1) ans=ans*x%z; x=x*x%z; y>>=1; } return ans;}2.b很大,long long都存不下,就不能直接快速幂了,首先必须让b变小,需要对b取模,但不能直接让b对p取模,这里需对p运用欧拉函数板子改变p的值.原创 2020-09-27 19:05:50 · 283 阅读 · 1 评论