自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 [分层最短路板子] 洛谷 P4568

题目题目链接:https://www.luogu.com.cn/problem/P4568代码#include<cstdio>#include<cstring>#include<cmath>#include<cstdlib>#include<cctype>#include<ctime>#include<iostream>#include<string>#include<map>

2021-01-19 19:01:44 3

原创 [cf] 1473 D. Program

题目给一组长为nnn的数列,输入mmm个修改l、rl、rl、r,每次计算除开l、rl、rl、r中的数,其他数的最大前缀和-最小前缀和+1题目链接:http://codeforces.com/contest/1473/problem/D思路preprepre数组记录前缀和pmax、pminpmax、pminpmax、pmin分别记录前缀最大最小umax、uminumax、uminumax、umin分别记录从i开始后缀最大最小除开l、rl、rl、r的最大值为max(pmax[l−1],pre[l−

2021-01-19 16:27:00 11

原创 [凸包面积板子]

#include<cstdio>#include<cstring>#include<cmath>#include<cstdlib>#include<cctype>#include<ctime>#include<iostream>#include<string>#include<map>#include<queue>#include<stack>#inclu

2020-11-20 22:12:47 21

原创 [除数函数+除法分块]

题目题目思路这个大佬写的很好!大概就是枚举111~nnn的因子。因子为iii时,有⌊n/i⌋\lfloor n/i \rfloor⌊n/i⌋个数会用它做因子。代码#include<cstdio>#include<cstring>#include<cmath>#include<cstdlib>#include<cctype>#include<ctime>#include<iostream>#inclu

2020-11-19 00:41:47 144

原创 快排板子

#include<cstdio>#include<cstring>#include<cmath>#include<cstdlib>#include<cctype>#include<ctime>#include<iostream>#include<string>#include<map>#include<queue>#include<stack>#inclu

2020-11-16 21:30:59 13

原创 cf 1447 A Add candies

题意nnn个数分别为1、2、3....n1、2、3....n1、2、3....n,现在有一种操作,第jjj次操作能让除开被操作数的其他所有数都加上jjj。如果要最后nnn个数相等,输出需要几次操作,与每次被操作的数的下标。题目链接思路要让所有的数相等,那么让相等时所有的数都等于111到nnn的和,对于第一个数 他已经有一个111,那么就对除开它本身的所有数加上111,对第二个数,它现在是2+12+12+1,其他的数少了一个222,那么就对除开它本身的所有数加上222…以此类推,加到最后都是111到n

2020-11-16 12:23:18 82

原创 [高斯消元板子题]luogup3389

题目链接板子#include<cstdio>#include<cstring>#include<cmath>#include<cstdlib>#include<cctype>#include<ctime>#include<iostream>#include<string>#include<map>#include<queue>#include<stack&gt

2020-11-06 15:41:20 12

原创 2020-11-05

题目CF1445D思路代码#include<cstdio>#include<cstring>#include<cmath>#include<cstdlib>#include<cctype>#include<ctime>#include<iostream>#include<string>#include<map>#include<queue>#include<

2020-11-05 16:44:44 11

原创 [状压dp] poweroj 2911: 送外卖的小鸽鸽Mannix

题目题目链接:https://www.oj.swust.edu.cn/problem/show/2911一个人要从0开始给k个地方送外卖最后回到起始点 求怎么送路程最短思路先处理图,把每个点之间的距离都用dij跑出来存下。最后用状压dp,dp[i][j]dp[i][j]dp[i][j]表示用状态iii到达jjj的最小路径代码#include<cstdio>#include<cstring>#include<cmath>#include<cstdl

2020-10-29 15:32:40 21

原创 [差分] 2020 威海 H Message Bomb

题目有nnn个群,mmm个人,sss个操作,输入sss个t、x、yt、x、yt、x、yt=1t=1t=1时xxx加入群组yyyt=2t=2t=2时xxx退出群组yyyt=1t=1t=1时xxx在群组yyy发言求每个人收到的总发言数思路用setsetset来存每个人加入的组数 st[x],insert(y)st[x],insert (y)st[x],insert(y)代表xxx加入yyy组,用a[x]a[x]a[x]存xxx当前收到的发言,b[y]b[y]b[y]存yyy这个群里的发言。加入时

2020-10-29 15:18:26 25

原创 2020 ccpc威海A

