自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 pipioj 1025: 最短距离

#include<iostream>#include<algorithm>#include<stdio.h>#include<cmath>#include<queue>#include<cstring>#include<vector>#include<stack>#include<map>#include<set>#define MAX 1000005#define

2021-07-20 21:39:46 192

原创 pipioj 1103: PIPI的数学题I

#include<bits/stdc++.h>#define ll long longusing namespace std;ll mod(char str[],ll c){ ll number[20000]; for(int i=0; i<strlen(str); i++) number[i]=str[i]-'0'; ll sum=0; for(int i=0; i<strlen(str); i++) //大数取模就是按照每一

2021-07-20 21:39:02 187

原创 pipioj 1037: 排名

#include<bits/stdc++.h>#define ll long longusing namespace std;const int mod=1e9+7;const int N=1e5+10;struct node{ string x; int sum;} a[N];int cmp(node a,node b){ if(a.sum==b.sum) { return a.x<b.x; } retur

2021-07-20 21:38:23 150

原创 pipioj 1150 整数排序

#include<bits/stdc++.h>#define ll long longusing namespace std;const int mod=1e9+7;const int N=1e5+10;bool cmp(string a,string b){ if(a.length()==b.length()) return a<b; else return a.length()<b.length();}int mai

2021-07-20 21:37:38 131

原创 pipioj 1436 (最大异或值)

#include<bits/stdc++.h>#define INF 0x3f3f3f3f#define ll long longusing namespace std;ll L,R;int main(){ scanf("%lld%lld",&L,&R); ll ans=1ll<<60; while(ans) { if((R&ans)&&!(L&ans))

2021-07-20 21:36:58 67

原创 pipioj 1038 全排列

#include<bits/stdc++.h>#define ll long longusing namespace std;const int mod=1e9+7;const int N=1e5+10;int a[10];int st[10];int n;void dfs(int s){ if(s==n+1) { for(int i=1;i<=n;i++) { printf("%d ",a[i]);

2021-07-20 21:36:12 127

原创 pipi 1366(KMP模式串匹配)

#include<bits/stdc++.h>#define ll long longusing namespace std;const int mod=1e9+7;const int N=1e5+10;int nxt[N];char s1[N],s2[N];int main(){ while(cin>>s1+1>>s2+1) { int m=strlen(s2+1); int n=strlen(s1+1);

2021-07-20 21:35:40 70

原创 pipi 1337 汉诺塔问题

#include<bits/stdc++.h>#define ll long longusing namespace std;const int mod=1e9+7;const int N=1e5+10;int sum;void hannota(int n,char a,char b,char c){ if(n==0) return ; hannota(n-1,a,c,b); printf ("Move disk %d from %c to

2021-07-20 21:34:53 79

原创 pipi 1399(最小生成树prim)

#include<bits/stdc++.h>#define ll long longusing namespace std;const int mod=1e9+7;const int N=110;const int inf=0x3f3f3f3f;int n;int g[N][N];int dis[N],st[N];int prim(){ memset(dis, inf,sizeof dis); int res=0; for(int i=0; i&lt

2021-07-20 21:34:06 76

原创 pipi 1362(表达式求值)

#include<bits/stdc++.h>#define ll long longusing namespace std;const int mod=1e9+7;const int N=1e5+10;int priori(char c)//判断一个字符的优先级,返回的是它的优先级{ if(c=='*'||c=='/') return 2; if(c=='+'||c=='-') return 1;}int iswhatandcom

2021-07-20 21:33:02 98

原创 可持续数据结构(可持续字典树,线段树)

可持续字典树可持续字典树题意:求区间内从一点开始到结尾的异或值最大#include<bits/stdc++.h>#define ll long longusing namespace std;const int mod=1e9+7;const int N=600010;const int M=N*25;int n,m;int s[N];int tr[M][2];int mxa_id[M];int root[N];int idx;void inset(int i,in

2021-03-22 20:04:35 99

原创 (中国剩余定理+扩展欧几里得求逆元)模板

中国剩余定理限制条件,divs所有均两两互质#include<bits/stdc++.h>#define ll long longusing namespace std;//const int mod=1e9+7;const int N=12;int n;ll divs[N],mo[N];ll exdiv;ll exgcd(ll a ,ll b, ll &x,ll &y)//求逆元{ if(b==0) { x=1,y=0;

