- 博客(320)
- 资源 (1)
- 收藏
- 关注

原创 数论-模板 (待更新)
质因数分解 在求解数论问题时, 经常会把一个整数分解为多个质数的乘积(形式唯一), 还有一些题目需要从它的质因数分解形式来考虑.质因数分解:x=∏i=1npaii(pi为不可分解的质因数)x = \prod_{i=1}^np_i^{a_i}(p_i为不可分解的质因数)eg: 12=2∗2∗3=22∗312 = 2 * 2 * 3 = 2^2*3 注: 不含的质因
2017-10-11 20:38:56
947

原创 uestc 811 GCD 杜教筛 + 自然幂和
传送门:UESTC 811这题思路出的还算快, 但是UESTC OJ评测卡了一天, 代码细节比较多, 调bug的时候都怀疑解法是不是又错了这题好像不好找题解题意1<=N<=10^10, 1<=K<=5求∑Ni=1∑Nj=1gcd(i,j)k\sum_{i=1}^N\sum_{j=1}^Ngcd(i, j)^k题解枚举gcd, 推下式子 ans=∑i=1N∑j=1Ngcd(i,j)k=2∑i=1N
2017-08-22 23:16:00
1130
3

原创 HDU 5608 莫比乌斯反演 + 莫比乌斯函数前缀和
传送门: HDU 5608 题解: 令 G(n) = n ^ 2 - 3 * n + 2 先反演得:f(n)=∑d|nG(d)∗u(nd)f(n) = \sum_{d|n}G(d) * u(\frac{n}{d})令: A(n)=∑i=1nf(i)A(n) = \sum_{i = 1}^nf(i) 则:A(n)=∑i=1nf(i)=∑i=1n∑d|iG(d)∗u(id)A(n) = \sum_
2017-08-06 18:15:37
1289
1

原创 javaWeb 简单注册登录(含数据库连接) -- (一)页面
说在前面:自己尝试下写了这个, 最近web学的东西都在里面了, 虽然还是很渣, 但也算第一步了, 我姑且算它为一个“项目”, 咳咳今天刚看到十年前一位学长的毕业设计报告(AOJ评测系统), 只能%%%, 不知道我毕业时能写出什么东西来项目知识点前端 HTML + CSS + JSWeb端: tomcat服务器、jsp、 Servlet、 上下文参数/属性、HTTP请求和相应 数据库
2017-07-03 23:44:56
67096
16