题目有一座桥,桥的两边有nnn个老人,一共2n2n2n个老人,我们要把所有的老人带到对面,让他们休息xxx分钟后再回来,过桥的时间为ttt,求需要的最少时间思路设先把所有老人都对换了。这时候有两种选择,第一种是直接在现在这里选择第一个来到这里的老人背回去,需要多消耗的时间是max(x−(2∗n∗t−2∗t),0LL)max(x-(2*n*t-2*t),0LL)max(x−(2∗n∗t−2∗t),0LL)第二种是过桥到对面去背老人回来,需要多消耗的时间是max(x−2∗n∗t)+t,t)max(x

2020-10-29 14:30:54 47 1

原创 [唯一分解+分组dp] 2020ccpc威海 L

题目一个钟表有n个指针,每一个指针有t个刻度每个刻度。所有制真的刻度不能超过d,求所有指针合起来的不同方向最多有多少种。思路每个指针的不同方向种类即他们的lcmlcmlcm题意转换为:求MAX(lcm(t1,t2,t3,t4,...,tn))MAX(lcm(t_1,t_2,t_3,t_4,...,t_n))MAX(lcm(t1​,t2​,t3​,t4​,...,tn​))t1+t2+t3+t4+...+tn<=bt_1+t_2+t_3+t_4+...+t_n<=bt1​+t2​+t3

2020-10-29 14:15:52 21

原创 cf D. Minimal Height Tree

题目题目链接:http://codeforces.com/contest/1437/problem/D思路连续上升的a[i]a[i]a[i]放到同一根节点下代码#include<cstdio>#include<cstring>#include<cmath>#include<cstdlib>#include<cctype>#include<ctime>#include<iostream>#include

2020-10-29 00:17:20 83

原创 [dp] cf 1437C. Chef Monocarp

题目http://codeforces.com/contest/1437/problem/C思路dp[i][j]dp[i][j]dp[i][j]表示第iii分钟前拿了jjj个盘子的最小代价递推式:dp[i][j]=min(dp[i−1][j],dp[i−1][j−1]+abs(a[j]−i))dp[i][j]=min(dp[i-1][j],dp[i-1][j-1]+abs(a[j]-i))dp[i][j]=min(dp[i−1][j],dp[i−1][j−1]+abs(a[j]−i))代码#in

2020-10-28 23:55:44 89

原创 [大数分解板子] 2020ccpc 威海 D

题目应该之后会放gym的吧 大致是求n(n<=1e18)的质因子的积代码#include<cstdio>#include<cstring>#include<cmath>#include<cstdlib>#include<cctype>#include<ctime>#include<iostream>#include<string>#include<map>#include

2020-10-28 23:35:24 48

原创 [网络流求最大流板子]

代码#include<cstdio>#include<cstring>#include<cmath>#include<cstdlib>#include<cctype>#include<ctime>#include<iostream>#include<string>#include<map>#include<queue>#include<stack>#in

2020-10-17 01:02:18 17

原创 [思维]cf 1417D

题目思路先把所有的东西都转移到位置1(i=1i=1i=1)上,再由1分发给每一位代码#include<cstdio>#include<cstring>#include<cmath>#include<cstdlib>#include<cctype>#include<ctime>#include<iostream>#include<string>#include<map>#inc

2020-10-17 00:40:38 12

原创 [ST表板子]luogu P3865

题目题目链接:https://www.luogu.com.cn/problem/P3865代码#include<cstdio>#include<cstring>#include<cmath>#include<cstdlib>#include<cctype>#include<ctime>#include<iostream>#include<string>#include<map>

2020-10-16 17:15:37 6

原创 [并查集板子] luogu P3367 【模板】并查集

题目题目链接:https://www.luogu.com.cn/problem/P5520代码#include<cstdio>#include<cstring>#include<cmath>#include<cstdlib>#include<cctype>#include<ctime>#include<iostream>#include<string>#include<map>

2020-10-16 00:59:07 11

原创 [组合数] luogu 5520

题目题目链接:https://www.luogu.com.cn/problem/P5520思路可以把第一个当成单独的树,从第二个树开始每棵树斗鱼一个空位置绑定。那么现在还剩下n-m+1个格子。因为最后的答案是有序的 所以求得是排列数,即An−m+1mA_{n-m+1}^mAn−m+1m​代码#include<cstdio>#include<cstring>#include<cmath>#include<cstdlib>#include&lt

2020-10-16 00:46:47 9

原创 [组合数] luogu P2822 组合数问题

题目题目链接:https://www.luogu.com.cn/problem/P2822v思路根据公式Cji=Cj−1i+Cj−1i−1C_j^i=C_{j-1}^i+C_{j-1}^{i-1}Cji​=Cj−1i​+Cj−1i−1​,C00=C11=C10=1C_0^0=C_1^1=C_1^0=1C00​=C11​=C10​=1可以递推求出组合数 预处理存下n,mn,mn,m对应答案代码#include<cstdio>#include<cstring>#incl

2020-10-16 00:00:03 145

原创 [贪心] cf1400 B. RPG Protagonist

题目题目链接:http://codeforces.com/contest/1400/problem/B思路枚举s、ws、ws、w中小的数即可代码#include<cstdio>#include<cstring>#include<cmath>#include<cstdlib>#include<cctype>#include<ctime>#include<iostream>#include<stri

2020-10-15 09:33:37 26

原创 [dij] cf1430D

题目思路离散化一下 对x\y相等的点连边代码#include<cstdio>#include<cstring>#include<cmath>#include<cstdlib>#include<cctype>#include<ctime>#include<iostream>#include<string>#include<map>#include<queue>#i

2020-10-15 00:29:15 38

原创 [背包dp+容斥定理] luogu 1450 硬币购物

题目题目链接:https://www.luogu.com.cn/problem/P1450思路如果只询问次数很少 可以完全背包不过这个询问次数很多要超时那么就预处理1—1e51—1e51—1e5的背包的值每次带了d[i]枚硬币 那么d[i]+1之后的硬币就不行s−c[i]∗(d[i]+1)s-c[i]*(d[i]+1)s−c[i]∗(d[i]+1)就是第i个硬币能取的最大钱钱dp[s−c[i]∗(d[i]+1)]dp[s-c[i]*(d[i]+1)]dp[s−c[i]∗(d[i]+1)]就

2020-10-14 23:28:20 13

原创 [错排] luogu 4071

题目思路错排:给定n元素集合X,它的每一个元素都有一个特定的位置,而现在要求求出集合X的排列中没有一个元素在它指定位置上的排列的数目.递推公式:D1=0 D2=1D_1=0 \ D_2=1D1​=0 D2​=1Di=(i−1)∗(Di−1−Di−2)D_i=(i-1)*(D_{i-1}-D_{i-2})Di​=(i−1)∗(Di−1​−Di−2​)这道题要保证mmm个数等于它的下标,即n−mn-mn−m个数不等于下标 答案为Cmn∗D(n−m)C_m^n*D(n-m)

2020-10-14 22:19:54 14

原创 luogu 5560

题目题目大意:一棵树有n个结点,每个点的值分别是i2−1i^2-1i2−1,每条边的权值是gcd(i2−1,j2−1)gcd(i^2-1,j^2-1)gcd(i2−1,j2−1) 求树边总权值的最小值题目链接:https://www.luogu.com.cn/problem/P5560思路暴力打表可以发现 只有4 10需要特判 其他都是n−1n-1n−1代码#include<cstdio>#include<cstring>#include<cmath>

2020-09-04 11:46:56 660

原创 [欧拉函数] 仪仗队 2158

题目题目链接:https://www.luogu.com.cn/problem/P2158思路gcd(x,y)=1的就计入考虑 我们可以寻找gcd(x,y)!=1的 用f[i]记录n-1*n-1里面有多少个公约数为i的数 再减去f[i *k] (k>=2)的值 思想与欧拉定理一致 最后加上x=0y=0的两种情况代码#include<cstdio>#include<cstring>#include<cmath>#include<cstdlib&

2020-09-03 00:50:59 29

原创 [excrt] luogu 4777

题目题目链接:https://www.luogu.com.cn/problem/P4777代码#include<bits/stdc++.h>#define int long longusing namespace std;const int INF = 0x3f3f3f3f;int a[100010],b[100010];int exgcd(int a,int b,int &x,int &y){ if(b==0){ x=1; y=0; return

2020-08-26 14:50:59 36

原创 [中国剩余定理+快速乘]

题目题目连接:https://www.luogu.com.cn/problem/solution/P3868思路模板题注意快速乘不是提速的 而是减小数据范围的,因为这道题最大的时候会达到10^32 所以要用快速乘代码#include<cstdio>#include<cstring>#include<cmath>#include<cstdlib>#include<cctype>#include<ctime>#in

2020-08-24 00:45:21 46 1

原创 [cf] 1401 D.Maximum Distributed Tree

题目题目链接:https://codeforces.ml/contest/1401/problem/D思路计算每个边的经过次数,然后把最大的p分配给次数最多的即可。不过要讨论 m>n-1 的时候还有如果要sort千万千万千万别取模代码#include<cstdio>#include<cstring>#include<cmath>#include<cstdlib>#include<cctype>#incl

2020-08-23 01:13:28 226

原创 [逆元] luogu 4942

题目题目链接:https://www.luogu.com.cn/problem/P4942思路这道题最后的ans的形式为ans=l∗10a+(l−1)∗10b+.....+r∗100ans=l*10^a+(l-1)*10^b+.....+r*10^0ans=l∗10a+(l−1)∗10b+.....+r∗100,10%1=910\%1=910%1=9因此变为ans=l+l−1+l−2+...+rans=l+l-1+l-2+...+rans=l+l−1+l−2+...+r用等差数列即可代码#inc

2020-08-21 17:29:47 36

原创 [dp] hdu 6880 Permutation Counting

题目题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6880思路官方题解:注意:5 4 1 2 3 这个数列里的数字并不是数列a的排序方式,而是下图的 数列c 由数列c构造得到数列a由于每一个数列c只对应一个数列a 我们计算数列c存在的次数即可用二维数组来进行状态转移,dp[i][j]dp[i][j]dp[i][j]表示第i位对应的数字是j对应的种类数如果b[i]==1b[i]==1b[i]==1,那么dp[i+1][j]=dp[i+1][

2020-08-21 01:19:51 268 4

原创 【线性求逆元板子】 luogu 3811

题目题目链接:https://www.luogu.com.cn/problem/P3811代码#include<bits/stdc++.h>#define int long longusing namespace std;int inv[3000010];inline int read(){ int f=1,x=0;char ch; do{ch=getchar();if(ch=='-')f=-1;}while(ch<'0'||ch>'9');

2020-08-20 16:13:57 28

原创 [exgcd算最值] luogu 3951

题目代码#include<cstdio>#include<cstring>#include<cmath>#include<cstdlib>#include<cctype>#include<ctime>#include<iostream>#include<string>#include<map>#include<queue>#include<stack>

2020-08-20 15:58:10 49

原创 [exgcd] luogu 1082 同余方程

题目题目链接:https://www.luogu.com.cn/problem/P1082思路原题目中:可以化为a∗x+b∗y=1(mod  b)a*x + b*y= 1(mod\;b)a∗x+b∗y=1(modb),由贝祖定理gcd(a,b)=1gcd(a,b)=1gcd(a,b)=1,由此可得a,ba,ba,b互质。用扩展欧几里得求出xxx即可注意:求出的xxx可能并不是最小整数值需要(x+b)%b(x+b)\%b(x+b)%b处理代码#include<cstdio>#i

2020-08-20 00:48:21 19

原创 [树] hdu 6867 Tree

题目题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6867题目思路: 给一个树,连接两个节点,求连接后的点对数量的最大值思路既然是树,那么就是有向图如果要连接之后增加的点对数量最大 那就是连接叶子节点和根节点 形成一个环 在这个环上每一个结点增加的连接数量都是n-cnt[i] (没链接之前i的子树数量 )那就先一个dfs 求每个节点子树再来一个dfs求最大值就好了代码#include<cstdio>#include<cs

2020-08-18 23:54:00 144

原创 [dfs 树] 2020牛客多校 第九场 K.The Flee Plan of Groundhog

题目题目大意:在一个树形结构上A从1号结点出发走了 以1m/s的速度走了ts,B在n号结点从ts后开始以2m/s的速度追A,A开始以1m/s的速度逃跑,求A最晚多久被抓住思路先dfs一遍 用d[i]存下以1m/s的速度走从i到n的时间,与没得电的头节点然后找出走了ts后的A的位置,从这个位置开始再dfs一遍。A到达i结点的时间是(d[i]+1)/2,找出最大的(d[i]+1)/2即可 不过需要注意 最后的时间不能超过d[s] 因此要在d[s]与ans之间取一个最小值代码#include<

2020-08-18 19:15:24 54

原创 [大整数乘法]2020牛客多校 第九场 I.The Crime-solving Plan of Groundhog

题目思路每次选出除0外最小的乘即可代码#include<cstdio>#include<cstring>#include<cmath>#include<cstdlib>#include<cctype>#include<ctime>#include<iostream>#include<string>#include<map>#include<queue>#inc

2020-08-18 17:15:26 662

原创 [bfs+图上随机游走] hdu6853 jogging

题目题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6853题目大意:从x,y开始游走,每次只能走gcd(x,y)>1的点或者是留在原来的点,求从s开始游走,最后再回到点s的概率思路这道题要用到一个结论:即对于任意一张无向图,从 s 开始随机游走回到 s 的概率为 (s 的度数+1)/(+1)/(整张图的总度数+n)+n)。所以我们只用bfs求出整张连通图,算出s的度数与整张图的总度数即可代码#include<cstdio>

2020-08-18 15:54:57 126 10

原创 [博弈] hdu 6850 Game

题目题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6850思路可以看这个大佬的博客,写的很清晰 代码也很简短->大佬博客代码#include<cstdio>#include<cstring>#include<cmath>#include<cstdlib>#include<cctype>#include<ctime>#include<iostream&gt

2020-08-18 14:38:23 67 2

空空如也

空空如也

空空如也

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

TA关注的人 TA的粉丝

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