自定义博客皮肤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/

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

原创 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 477

原创 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 372

原创 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 584

原创 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 349

原创 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 579

原创 cccc 感悟

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

2017-03-26 00:03:38 474

原创 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 1443

原创 javaTestHTML

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

2017-03-21 13:22:05 379

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

待更新。

2017-03-20 17:04:19 580

原创 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 453

原创 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 388

原创 欧拉函数性质证明 : 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 4692

原创 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 481

原创 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 954

原创 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 527

原创 腾讯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 547

原创 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 605

原创 new Flag

directionAndroid + MySQL + javaWeb后端ACM : 数论 + 数据结构(主席树) + codeforces + leetcode

2017-02-28 12:22:16 649

原创 MySQL完整性约束

MySQL完整性约束学习create database adrui;show databases;use adrui;/**not null : 非空约束, 插入数据该字段不能为空*//**primary key : 主键约束(主键约束相当于非空约束 && 唯一约束, )*//**auto_increment是MySQL扩展的字段值自加的约束,约束字段数据类型必须是整数(默认从1开始加, 或者

2017-02-26 16:31:35 760

原创 MySQL 学习记录(表的操作)

表的操作表创建use database_name;/**先选择数据库(表操作前提)*/create table table_name( field_name1 int, field_name2 varchar(20));表查看use database_name;/**先选择数据库(表操作前提)*/desc table_name;/**查看表名为table_name的表的结构(字

2017-02-25 16:56:24 557 1

原创 AOJ 396 矩阵快速幂 + 斐波那契素数

传送门 : AOJ题解 斐波那契素数 : 除了 F[3]和F[4]之后, 质数项Fibonacci为和前面互质 矩阵快速幂优化code#include<iostream>#include<cstdio>#include<cstring>using namespace std;#define mod 10003const int N = 1000000 + 5;int prime[

2017-02-23 20:38:57 462

原创 LightOj 1259 Goldbach`s Conjecture 素数筛法

链接 : LOJ 1259题解 一般素数筛法, 注意空间复杂度code#include<cstdio>#include<cstring>#include<iostream>using namespace std;const int N = 10000000;int prime[N / 10 + 5]; bool f[N + 5];/**bool型省空间*/void getPrime

2017-02-19 11:45:38 438

原创 HDU 1573 中国剩余定理 + 不互质

HDU 1573链接 : HDU 1573题解 中国剩余定理不互质 两两合并: 先可以先找两个同余方程 设通解为N; N=r1(mod(m1)),N=r2(mod(m2)); 显然可以化为k1*m1+r1=k2*m2+r2;—>k1*m1+(-k2*m2)=r2-r1; 设a=m1,b=m2,x=k1,y=(-k2),c=r2-r1方程可写为ax+by=c; 由欧几

2017-02-18 21:35:16 621

原创 扩展欧几里得专题(一)

HDU 1222链接 : HDU 1222题解 很容易推出如果n, m互质, 则不存在安全洞 扩展欧几里得求gcdcode//package adrui;import java.util.*;public class Main{ public static void main(String...args){ Scanner in = new Scanner(Sys

2017-02-16 11:20:19 334

原创 开学第一天

许久不刷题, 就只能先入水题练练手感 心存侥幸就会石沉大海 Insist on ! 什么时候才不会百度那些个傻逼问题啊

2017-02-13 18:08:13 425

原创 一个人

我把她丢了 很突然, 却在情理之中, 那两天很难熬, 是我不珍惜, 也是我们太年轻, 不懂何谓爱情 我丢了她, 却幸运地找到了自己, 明白接下来该怎么走 原想着开学见一面有个好结尾, 结果也成了奢望, 也好, 有缘再见 祝她安好特关 q列表里的特关清空, 和原来一样 我还保留着她的联系方式和照片, 只是不会经常翻了 到底走没走出来, 就看开学的状态了/**

2017-02-10 18:12:36 335

原创 蓝书 LA 3135 优先队列入门

传送门:LA 3135题解 优先对列入门运用 优先对列支持<重载, 可保持队列的有序性AC code:/* File : 优先队列.cpp Author : adrui Lang : C++*/#include<iostream>#include<queue>#include<cstdio>using namespace std;struct Node

2017-01-17 22:04:22 463

原创 SPOJ 1716 GSS3 Can you answer these queries III 线段树区间合并

传送门:SPOJ 1716 题意 求动态区间最大子段和题解 线段树区间合并维护区间和, 左右连续最大字段和, 最大字段和AC code:#include<iostream>#include<cstring>#include<cstdio>using namespace std;typedef long long ll;#define lch(x) x << 1#define r

2017-01-17 17:21:04 451

原创 HDU 3037 lucas + 费马小定理

