自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

退役ACMer

新博客更新LeetCode题解: https://www.cnblogs.com/CodingDreamer/

  • 博客(18)
  • 资源 (1)
  • 收藏
  • 关注

原创 HDU 4686 矩阵快速幂

题解拿到手, 想到是递推转矩阵快速幂, 但是我想的复杂了 刚开始想的是用a[n] * b[n]的递推构造矩阵+ 分块 + 快速幂, 不过这时候开的矩阵是10 * 10一组最大多O(size^3) * log n size为矩阵阶数然后考虑Sn简化5 * 5, 细节处理A, 还是太弱了啊, 矩阵练了这么多。。code#include <iostream>#include <cstring>

2017-03-30 13:44:18 591

原创 POJ 3461 KMP

题意求模式串在主串中出现的次数题解: 1. KMP匹配 2. 匹配完成后移位为串尾的next值code:#include <cstdio>#include <cstring>using namespace std;const int N = 1000010;const int M = 10010;char S[N], T[M];int Next[M], len1;void getN

2017-03-29 18:40:26 489

原创 POJ 2406 KMP

求串的最小循环节,  根据循环条件: n 为串长那么 n - next[n]是n的约数code:#include #include #include using namespace std;const int N = 1000010;char T[N];int Next[N], len1;void getNext(){ len1 = strlen(T);

2017-03-29 18:36:26 389

原创 POJ 1961 KMP求循环节判断循环

对于一个串, 假定在i处形成循环, 那么 next[i]应该是上一个循环节尾,所以i % (i - next[i]) == 0且next[i] > 0当前i - next[i]是最小循环节的长度.代码:#include <iostream>#include <algorithm>#include <cstring>#include <string>#include <set>#inclu

2017-03-28 21:26:22 602

原创 HDU 1711 KMP 模板

KMP 入门题, 单模式串匹配#include <iostream>#include <cstring>using namespace std;const int N = 1000010;const int M = 10010;#define next Nextint s[N], t[M], next[M];int n, m;void getNext(){ next[0] =

2017-03-28 21:19:33 369

原创 AHU-2017校赛现场赛 B 下一个幸运数

题解 : 首先能够发现幸运数的取值总共有1023种, 位数分别是1…10 位数为10的只有4444444444. 其余可以按照二进制排列组合(4, 7当成0,1看)构成幸运数 共有∑i=192i=210−2=1022\sum_{i = 1}^9 2^i = 2^{10} - 2 = 1022记第i个幸运数为a[i], 那么幸运数位a[i]的数范围为(a[i - 1], a[i]]预处理

2017-03-27 17:06:57 593

原创 cccc 感悟

自费打铁意料之中, 有好多点没发挥好一年后我还是不到200分的渣渣代码能力偏弱暴力!暴力!暴力!赶了一天行程, 比赛拖延一小时火车都是赶的, 酸爽回来路上聚众吹比美滋滋校赛明天是cxlove出题, 有点激动啊校赛真得是一年了啊, 好运

2017-03-26 00:03:38 489

原创 java swing入门 计算器布局

import java.awt.*;import javax.swing.*;public class test { public static void main(String[] args){ JFrame frame = new JFrame("Adrui's Calculator"); MainPanel panel = new MainPanel(); //panel

2017-03-21 20:58:52 1465

原创 javaTestHTML

### HTMLTest#include using namespace std;int main(){ return 0;}

2017-03-21 13:22:05 401

原创 BZOJ 1951 费马小定理 + Lucas定理 + 乘法逆元 + 中国剩余定理 + 快速幂

待更新。

2017-03-20 17:04:19 593

原创 HDU 5667 矩阵快速幂 + 费马小定理 + 快速幂

题解看完题目第一反应, 矩阵快速幂, 但是乘法无法构造递推想到幂的乘法可以转成指数的加法设f[n] = ap[n],则n > 2时 f[n] = abf[n-1]c f[n-2]=> p[n] = b + p[n - 1] * c + p[n - 2]就可以构造矩阵了且p[1] = 0, p[2] = b构造矩阵 ⎡⎣⎢p[2]00p[1]00b00⎤⎦⎥∗⎡⎣⎢c11100001⎤⎦

2017-03-15 22:35:34 487

原创 POJ 2142 扩展欧几里得

题解扩欧求可行解x, y分别取对于a, b参数的最小非负整数解情况, 求|x| + |y|最小如果2中两种情况绝对值之和相同进一步找最小a|x| + b|y|code#include <iostream>using namespace std;typedef long long ll;int a, b, c, x, y;int extend_gcd(int a, int b, int &

2017-03-11 10:56:04 406

原创 欧拉函数性质证明 : n所有约数的欧拉函数和等于n

性质:对于正整数n ∑d|nϕ(d)=n\sum_{d|n}\phi(d) = n 证明过程 (1)如果 n = 1 ϕ(n)=1=n\phi(n) = 1 = n 满足 (2)如果n是质数 ϕ(n)=n(1−1n)=n−1\phi(n) = n(1 - \frac{1}{n}) = n - 1 所以ϕ(n)+ϕ(1)=n\phi(n) + \phi(1) = n 满足 (3

2017-03-10 16:05:47 4850

原创 HDU 1695 莫比乌斯反演

莫比乌斯反演对于定义在非负整数上的两个函数F(x), f(x) : 若 F(n)=∑d|nf(d)F(n) = \sum_{d | n} f(d) 则f(n)=∑d|nu(d)F(nd) (1)f(n) = \sum_{d | n} u(d)F(\frac{n}{d}) (1) 其中:u(d)u(d)就是莫比乌斯函数, 它的定义如下 u(d)=⎧⎩⎨1,(−1)k, 0,d=1d=p1p2p

2017-03-10 15:24:53 497

原创 POJ 3708 高精度 + 置换 + 中国剩余定理

传送门:POJ 3708题解(1)设m, k的d进制表示分别为p1p2···pn1, k1k2···kn2 其中n1, n2是位数(2)由f(m)f(m)定义得: f(m)=ap1∗dn−1+∑i=2n(bpi∗dn−i),ap1ϵ[1,d),(bpiϵ[0,d),iϵ[2,n)]f(m) = a_{p_1} * d ^{n - 1} + \sum_{i=2}^n( {b_{p_i}}*d

2017-03-06 17:14:21 1004

原创 UVA 11426 欧拉函数 + 递推

codeimport java.util.*;import static java.lang.System.*;public class Main{ static final int N = 4100000; /**static long c;*/ static long[] phi = new long[N]; static long[] f = new long

2017-03-04 18:41:03 539

原创 腾讯2017暑期实习生编程题-有趣的数字

传送门code#include<vector>#include<cstdio>#include<algorithm>#include<map>using namespace std;map<int, int> mp;struct node{ int fi, se; node(int f, int s){ fi = f; se = s;

2017-03-04 18:35:04 561

原创 POJ 3511 && AOJ 299 素数筛法 + 线段树

题意 比较明显了, 细节题, 惨code#include<iostream>#include<cstring>using namespace std;const int N = 1000005;const int M = 1 << 20;int sum[N << 2], ans[N << 2], s, a;bool f[N];void init(){ memset(f, 0,

2017-03-01 15:44:14 627

计时javascript

js设计

2017-06-27

空空如也

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

TA关注的人

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