原创 回归平静是一种自我保护
今天AHU16级新面孔参加第一次算法课(ACM扫盲), 我作为一个老狗, 正在这个实验室里, 思绪怎么都收不住……脚踩实 大学以来, 为了证明自己我走了很多弯路, 也做过很多无谓的争斗, 虽然坚持到现在却发现以前给自己埋了不少坑ACM: 也就是去年这个时候, 刚进这个实验室, 对未来的挑战充满好奇、急于拿成绩证明自己。 去年省赛作为大一新生队伍出赛-被
2017-04-09 19:39:28
718
原创 LRU
#include <iostream>#include <list>#include <unordered_map>struct Node{ int v_; Node(int v) : v_(v) {}};class LRU{public: LRU(int capacity) : capacity_(capacity), size...
2022-08-31 10:01:00
132
原创 51nod 1449 砝码称重
Solution按位判断考虑w进制借位Sample Code#include <bits/stdc++.h>using namespace std;int w, m;void Do(){ if(w == 1) { cout << "YES" << endl; return; } in...
2021-09-22 15:13:00
124
原创 LeetCode 21-29题解
21 简单Solution模拟Sample Code/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode() : val(0), next(nullptr) {} * ListNode(int ...
2021-09-17 16:09:00
127
原创 LeetCode 11-20题解
11 中等Solution用i, j(i < j)表示选取的两条线位置, 则水量为\((j - i)* min(a_j, a_i)\)我们考虑固定选取的右侧j, 则左侧可选为1...j - 1设\(i \in [1, j - 1]\), 若存在 \(k \in [1, j - 1] \ \& \ k < i \ \& \ a_k >= a_...
2021-09-16 16:18:00
100
原创 LeetCode 6-10 题解
6 中等Soluion模拟规律题找同一行相邻两个字符再原字符串中的间隔Sample Code (map)class Solution {public: string convert(string s, int numRows) { if(numRows == 1) return s; string res = ""; int...
2021-09-15 10:03:00
66
原创 LeetCode 1-5题解
1 简单Soluionmap排序 + 双指针Sample Code (map)class Solution {public: map<int, int> mp; map<int, int> pos; vector<int> twoSum(vector<int>& nums, int target) { int len = nums.size(); for(int i = 0; i
2021-09-14 16:31:06
197
1
原创 LeetCode刷题重启博客
Motivation近两年没怎么刷题研二实践教学,目前任务还算轻松打算整点时间把LeetCode刷一遍,保持手感题解形式: 代码 + 口胡(活多的话各位就将就着看)尽量一天5道题, 就按序来工作日更新,也调整下目前懒散的学习状态...
2021-09-14 15:49:34
154
原创 数据结构-树
数据结构-树(上)定义特点基本术语二叉树(Binary Tree)二叉树的性质操作集数据结构-树(上)定义Tree = (D, H), D是具有相同特性的数据元素的集合, H是D上二元关系的集合, T满足如下定义ADT Tree{ 数据对象: D 数据关系: H 若D=∅D=∅D = \emptyset, H也为...
2018-04-30 15:24:44
538
3
原创 数据结构-串 & KMP
串串的定义及子串空白字符特点C语言字符数组和字符型指针串定义串的模式匹配算法AC自动机串 字符串的简称, 字符串本身就是一种数据结构, 由零个或者多个字符组成的有限序列(顺序存储结构)串的定义及子串定义 :在C语言中, 串可以用字符数组来定义:char str[] = "adrui";这里str 是串的名字, 串长为5 ,而s...
2018-04-02 13:22:19
471
原创 数据结构-栈
栈(Stack)栈顶和栈底栈的特性栈的存储结构顺序栈链栈栈的应用CodeUp 1743栈(Stack) 是一种限制存取点的线性表, 只能在一端进行插入或删除操作栈顶和栈底栈顶: 指栈中允许进行插入和删除操作的一端栈底: 栈的另一端栈的特性典型的先入后出栈的存储结构顺序存储结构: 顺序栈链式存储结构:...
2018-03-29 22:21:24
573
原创 数据结构-队列
队列(Queue)队首和队尾队列的特性队列的存储结构顺序队链队队列(Queue) 也是一种限制存取点的线性表队首和队尾队首: 队列允许进行删除操作的一端队尾: 队列允许进行插入操作的一端队列的特性 先入先出队列的存储结构顺序存储结构: 顺序队链式存储结构: 链队顺序队结构定义:ty...
2018-03-29 22:19:14
463
原创 线性表
线性表分类顺序表链表线性表 是一种逻辑结构, 不特指某一具体在内存中以某种物理结构存储的线性结构 线性表是指具有相同特性数据元素的有限序列分类[顺序表][链表]顺序表物理结构(在内存中存储方式):连续存储, 且静态分配数据域存放数据的data数组记录数据长度的length结构定义:/**ElemT...
2018-03-24 16:56:42
451
原创 About Me
My Info教育本科计算机在读(2015.9至今), ACM竞赛退役选手技能熟悉C++、Java等编程语言了解javaWeb并有一定开发经验熟悉数据结构与算法ACM相关算法, 擅(只)长(会)数论竞赛经历(ACM-ICPC)2015年10月接触Online Judge, 入坑2016年3月参加ACM校赛(超常发挥), 入校集训队2016年5月参
2018-01-27 18:15:19
412
原创 Codecraft-18 and Codeforces Round #458 (Div. 1 + Div. 2, combined) C】 Travelling Salesman and Specia
数位dp预处理1-1000中经过刚好经过k-1次变换到1的数. 然后搞一个数位dp, 当limit为false的时候可以在后面用组合数放置1. 要特判k==0(只有1满足)k==1(1不满足要减去)#include using namespace std;vectorint> vec;templateclass T>T read(){ T x = 0, f = 1;
2018-01-21 17:00:17
516
原创 Codeforces 893E 数论
#include <bits/stdc++.h>using namespace std;typedef long long ll;typedef vector<int> VI;const int N = 1000050;const ll mod = 1e9 + 7;template<class T>T read(){ T x = 0, f = 1; char ch = getch
2017-11-30 18:03:47
505
原创 Wannafly挑战赛4 E 二次剩余
题解p =2 特判a,bp!=2, 左边乘4-> (2x+a)2=a2−4b(modp)(2x+a)^2=a^2-4b(mod p) 所以有解的话a^2-4*b是模p的二次剩余, 此时设t^2 = a^2-4*b(mod p) 则2*x+a=t(mod p) 因为gcd(2, p) = 1, 扩展欧几里得定理可得一定有解#include <bits/stdc++.h>using
2017-11-24 23:10:19
463
原创 Wannafly模拟赛5 F Course
退役后刷的第一道题…题解:n!内某个因子a的指数: 每次轮流除以a, 当前商+剩余贡献即可 例: 9! : 9 / 3 = 3; 3 / 3 = 1 ans = 4对于[ka, ka + a - 1], 阶乘中因子a的指数相同定义cal(i,n)是i!中因子n的指数cal(i, n)是i!中因子n的指数 ans=∑i=1nmcal(i,n)=cal(nm,n)+∑i=1nm−1c
2017-11-07 14:33:22
947
原创 2017 CCPC 秦皇岛 G题
题意给定非负整数n, m(n < 10^1000, 1<= m < 10^100), 把n分成m个非负整数的和 ∑i=1mai=n(ai>=0)\sum_{i = 1} ^m a_i = n(a_i >= 0) 且使 a1 or a2 or a3 … or am最小题解1.对于任意i in [1, m] a1 or a2 or a3 … or am >= ai 当n % m == 0时
2017-10-30 18:22:01
1920
原创 hdu 6001 容斥 + dfs
题解不如代码代码:#include <bits/stdc++.h>using namespace std;typedef vector<int> vi;typedef long long ll;const int max_m = 1 << 15;const int max_n = 100001;const ll mod = 1e9 + 7;int n, m;char s[20];l
2017-10-11 12:58:50
850
原创 竞赛后学习目标
毕业设计个人博客系统, 参照(wordpress) 实现: javaWeb servlet + jsp -> ssm 框架 -> 前后端分离需求分析:发表博文(时间, 上次修改时间)、来访评论、删除评论 实现markdown 在线编辑 联系(qq, github, csdn, zhihu) music url 博文分类 主页…开写待更考研如题
2017-09-29 16:26:26
498
原创 Codeforces gym 101353 C 数论
题意:给定n个数, 每次操作可以选取一个a, 如果n个数中存在两个以上的数能被a整数, 那么n个数中所有能被a整除的数都要约去a这个因子, 直到不存在a可以继续操作….求最终n个数的最小公倍数, mod 1e9 + 1题解:对于某个质因子p来说,n个数对其进行分解可以得到n个指数, 记其最大值为m1,次大值为m2, 那么最终n的贡献为p^(m2 - m1)solution: 1. n<=3特判
2017-09-29 15:13:40
593
原创 给新生的一点入门建议
前言: 快退役了, 给这届新生再“卖弄”下, 也算是”废物利用”。有兴趣的萌新听完宣讲就行动起来吧, 早为新生赛做准备。 authur : adrui address:正文:Question: 算法竞赛编程能力是基础, 但是对于新手来说熟悉语法需要一定的时间, 而且不确定自己什么时候能开始做题目练习。 how to do?老狗建议: 边写题目边学语法, 为了解决问题而学习,
2017-09-27 18:43:23
790
原创 HDU 4002 数论
题解:设n=∏ni=1paiin = \prod_{i=1}^np_i^{a_i} 则ϕ(n)=∏ni=1paii(1−1pi)\phi(n)=\prod_{i=1}^np_i^{a_i}(1-\frac{1}{p_i})nϕ(n)=∏ni=11+1pi−1\frac{n}{\phi(n)}=\prod_{i=1}^n1 + \frac{1}{p_i-1}因为对于两个不同质数a,b(a < b)
2017-09-20 23:15:04
534
原创 codeforces 837E
题解首先我们知道 gcd(a,b)=gcd(a,a+b)f(a,b)=f(a,b−gcd(a,b))gcd(a, b) = gcd(a, a + b) \\f(a, b) = f(a, b - gcd(a, b))\\令b=k∗a+mb=k*a+m 则gcd(a,b)=gcd(a,m)gcd(a, b) = gcd(a, m) f(a,b)=f(a,k∗a+m−gcd(a,m))=k+f(
2017-08-30 13:48:47
936
原创 2017 CCPC 网络赛 1007
链接:HDU 6156题意给定l, r, L, R, 求∑Ri=L∑rj=lf(i,j)\sum_{i=L}^{R}\sum_{j=l}^{r}f(i,j) 其中f(i,j)={1[i在j进制下不是回文数]j[i在j进制下是回文数]f(i, j) = \left\{\begin{matrix}1[i在j进制下不是回文数] \\j[i在j进制下是回文数]\end{matrix} \righ
2017-08-20 14:08:47
1876
原创 51nod 1227
杜教筛#include <bits/stdc++.h>using namespace std;typedef long long ll;const int N = 1000001;const ll mod = 1e9 + 7;const ll inv = (mod + 1) / 2;const ll _6 = (mod + 1) / 6;const int mo = 2333333;bo
2017-08-07 18:52:24
426
原创 51nod 1237 杜教筛
题解参考1238code:#include <bits/stdc++.h>using namespace std;typedef long long ll;const int N = 1000001;const ll mod = 1e9 + 7;const ll inv = (mod + 1) / 2;const int mo = 2333333;bool isPrime[N];ll p
2017-08-07 18:51:14
471
原创 51nod 1238 杜教筛
传送门:51nod 1238题意求G(N)=∑i−1N∑j=1Nlcm(i,j) G(N) = \sum_{i - 1}^N\sum_{j=1}^Nlcm(i, j)题解首先G(N)=∑i=1N∑j=1Nlcm(i,j)=2∑i=1N∑j=1ilcm(i,j)−∑i=1Nlcm(i,i)=2∑i=1Ni∑d|i∑u=1idu[gcd(u,id)=1]−N(N+1)2=2∑i=1Ni∑d|iidϕ
2017-08-07 16:37:22
840
原创 HDU 6051原根 + 欧拉函数
题解: 主要是原根的幂表示[1, p - 1], 然后转换 hint里的公式: 找了一篇证明:http://blog.youkuaiyun.com/Clove_unique/article/details/53152473代码:#include <cstdio>#include <cstring>#include <algorithm>using namespace std;typedef l
2017-08-02 15:55:40
800
原创 HDU 6053 莫比乌斯反演
那道题想到枚举1e5以内的质因子, 但是会重复 然后队友提醒了mobius反演, 果然还是太菜了啊题解首先, 题目提到任意区间满足条件, 也就是gcd(b[1], b[2], b[3]…b[n]) >= 2 就行了, 很容易得出总的b数量为 sum=∏i=1na[i]sum = \prod_{i = 1}^n a[i] 而其中不满足条件的就是gcd(b[1], b[2]
2017-07-30 16:06:04
596
原创 javaWeb 简单注册登录(含数据库连接) -- (四) 用户登录请求与响应
这篇讲登录处理传进来什么user, pass判什么用户名是否存在基于1中已存在的情况下判断密码是否匹配响应页面login.jsp: 1. 当登录成功, 写一个新页面, 并显示该用户的Sno 2. 失败则在登录页面基础上 + 错误提示实现新建一个名为LoginServlet的servlet 代码;package adrui;import java.io.IOException;impo
2017-07-04 18:19:46
17303
4
原创 javaWeb 简单注册登录(含数据库连接) -- (三) 实现用户注册请求的响应
传进来什么根据第一篇 中js的逻辑判断(逻辑问题先不看), 基本的学号、账号和密码长度之类不符的都已经筛完了, 能够通过表单提交的参数值只有是否重复需要判断 如果未重复, 插入用户数据 同时要记录注册结果, 以页面的形式反馈给用户如何判断 1. 根据上一篇创建的user表信息可知, user表以User字段为主码, 所以要判断的就是传进来的user是否已经在user表的User字段值
2017-07-04 17:48:07
8614
4
原创 javaWeb 简单注册登录(含数据库连接) -- (二) MySQL数据库配置和连接
因为这个项目需要使用数据库, 下面就先讲数据库连接 使用的是MySQL数据库MySQL数据库连接环境什么的就不讲了, 网上都有 这个“项目”使用了一个user用户表, 信息如下 先插入一条用户数据: jdbc连接MySQL数据库:jdbc是用来执行sql语句的java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更
2017-07-04 16:40:37
14174
9
原创 javaWeb学习感悟和规划
近期学了点web,发现还是不能为了学而学学习的目的在于解决问题, 更多时候, 要根据问题来学习MVC模式一知半解, JAVA SE的知识不扎实, JDBC还不熟悉, 就想着学框架了...虽然是因为要赶项目进度的缘故...还是要脚踏实地的, 才能走得更远下一阶段学习规划J2SE基础 补全熟悉jdbc + 前端深入理解MVC模式, 私以为这是入门之重, 框架在小型应用中并不必要...
2017-06-29 20:30:00
63
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人