2021-03-16 21:20:51 93

原创 约数之和与约数个数的求解

约数个数参考题目:acw872若N为:p1^a1 *P2^a2 *P3^a3…则约数的个数为:(a1+1)*(a2+1) *…(an+1);约数之和参考题目:acw873若N为:p1^a1 *P2^a2 *P3^a3…则约数之和为: (p1^1 +p1^2 +p1^a1 ) *…(pk^1 +k2^2 …+pk^ak )...

2021-03-10 20:35:38 99

原创 高斯消元(模板)

一个包含n个方程n个未知数的线性方程组 求解:#include<bits/stdc++.h>#define ll long longusing namespace std;const int mod=1e9+7;const int N=110;const double eps=1e-6;int n;double a[N][N];int gauss(){ int c,r;//C表示那一列,R表示那一行 for(c=0,r=0; c<n; c++)

2021-03-01 12:58:41 73

原创 组合数板子(四种)

一:范围较小时递推板子:(a,b<2000)支持多组询问 时间复杂度o(N^2)#include<bits/stdc++.h>#define ll long longusing namespace std;const int mod=1e9+7;const int N=2010;int c[N][N];void init(){ for(int i=0;i<N;i++) { for(int j=0;j<=i;j++)

2021-02-28 16:17:55 1072

原创 Atcoder KEYENCE Programming Contest 2021

比赛链接A题意:给你两个数组 分别为A,B现在组合成为一个C数组,ci的值为Ai*Bj的最大值其中0<i<=j<=n解析:预处理出每个j对应的最大A[i],并且保存C[i-1]的值,c[i]的值等于c[i-1],b[i]*sum[i];AC代码:#include<bits/stdc++.h>#define ll long longusing namespace std;const int mod=1e9+7;const int N=2.

2021-01-16 22:32:44 366

原创 AtCoder Beginner Contest 184

前两题略~~C题意给你一个点(a,b),问你通过几步可以移动至指定点(c,d);移动方式有三种:a+b=c+d;a-b=c-d;|a-c|+|b-d|<=3;解析①1步到直接判断即可。②2 步到定义与终点距离不大于3的集合为T,与起点距离不超过3 的集合为S。(1)如果横坐标值差与纵坐标之差的奇偶性相同;(2)对于S中的一个点可以一步走到终点;(3)对于T中的一个点可以一步走到起点;(4)S与T的交集非空。③3 步到不满足①②,就是③。具体代码如下#includ

2020-11-26 17:27:23 146

原创 51nod 1718 cos的多项式

题目链接题目小明对三角函数充满了兴趣,有一天他突然发现一个神奇的性质。2cos(nx)似乎可以表示成2cos(x)的一个多项式。但是小明并不能证明它的正确性。现在给定n,问是否可以表示成这样的多项式,如果可以,只需输出各项系数的和。(Tip:如果这个和很大,那就高精度咯:))否则输出No样例解释:2cos(3x)=(2cosx)^3-3*(2*cosx),系数为1和-3,他们的和为-2。题解补充一下三角函数公式cos(2a)=cos(a)*cos(a)-sin(a)*sin(a);co

2020-11-26 16:31:10 157 1

原创 51nod 1717 好数

题目链接题目有n个数 a[1],a[2],…,a[n]开始都是0现在进行操作 t从1~n依次增加每次把下标时t的倍数的数都反转(0变成1,1变成0)如果最后a[i]为0,那么称此时的i为好数。现在对于给定的n,求这时候的好数个数。n<=1e15解析要使一个数最后为1,则他的因数个数必定为奇数,一个数因子个数为奇数,则代表,他为一个数的平方,所以最终为0的数为n-sqrt(n)具体代码如下#include<bits/stdc++.h>#define ll long

2020-11-26 16:27:40 85

原创 51nod 1694 两条路径(树的直径)

添加链接描述(本人写题记录一下,故不写题意了(其实就是懒·~))本题说要求两条没有公共城市的路径乘积最长,根据题意可以知道,只有n-1条路,并且数据范围较小,所以可以直接断开一条路径,以这条路径的两个端点(以这两个端点可以保证没有公共城市)进行查找树的直径(就是树的最长距离)最后取最大即可代码如下树的直径求解方法第一遍随意取个点进行bfs查找到距这个点最远的点,其次再进行一次bfs,以最远的点进行bfs,得到的最长距离即为树的直径#include<bits/stdc++.h>#de