传送门 : HDU 3037AC code:#include<cstdio>#include<iostream>using namespace std;typedef long long ll;ll n, m;ll p;ll f[100005];void InitFac() { f[0] = 1; for (int i = 1; i < p; ++i) f[i] = (f[i

2017-01-16 21:59:32 443

原创 POJ 1061 同余方程

传送门: POJ 1061题解 同余方程解法 注意取模时, 不能被整除的模数, 可能结果为负, 所以尽量使扩展欧几里得的a, b为正值AC code:#include<cstdio>#include<iostream>#include<algorithm>using namespace std;typedef long long LL;LL px, py, m, n, L, x,

2017-01-16 20:29:51 361

原创 1-16数论学习总结

欧几里得算法及扩展1. 欧几里得辗转相除求最大公约数//gcd(a, b)int gcd(int a, int b) { return b ? gcd(b, a % b) : a;}或者//gcd(a, b)int gcd(int a, int b) { int t; while (b) { t = b; b = a % b;

2017-01-16 19:17:16 436

原创 POJ 1006 同余方程组 -- 扩展欧几里得求逆元

传送门:POJ 1006题意 给定体力,情感,智慧的一个出现日期(周期已知), 以及当前日期, 求最少再过多少天同时出现三个峰值题解 同余方程组, 设x 是要求的解, 令 y = x + d(当前日期),则 y ≡ p (mod 23), y ≡ i (mod 28), y ≡ e (mod 33); 用中国剩余定理求解, 转载一篇文章:中国剩余定理AC code

2017-01-16 18:41:55 526

原创 Java类学习(二)

访问权限同C++, java封装数据和方法会有不同访问权限数据和方法设为public可以被所有类的所有方法调用private的内容只能被该类的方法调用才能访问静态变量和静态方法静态变量不是类实例的内容, 是在对象创建之前就存在的类内容静态变量只有一个拷贝java静态方法可以用对象或类名调用(最好是类名), 一般是不需要引用对象的方法(这部分不具有面向对象特征), 比如Math.pow

2017-01-15 15:50:39 342

原创 java 类学习(一)

面向对象程序结构 不同于C++, java程序必须有一个属性为public的主类包含main方法作为程序接口, 其他类作程序的主力类面向对象类实例java对象创建必须借助构造器, 然后调用方法之前必须初始化(非数值对象要初始化非null), 例Date date = new Date(); 这里, date是对象变量, 可以被同类对象变量应用, 相当于C++中的对象指针并不是所有类都是

2017-01-14 17:55:33 465

原创 HDU 4747 线段树 + 区间更新 + java

传送门 : HDU 4747题外话 13年杭州网络赛的一题, 同学推荐做的, 算是磨练一下自己的线段树, 最近在系统的学java, 确实很骚气, 就用java写了, 搞事情啊 看来线段树还是有点成果的, 虽然慢了一点, 但是1A 有大神这题40行dp, 太可怕了, 附个链接:DP递推计数(ORZ)题意 给定n个数找出Sum{mex(i, j)} mex(i, j )指[i

2017-01-13 16:04:24 734

原创 POJ 3744 概率 + 分段 + 数学推导 + 快速幂

传送门 :题解 这里把每两个mine之间分段, 每两个mine之间安全走过到末尾概率pi分别求出(快速幂), 越过的概率是pi*(1 - p)(一次走两步) 推导过程 AC code:#include<iostream>#include<cstring>#include<cmath>#include<iomanip>#include<cstdio>#include<alg

2017-01-09 18:01:28 501

原创 考前逆风浪

event: 新千年, 骑上小黄车, 去找找曾经的自己

2017-01-01 15:42:27 400

原创 HDU 4288 线段树 + 离线处理

传送门 :HDU 4288题解 先上代码, 候补AC code:#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>#include<vector>using namespace std;#define mid ((l + r) >> 1)#define ls rt << 1, l, mid#

2016-12-30 15:15:39 913

原创 HDU 4630 离线处理 + 树状数组

传送门 :HDU 4630题意 给定一个大小为n的排列和m个查询, 输出每个查询区间内最大gcd 最大gcd :区间内任取两个数使其gcd最大的gcd题解 最初想的是用一个vector存储查询区间的因子信息, 维护出现>=2的因子, T就暂时没想 对于一个区间[l, r]区间内a[l], a[l + 1]…a[r]都用各自的因子, 对于出现过两次以上的因子便是该区间的最大公约数

2016-12-28 16:12:57 635

原创 期末预习计划

如题 27 - 30离散, 高数中间有实验考试 31汇编 1 - 3号大英 4 - 5 数字逻辑 毛概。。。等题库看命

2016-12-26 22:03:01 457

计时javascript

js设计

2017-06-27

空空如也

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

TA关注的人

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