自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(45)
  • 资源 (4)
  • 问答 (1)
  • 收藏
  • 关注

原创 【单调队列】1012: [JSOI2008]最大数maxnumber

Think: 1知识点:单调队列单调栈 2题意:两种操作, 操作1:查询当前数列中末尾x个数中的最大值; 操作2:输入数x,将x加上前一次查询结果t(初始t默认为0)取模mod后插入到数列末尾 3方法分析: 1>维护一个不严格的单调递减队列,每次插入数x之后进行更新维护(重点),查询时直接输出link[tp-x](后x个数中的最大值),并记录输出值(查询值)1012: [JSOI2008

2017-08-25 11:33:16 406

原创 【思维】Cupcakes Gym - 101243E

Think: 1知识点:思维 2题意:n个学生去吃纸杯蛋糕,每次可以吃[1, ai]个,循环队列,一直到将蛋糕吃光,有一个懒惰的家伙,每次吃ai个,如果不足ai个则将其吃光,懒惰家伙的ai值是序列里最大的,规则时第一个吃蛋糕之前发现纸杯蛋糕没有的学生需要打扫卫生(蛋糕数量为0时由序列内的第一个学生打扫卫生),询问是否有可能使得懒惰的家伙打扫卫生 3分析:思维题,维护一个区间[l, r],表示到

2017-08-24 20:45:50 581

原创 【唯一分解定理】Sphenic numbers Gym - 101243G

Think: 1知识点:埃氏筛法+分解质因数 2题意:输入n(30≤n≤10467397),判断n是否可以分解为3个不同的质因数,若可以则输出YES,反之输出NO; 3分析:通过埃式筛法预处理素数,一直到筛选出大于2000000的素数,若n可以分解为3个素数则说明第三个素数必定小于等于n/2/3,预处理得到素数表之后将n质因数分解进行判断即可vjudge题目链接以下为Accepted代码#in

2017-08-24 19:49:57 397

原创 【贪心+二分查找】Office Keys CodeForces - 830A

Think: 1知识点:贪心+二分查找 2题意:n个人初始出发位置,m把钥匙放置位置,办公室位置p,询问在所有人取到钥匙之后到达办公室的最短时间 3反思: 1>初始忘记排序 2>最初选择的贪心策略无法得到全局最优解 4解题方法: 二分枚举逼近可能的最短时间,然后试探当前选择的时间是否可以满足所有人取到钥匙后到达办公室vjudge题目链接可参考博客以下为Accepted代码#includ

2017-08-22 10:55:39 476

原创 【线段问题创新思路】Hacker, pack your bags! CodeForces - 822C

Think: 1知识点:线段问题 2题意:n条线段,从其中选择2条线段长度(线段长度计算公式为r-l+1)之和为x的边权为最小的,若没有2条线段长度之和为x的,输出-1 3思路: 2 ≤ n, x ≤ 2e5,双重for循环暴力会超时,因此思考如何优化,借鉴前辈的思路,把所有的边正反记录两次,用sum[t]数组记录之前的可以作为前置匹配区间的区间长度为t的区间的最小权值 4提示(注意typ

2017-08-21 21:40:43 464

原创 【埃式筛法】My pretty girl Noora CodeForces - 822D

Think: 1知识点:埃式筛法+递推 2题意:n个女生参加选美大赛,每次分成n/x组,每组进行x*(x-1)/2次比较,然后晋级n/x名女生,不断分组,不断选拔,最终只留下1名女生作为冠军,f[n]表示n名女生决出冠军的最少比较次数(通过改变x可影响f[x]). 输入t, l , r (1 ≤ t < 1e9 + 7, 2 ≤ l ≤ r ≤ 5·1e6) 求解:t^0·f(l) + t

2017-08-21 19:36:43 392

原创 【线段树+dfs序】J - Assign the task HDU - 3974

Think: 1知识点:线段树+dfs序 2题意:输入一棵关系树,两种操作,C操作(查询结点x正在进行的工作(初始工作默认为-1)),T操作(结点x及其下属开始进行y工作) 3思路:通过dfs序将其转化为可以建为线段树的映射结点,进而进行线段树的查询和更新操作即可。(用每个节点的所包含的子节点段来当做线段树的节点,查找每个节点所包含的段可以用简单的DFS实现) 4反思:lazy标记没有很好理

2017-08-17 10:51:21 438

原创 【矩阵快速幂+二分】Matrix Power Series POJ - 3233

Think: 1知识点:矩阵快速幂+二分求解等比矩阵前n项和 2题意:输入一个矩阵,求解矩阵前n项和(S = A^1 + A^2 + A^3 + … + A^k.),模modvjudge题目链接以下为Accepted代码#include <cstdio>#include <cstring>#include <algorithm>using namespace std;const int N

2017-08-16 20:48:04 394

原创 【线段树左右衔接区间更新查找问题】I - Tunnel Warfare HDU - 1540

Think: 1知识点:线段树左右区间衔接更新查找问题 2题意:数,线段,三种操作,D操作(删除一个数),R操作(回复前一个删除的数),Q操作(查询一个数所在线段的最大连续线段长度)vjudge题目链接建议参考博客以下为Accepted代码#include <cstdio>#include <cstring>#include <algorithm>#include <stack>using

2017-08-16 17:42:48 434

原创 【线段树单点更新优化】H - Can you answer these queries? HDU - 4027

Think: 1知识点:线段树单点更新优化(优化条件(开根后平方数为1的结点不需要再次开根)) 2题意:两种操作:对一个区间所有数取其平方数;对一个区间所有数求和 3反思: 1>注意数据范围 2>注意输入区间是否合法,是否L一定会小于Rvjudge题目链接以下为Time Limit Exceeded代码——未加优化条件#include <cstdio>#include <cstring>

2017-08-16 12:05:45 300

转载 【离散化】【转载】

如果说今年这时候OIBH问得最多的问题是二分图,那么去年这时候问得最多的算是离散化了。对于“什么是离散化”,搜索帖子你会发现有各种说法,比如“排序后处理”、“对坐标的近似处理”等等。哪个是对的呢?哪个都对。关键在于,这需要一些例子和不少的讲解才能完全解释清楚。    离散化是程序设计中一个非常常用的技巧,它可以有效的降低时间复杂度。其基本思想就是在众多可能的情况中“只考虑我需要用的值”。下面我将用

2017-08-16 10:09:31 590

原创 编程错误(长久更新)

1.01:【线段树】左右儿子结点编号传入错误——2017.08.15 1.02:【线段树】存储数据未选择合适存储类型存储(爆int型)——2017.08.16 1.03:【线段树】未判断输入数据是否合法(是否存在L > R的情况)——2017.08.16 1.04:【线段树】区间更新操作时未将lazy标记down下去——2017.08.17 1.04:【博客链接】 1.05:【int类型乘

2017-08-15 10:25:23 424

原创 【线段树区间更新】Count the Colors ZOJ - 1610

Think: 1知识点:线段树区间更新 2题意:一条长度为8000的布条,每次输入xi, yi, ci, 表示将区间[xi, yi]染色为ci,询问最终状态每个颜色分别染了几段,按照index顺序输入 3反思: 1>左右儿子结点编号不要传入错误 4思考:先将区间[1, 8000]全部初始化为-1, 之后输入xi, yi, ci之后将区间[xi+1, yi]颜色更新为ci, 更新完成后,进行

2017-08-15 10:22:39 356

原创 【最大流-Dinic算法】B - Dining POJ - 3281

Think: 1知识点:【最大流-Dinic算法】+【建图】 2题意:输入N, F, D, 代表N头奶牛,F个食物,D个饮料,每头奶牛只吃喜欢的食物,只喝喜欢的饮料,询问最多有多少头奶牛可以满足食物和饮料各一个 3思路:/*1:[1, F]:食物结点编号2:[F+1, F+N*2]:奶牛结点编号3:[F+N*2+1, F+N*2+D]:饮料结点编号4:将奶牛拆点 u = F+i,

2017-08-14 22:01:39 450

转载 【最大流模板——Dinic算法】【有向图】

特殊声明:本模板摘自书籍《挑战程序设计竞赛(第二版)》/*用于表示边的结构体*/struct edge{ int to;/*终点*/ int cap;/*容量*/ int rev;/*反向边*/};vector <edge> G[MAX_V];/*图的邻接表表示*/int level[MAX_V];/*顶点到源点的距离标号*/int iter[MAX_V];/*当前弧

2017-08-13 21:40:31 448

转载 【初等数论】【转载】夜深人静写算法(五) - 初等数论

【特殊声明:本文为转载文章】 本文转载地址——感谢本文博主目录一、数论基本概念 1、整除性 2、素数 a.素数与合数 b.素数判定 c.素数定理 d.素数筛选法 3、因数分解 a.算术基本定理 b.素数拆分

2017-08-13 19:32:51 1862 3

原创 【暴力预处理+剪枝/bitset】Golf Bot UVALive - 6886

Think: 1知识点:暴力预处理+剪枝/bitset 2题意:输入n个数,查询m次,每次查询输入一个元素,判断这个元素是否可以由最初输入的n个数通过两个数相加或单独一个数得到,两个数相加时可选择同一元素进行相加vjudge题目链接以下为Accepted代码——暴力预处理+剪枝-9363ms#include <cstdio>#include <cstring>#include <algori

2017-08-11 20:42:39 393

原创 M - Help Jimmy POJ - 1661 ——dp

Think: 1知识点:dp 2动态转移方程dp[i][0]:表示从第i个木板左端点跳跃的当前最优解dp[i][1]:表示从第i个木板右端点跳跃的当前最优解vjudge题目链接以下为Accepted代码#include <cstdio>#include <cstring>#include <algorithm>using namespace std;const int inf = 0x3f

2017-08-11 11:34:30 289

原创 【dp】Making the Grade POJ - 3666

Think: 1知识点:dp+sort()快速排序 2状态转移方程dp[i][j]:i个数以b[j]作为第i个数的当前状态最优解;dp[i][j] = abs(a[i]-b[j]) + min(dp[i-1][k]) 1<=k<=n;以下为Accepted代码#include <cstdio>#include <cstring>#include <algorithm>#include <

2017-08-11 09:14:12 401

原创 I - The old Padawan Gym - 100285I——二分查找

Think: 1知识点:二分查找+前缀和 2题意:n个石子,m次发呆,每次发呆若手中石子足够掉落石子大于k,询问将所有石子拾到手中所需要的时间 3反思:多理解,多反思,多思考vjudge题目链接以下为Accepted代码#include <cstdio>#include <cstring>#include <algorithm>using namespace std;typedef lon

2017-08-10 20:58:00 365

原创 E - Just a Hook HDU - 1698——线段树区间更新+lazy标记

Think: 1知识点:线段树区间更新+lazy标记 2题意:在n个初始化点权为1的点的基础上进行区间更新,询问最终状态n个点的点权之和 3反思:当前题目lazy标记赋值更新vjudge题目链接以下为Wrong Answer代码——lazy标记更新错误#include <cstdio>#include <cstring>#include <algorithm>using namespace

2017-08-10 11:02:14 372

原创 Q - Phalanx HDU - 2859——基础dp-最大对称子矩阵

Think: 1知识点:基础dp-最大对称子矩阵 2题意:给定一个矩阵,寻找一个最大对称子矩阵,当前题目最大对称子矩阵定义可理解为沿当前子矩阵的次对角线元素对称 3思考:确定动态转移方程的过程可以抽象成根据题意条件将一个大问题不断缩小一直缩小到可以解决的小问题vjudge题目链接以下为Accepted代码#include <cstdio>#include <cstring>#include

2017-08-09 19:43:38 668

原创 P - FatMouse and Cheese HDU - 1078——dfs+记忆化搜索

Think: 1知识点:dfs+记忆化搜索 2题意:输入一个邻接矩阵,求一条递增路径,满足沿四个方向直线移动最多k步的条件,使得路径经过的点权之和最大vjudge题目链接以下为Accepted代码#include <cstdio>#include <cstring>#include <algorithm>using namespace std;const int inf = 0x3f3f3f

2017-08-09 17:33:50 397

原创 【区间dp】Treats for the Cows POJ - 3186

Think: 1知识点:区间dp 2题意:给定一个长度为n的序列,从1开始取n次,每次可以选取第一个结点或者最后一个结点,每次获取的价值为当前次数乘以选取的结点数值,询问经过n次选取后所获得的最大值 3思路:逆向思考,从最后一个获取的结点开始从里向外更新,逐渐恢复原始序列vjudge题目链接以下为Accepted代码#include <cstdio>#include <cstring>#i

2017-08-09 16:35:58 265

原创 J - FatMouse's Speed HDU - 1160——基础dp

Think: 1知识点:排序+最长上升子串+记录路径 2题意:寻找一个最长子串,使得重量w严格递增,速度c严格递减 3反思:注意排序后的路径记录和通过递归回溯输出路径vjudge题目链接以下为Accepted代码#include <cstdio>#include <cstring>#include <algorithm>using namespace std;struct Node{

2017-08-09 14:54:27 435

原创 I - 最少拦截系统 HDU - 1257——dp/数组模拟+二分

I - 最少拦截系统 HDU - 1257——dp/数组模拟+二分 某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统.但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能超过前一发的高度.某天,雷达捕捉到敌国的导弹来袭.由于该系统还在试用阶段,所以只有一套系统,因此有可能不能拦截所有的导弹. 怎么办呢?多搞几套系统呗!你说说倒蛮容易,

2017-08-09 11:28:02 362

原创 G - 免费馅饼 HDU - 1176 ——dp-金字塔

Think: 1知识点:dp 2题意分析:建立二维时间位置数组,然后从最后掉落时间开始,金字塔向上更新 3反思:注意不要数组越界,注意不同题目for循环更新方向不要习惯性i++vjudge题目链接以下为Accepted代码#include <cstdio>#include <cstring>#include <algorithm>using namespace std;int Max(in

2017-08-09 09:52:09 380

原创 D - A Short problem HDU - 4291——矩阵快速幂

Think: 1知识点:矩阵快速幂 2反思: 1>内嵌关系取模考虑循环节和矩阵快速幂 2>矩阵快速幂通过把数放到初始矩阵的不同位置,进而将普通的递推式转换为“矩阵的等比数列”,进而快速幂求解递推式 3>矩阵快速幂解题步骤: 第一步列出递推式 第二步建立矩阵递推式,找到转移矩阵vjudge题目链接以下为Accepted代码#include <cstdio>#include <cstri

2017-08-08 09:10:44 347

原创 A - Coder HDU - 4288——线段树

Think: 1知识点:预处理得到有序线段树结点对应关系进而逐渐建树 2题意:维护有序集合的插入操作/删除操作/求和操作vjudge题目链接以下为Accepted代码#include <cstdio>#include <cstring>#include <algorithm>using namespace std;typedef long long LL;const int N = 1e5

2017-08-07 21:47:16 312

原创 C - Monkey and Banana HDU - 1069——基础dp

Think: 1知识点:基础dp 2题意:询问n种箱子在满足 1>可以不同面为底 2>一个叠一个 3>叠的箱子中上面的箱子长和宽都严格小于下面的箱子的长和宽 4>无限个箱子 条件下能够叠的最高高度vjudge题目链接以下为Accepted代码——基础dp#include <cstdio>#include <cstring>#include <algorithm>using name

2017-08-07 11:24:48 403

原创 【map/桶记录/基础dp】Ignatius and the Princess IV HDU - 1029

Think: 1知识点:map/桶记录/基础dp 2题意:输入n个数,输出出现次数大于等于(n+1)/2的那个数vjudge题目链接以下为Accepted代码——map-421ms#include <cstdio>#include <cstring>#include <algorithm>#include <map>using namespace std;int main(){ i

2017-08-07 10:08:56 365

原创 A - Max Sum Plus Plus HDU - 1024——基础dp

Think: 1知识点:基础dp 2题意:n个数分成m部分的最大值二维表示dp[i][j]:j个数分成i部分的最大值状态转移方程dp[i][j] = max(dp[i][j-1]+a[j], max(dp[i-1][k])+a[j]), 0<k<j一维优化dp[j]数组表示前j个数分成当前i部分的最大值mav[j]数组表示第j层的最大值状态转移方程dp[j] = max(dp[j-1]

2017-08-07 09:33:50 553

原创 D - Mayor's posters——线段树区间覆盖+离散化

Think: 1知识点:线段树区间覆盖+离散化 2题意分析:竞选人需要在墙上贴宣传海报,海报高度相同宽度不一定相同,按照时间轴会出现覆盖,给定按照时间轴海报的起始位置和终止位置,询问在最终状态会展现多少海报,n([1, 10000]),(li, ri)([1, 10000000]),参考前辈博客,因l(ri-li+1)与n差值较大,因此需要离散化 eg1: 离散化前坐标:[1,6] [1.7

2017-08-04 10:56:41 425

原创 B - b UVALive - 6918——位运算

Think: 1知识点:位运算+数学归纳规律 2思考:相信自己,决不放弃vjudge题目链接以下为Wrong Answer代码——变量存储超出存储大小#include <cstdio>#include <cstring>#include <algorithm>#include <stack>using namespace std;typedef long long LL;int link1

2017-08-03 20:46:33 329

原创 C - A Simple Problem with Integers ——线段树_区间更新

Think: 1知识点:线段树-区间更新-区间查询-lazy标记 2题意分析:区间更新+区间查询 3反思: 1>单点更新会超时 2>lazy标记区间更新ACvjudge题目链接以下为Time Limit Exceeded代码#include <cstdio>#include <cstring>#include <algorithm>using namespace std;typedef

2017-08-03 10:51:32 276

原创 N - 畅通工程再续——最小生成树Prim算法+double精度

Think: 1知识点:最小生成树Prim算法+double精度 2反思: 1>题意判断条件需要明确清晰 2>注意编程细节,变量类型赋值要准确vjudge题目链接以下为Accetped代码#include <cstdio>#include <cstring>#include <algorithm>#include <cmath>using namespace std;const int

2017-08-02 20:01:31 368

原创 K - The Unique MST——判断一个连通无向图的最小生成树是否是唯一的

Think: 1知识点:判断一个连通无向图的最小生成树是否是唯一的+最小生成树_Prim算法+记录路径 2题意:给定一个连通无向图,判断这个连通无向图的最小生成树是否是唯一的 3错误反思: 4思路: 1>思路1:第一遍Prim算法求出路径最小权值和且记录路径,然后逐一试探删掉一条记录的路径之后图是否连通,若图连通则判断当前状态最小生成树最小边权和是否和之前的最小权值和相等,逐一遍历完成后若

2017-08-02 18:59:01 7488 1

原创 J - Borg Maze——bfs+最小生成树_Prim算法

Think: 1知识点:bfs+最小生成树_Prim算法 2题意:最短路径和连接所有’A’和’S’结点 3方法:对于每一个’A’和’S’结点通过bfs算法求出其与其它’A’和’S’结点的最短路径,建图,进而通过最小生成树_Prim算法连接这tp个结点,使其构成连通图vjudge题目链接以下为Accepted代码——63ms#include <cstdio>#include <cstring>

2017-08-02 15:26:55 512

原创 I - Agri-Net——最小生成树Prim算法

Think: 1知识点:最小生成树Prim算法 2题意:输入权值矩阵,求最小花费使得n个结点构成连通图vjudge题目链接以下为Accepted代码#include <cstdio>#include <cstring>#include <algorithm>using namespace std;const int inf = 0x3f3f3f3f;int e[114][114], vis[

2017-08-02 10:38:41 334

原创 H - Highways——最小生成树Kruskal算法+Prim算法

Think: 1知识点:最小生成树Kruskal算法+Prim算法 2思考: 1>多组输入超时,单组输入AC——why??? 2>排序时结构体内重载小于号快于再单独写cmp判断函数 3题意:需要使得n个结点构成连通图,已知有m个结点已经连接,询问最小花费构成连通图还需要连接那些结点 4思路: 1>Kruskal算法:先预处理所有结点距离,预处理结点距离时将其入队,之后按照权值排序,然后

2017-08-02 10:09:39 532

Hive安装,使用MySQL作为元数据库

apache-hive-1.2.1-bin.tar.gz mysql-connector-java-5.1.6-bin 用于安装Hive并使用MySQL作为元数据库

2019-09-08

mysql + navicat for mysql

1.mysql-5.5.37-win32 2.Navicat for MySQL 3.所提供的资源仅用于学习,如果商用请到官网下载正版软件

2019-01-22

navcat for mysql 含注册码

navcat for mysql 中文破解版 含注册码。下载完成后,找到程序,点击运行,进入注册页面,填入注册码即可

2018-07-24

【ACM比赛模板积累ing】O(n)回文子串(Manacher)算法

ACM比赛模板积累,Manacher算法,时间复杂度O(n),可适应于求输入串的最长回文子串

2017-10-08

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

TA关注的人

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