2020-11-15 16:43:15 112

原创 51nod 3143 整装待发

题目链接查了半天没有题解,于是乎这个题卡了我巨久,所以特意写个解析留给后来人!首先:求max(|A-ai|,|B-bi|),

2020-11-15 09:23:41 131

原创 51nod 1627瞬间移动

题目链接推不出来就借鉴一下别人的公式(! 0.0)#include<bits/stdc++.h>#define ll long longusing namespace std;const int mod=1e9+7;const int N=2e6+10;ll f[N];ll pows(ll a,ll b){ ll ans=1; while(b) { if(b&1) ans=ans*a%mod;

2020-11-12 16:27:10 107

原创 51nod 1624 取余最长路

题目链接(本人记录学习的博客,不写题意了)#include<bits/stdc++.h>#define ll long longusing namespace std;const int mod=1e9+7;const int N=1e5+10;ll a[10][N],sum[10][N];/*最终求sum[1][x]+sum[2][y]-sum[2][x-1]+sum[3][n]-sum[3][y-1]分别存储 sum[1][x]-sum[2][x1]在%P下的值,枚举

2020-11-12 15:41:10 79

原创 51nod 1603 限高二叉排序树

题目链接(单纯本人记录一下学习效果,不提供具体解析了)#include<bits/stdc++.h>#define ll long longusing namespace std;const int mod=1e9+7;const int N=1e5+10;ll dp[40][40];//重点二叉树,满足卡特兰数/*卡特兰数公式1. f(n) = f(0)*f(n-1) + f(1)*f(n-2) + f(2)*f(n-3)......+f(n-1)*f(0).

2020-11-12 14:29:24 67

原创 HUAS-ACM2020校赛题解

奇怪银行思路:采取完全背包的思想,先预处理出每种金额所需要的取钱次数,最后进行输出即可。具体讲解看代码#include<iostream>#include<cstdio>#include <stdio.h>#include<algorithm>#include<cstring>#include <string>#include<cmath>#include<cstdlib>#include&l

2020-09-26 22:52:21 1195

原创 AtCoder Beginner Contest 151 F(最小圆覆盖)

模拟,就是三点确定一个圆,然后判断剩下的点是不是在圆内,不是的话找三个圆外的点,构成一个新的圆,这个新的圆一定会比原来的圆大,注意找的时候不是一下找三个点,因为我们要求的是最小的圆,找到第一个点的时候,直接把原来的圆的半径扩大到这个点,第二个也是,但是第三个需要特判一下,因为如果直接把半径扩大到第三个点的话,就有可能直接把上面两个点直接包含了,而我们要求的是最小的圆,所以最后一次找到这个三个点时,直接三点定圆,就一定会包含所有的点三点定圆方法:三点定圆AC代码:#include<iostrea

2020-09-16 16:51:47 149

原创 AtCoder Beginner Contest 177 (A~E)

比赛链接A题意:给你一个距离D,时间T,速度S,问是否可以在T时间内到达。思路:模拟比较即可。AC代码:#include<iostream>#include<cstdio>#include <stdio.h>#include<algorithm>#include<cstring>#include <string>#include<cmath>#include<cstdlib>#inc

2020-08-30 14:56:08 179

原创 AtCoder Beginner Contest 176(A~E)

本场总结:写E调bug浪费了太多时间,不然一定可以写出D的,比赛结束后一分钟过的D,????A题意:有N个任务,每次最多执行X个任务,消耗T的时间问最少花费多少时间?思路:模拟AC代码:#include<iostream>#include<cstdio>#include <stdio.h>#include<algorithm>#include<cstring>#include <string>#include&

2020-08-23 08:25:36 751

原创 AtCoder Beginner Contest 121 D(连续数字异或和)

引用博客通过此博客,我们了解了如何在O(1)的复杂度下求F(0,N)的连续异或和若n≡0(mod4),f(0,n)=n若n≡1(mod4),f(0,n)=1若n≡2(mod4),f(0,n)=n+1若n≡3(mod4),f(0,n)=0AC代码:#include<iostream>#include<cstdio>#include <stdio.h>#include<algorithm>#include<cstring>#in

