- 博客(9)
- 收藏
- 关注
原创 LA 3938 动态的最大连续和(线段树)
第一次学习线段树#include<bits/stdc++.h>#define lson l,m,i<<1#define rson m+1,r,i<<1|1typedef long long ll;using namespace std;const ll inf=1223372036854775807;struct node{ ll v,l...
2020-01-28 23:56:16 131
原创 UVA 10561 Treblecross游戏(Nim博弈)
题目:https://vjudge.net/problem/UVA-10561由于禁区内谁放谁输,所以禁区之外的一段一段分成了很多子游戏。子游戏g(0)=0,g(1)=g(2)=g(3)=1,超过3以后就可以分成子游戏了,比如连续4个格子的,若在最左边放一个。那么该格子可以影响最左边的3个格子,只有最右边的一个格子不受影响,所以g(4)=mex{g(x-3),g(x-4)}=2...依...
2020-01-21 20:54:43 1429
原创 中国剩余定理
假若有方程组x=a[i](mod mi) i=0,1,2,... 求出x另M为所有mi的乘积,wi=M/mi,此时,wi是除了mi之外所有m0..mi-1,..mi+1,..mn的乘积,也就是他们的公倍数。另gcd(wi,mi)=1,求出ei=wi*pi.此时的ei是除mi余1的数,所以最后要乘a[i].把所有这样的mi加起来,就可以得到解。如:一个数除3余2,除5余3...
2020-01-16 10:37:38 157
原创 乘法逆(扩展欧几里得、欧拉定理)
用扩展欧几里得求解的乘法逆原理:ax=1 mod (n)ax+ny=1如7=1mod(15)7*13-(15*6)=1.13为7的逆元。求解出的x就是a的逆元。实现:#include<bits/stdc++.h>using namespace std;typedef long long ll;void gcd(int a,int b,int &...
2020-01-16 09:59:36 1127
原创 蓝桥杯 2019 RSA加密 (快速幂 快速乘 欧拉定理 乘法逆)
RSA 是一种经典的加密算法。它的基本加密过程如下。首先生成两个质数 p,q 令 n=p⋅q 设 d 与(p-1) * (q-1) 互质,则可 找到 e 使得 d⋅e 除 (p−1)⋅(q−1) 的余数为 1.n,d,e 组成了私钥,n,d 组成了公钥。当使用公钥加密一个整数 X 时(小于 n ),计算 C=X^d mod n ,则 C 是加 密后的密文.当收到密文 C 时...
2020-01-14 21:59:58 2144 2
原创 LA 3905 流星(扫描法)
题目:https://vjudge.net/problem/UVALive-3905把进入的流星看成一个个时间的事件,当扫描线和最多的开区间相交时,维护答案。应注意细节,事件的左端和事件的右端重合时,应先处理事件右端。#include<bits/stdc++.h>#include<algorithm>using namespace std;const i...
2020-01-10 14:11:11 142
原创 UVA 11549 计算器谜题(floyd判圈)
题目:https://vjudge.net/problem/UVA-11549可以想成两个小孩,一个小孩去追另一个小孩,这个小孩是那个小孩的几倍速度都没有关系,若跑着跑着突然出现了一个循环圈,那么快的小孩一定可以套慢的小孩的圈,直到某一刻追上。此方法可以省去stl中的set,使得空间开销变小。#include<bits/stdc++.h>using namespace ...
2020-01-09 23:13:03 196 1
原创 UVA 11462 年龄排序(桶排序)
考虑到该题对内存要求限制比较严格,不能把所有数据保存,所以考虑用桶排。#include<cstring>#include<cstdio>int c[101],n;int main(){ while(scanf("%d",&n) && n){ int a; memset(c,0,sizeof(c)); for(int i...
2020-01-09 20:15:38 135
原创 LA 4329 乒乓比赛(树状数组+计数原理)
#include<bits/stdc++.h>#define maxn 100005using namespace std;int num[maxn],n,a[maxn],c[maxn],d[maxn];int lowbit(int x){ return x&(-x);}int sum(int x){ int ret=0; while(x>0){...
2020-01-08 22:06:20 129
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人