2020-08-17 16:31:42 133

原创 Atcoder abc175(A~E)

比赛链接A题意最长连续R有多少?模拟即可AC代码#include<iostream>#include<cstdio>#include <stdio.h>#include<algorithm>#include<cstring>#include <string>#include<cmath>#include<cstdlib>#include<queue>#include&lt

2020-08-15 21:40:09 417

原创 AtCoder Beginner Contest 154 E

题意:给你一个数N,然后让你求[1,n]中恰好有kk位非0位的数字的个数。思路:数位DP套路性地,设 f[i][j] 表示长度为 i 的数字串,有 j 个非零数位的方案数,转移方程f[i][j]=f[i−1][j]+9f[i−1][j−1]然后预处理出f[i][j]具体操作看代码吧#include<iostream>#include<cstdio>#include <stdio.h>#include<algorithm>#include&

2020-08-03 10:03:47 182

原创 AtCoder Grand Contest 044 A

题意: 有4种操作,你需要用最少的操作使得0变成n.n×2n×3n×5n±1.思路,反过来,由n变为0,然后从优先级来看,肯定是除为上,懂了这个以后,就可以开始枚举遍历了。具体细节看代码吧AC代码:#include<iostream>#include<cstdio>#include <stdio.h>#include<algorithm>#include<cstring>#include <string>#in

2020-07-29 11:08:25 152

原创 Atcoder M-SOLUTIONS Programming Contest 2020 题解

总结D题等于号打错边,一直找不出来,结果WA了10发,没时间看E了,太菜了。A题目链接模拟水题AC代码:#include<iostream>#include<cstdio>#include <stdio.h>#include<algorithm>#include<cstring>#include <string>#include<cmath>#include<cstdlib>#incl

2020-07-25 21:53:30 238

原创 Atcoder 163 (A~E)

AA题链接水题模拟即可AC代码:#include<iostream>#include<cstdio>#include <stdio.h>#include<algorithm>#include<cstring>#include<cmath>#include<cstdlib>#include<queue>#include<map>#include<vector>#i

2020-07-21 17:54:57 249

原创 Atcoder 162 (A~E)

AA题链接水题AC代码:#include<cstdio>#include<iostream>#include<cstring>#include<cmath>#include<algorithm>#include<queue>#include<map>#include<stack>typedef long long ll;using namespace std;int main(){

2020-07-21 10:21:51 164

原创 Atcoder 161 (A~E)

AA题链接根据题意模拟即可AC代码:#include<cstdio>#include<iostream>#include<cstring>#include<cmath>#include<algorithm>#include<queue>#include<map>#include<stack>typedef long long ll;using namespace std;int m

2020-07-16 10:58:04 137

原创 Atcoder abc 160 (A~E)

AA题链接题意:第三第四一样,第五第六位一样则输出yes,否则NO模拟即可AC代码:#include <iostream>#include <stdio.h>#include <algorithm>#include<cstring>#include <math.h>#include <queue>typedef long long ll;using namespace std;int main(){

2020-07-15 21:29:42 293

原创 Atcodr abc 172题解(A~E)

A模拟即可AC代码:#include<iostream>#include<cstdio>#include <stdio.h>#include<algorithm>#include<cstring>#include<cmath>#include<cstdlib>#include<queue>#include<map>#include<vector>#include

2020-07-11 12:13:27 588

原创 组合数学--逆元求组合数

逆元求解公式大概就是这么个公式。具体的实现代码如下:#include<iostream>#include<cstdio>#include <stdio.h>#include<algorithm>#include<cstring>#include<cmath>#include<cstdlib>#include<queue>#include<map>#include<vect

2020-07-08 15:36:38 360

原创 Atcoder 173题解(A~E)

A失误WA了两次耻辱!!!AC代码:#include<iostream>#include<cstdio>#include <stdio.h>#include<algorithm>#include<cstring>#include<cmath>#include<cstdlib>#include<queue>#include<map>#include<vector>#

2020-07-06 11:22:08 758

空空如也

空空如也

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

TA关注的人

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